thuchobietView Full Version : Vấn đề bảo mật thông tin thông tin code C # thuchobiet
Hôm qua tui lại nhà thằng bạn chơi và có đem cho nó xem 1 chương trình tui viết.
Tui nghĩ code mình được bảo mật tốt (chuyển về DLL hết) nhưng kô ngờ nó bảo vẫn có thể xem được và nó đưa tui xem chương trình Reflector.
Quả thật chương trình này hoàn toàn có thể xem được code của mọi file miễn là viết trên nền .Net
Liệu có cách nào để tránh điều này kô?
Tui định chuyển sang một ngôn ngữ có tính bảo mật cao hơn (vì một số tool Patch lại kô hỗ trợ .Net)
Xin mọi người cho ý kiến.
dieucay555Theo mình được biết vì C # tự động hóa sinh code rất nhiều và do biên dich thành IL trước nên rất dễ bị dịch ngược. Muốn bảo vệ code thì hoàn toàn có thể dùng những tool, hoặc là phủ bọc những đoạn mã C # trong những đoạn mã unsafe. Không biết còn cách nào nữa không ?
langtugacon
Việc dịch ngược được dll thành file code là việc đơn giản, tuy nhiên file code sinh ra thường rất khó hiểu, do không có comment và tên biến tất nhiên là được đặt tự động.
Có thể dùng một số tool làm cho code dịch ngược ra trở nên vô cùng khó hiểu hoặc không thể compile lại. Tham khảo : http://sharptoolbox.com/categories/code-protectors-obfuscators
quachnguyenLý do chính mà những DLL hoàn toàn có thể dịch ngược là bởi việc phong cách thiết kế. NET nhúng rất nhiều metadata vào những file thực thi, bằng cách sử dụng MSIL ( Microsoft Intermediate Language )
Thêm :
http://en.wikipedia.org/wiki/Common_Intermediate_Language
Điều này gây ra việc dể được dịch ngược lại, bởi việc sử dụng ILDASM ( MSIL Disassemble ) của Microsoft, hoặc Reflector ( hảng thứ 3 ) .Để tránh việc biên dịch ngược thì mình dùng kỹ thuật Obfuscation, và dùng công cụ DotFuscator ( Visual Studio Tool ). Hoặc 1 third party là Smart Assembly
See :
http://www.smartassembly.com/
Để chóng dịch ngược = những tool dịch ngược. Mình thường dùng Dis # để dịch ngược những DLL, kể những DLL built in trong Visual Studio. NET và 1 số library như Ent Lib 4.0 … ..Việc secure code là rất quan trọng, do đó để chóng dịch ngược thì tất cả chúng ta nên biết kỹ thuật Obfuscation
Best,
QuachNguyen
noobvcTheo tui thì nên code cho tốt rồi tính đến chuyện bảo mật thông tin .thuchobiet
Thank các bạn đã nhiệt tình giúp đỡ!
Còn việc code tốt hay kô thì kô quan trọng, vì theo tui dù đoạn code có tốt hay kô thì ta đều muốn bảo mật nó nếu nó đúng do mình viết ra (tốt thời gian suy nghĩ + code) –> Vài lới cùng bạn noobvc
aiglevnBảo vệ, chống dịch ngược mã nguồn. Net hiệu suất cao nhấtĐối với những lập trình viên phần mềm, hay những công ty phần mềm, thì việc bảo vệ mã nguồn ( source code ) chương trình hay DLL là rất quan trọng, nhất là với những mã nguồn quan trọng, mất rất nhiều công sức của con người và tài lộc mới có được. Đối với những công ty phần mềm thì nó còn có một ý nghĩa quan trọng hơn là bảo vệ những tính năng thế mạnh đặc biệt quan trọng của phần mềm trước những công ty cạnh tranh đối đầu khác .
Ở đây mình đã tìm được một công cụ bảo vệ mã nguồn .Net rất hiệu quả là PEPacker (free)
Link download
http://www.easy-share.com/1910390671/PEPacker.exe
Nhưng điểm yếu kém của PEPacker là chỉ mã hóa bảo vệ được file EXE viết bằng. Net và dung tích file nhỏ hơn 4MB, còn lớn hơn 4M b thì nó bó tay .Nếu bạn là một lập trình viên hay công ty phần mềm muốn bảo vệ mã nguồn phần mềm viết bằng. Net, hãy liên hệ với mình ( E-Mail : [ email protected ] hoặc nick skype, yahoo : aiglevn ), mình hiện đang có một chương trình rất chuyên nghiệp và can đảm và mạnh mẽ hoàn toàn có thể mã hóa bảo vệ file DLL và EXE với dung tích file không hạn chế và tương hỗ tổng thể những ngôn từ. Net, toàn bộ. Net Framework từ 1.1 đến 4.0 .Mình sẽ nhận mã hóa những file EXE hay DLL như vậy, với những file nhỏ thì mình hoàn toàn có thể giúp sức làm không lấy phí, còn với những file lớn thì tất yếu sẽ thu phí, nhưng bảo vệ hiệu suất cao 100 %. Sau khi nhận lại file đã mã hóa những bạn hoàn toàn có thể dùng những chương trình dịch ngược code như Reflector 6.1, …. để test lại .Cám ơn đã đọc bài viết của mình 🙂itkttn
Theo tui thì nên code cho tốt rồi tính đến chuyện bảo mật.
Mình kết nhất câu này. Hồi trước cũng đã từng hí hoáy bảo mật này kia. Sau này đi làm thì không biết thế nào chứ bây h thì chia sẻ.
Việc bảo mật này chắc chắn các công ty đã lo hết rồi. Nếu mình học được cách bảo mật thì tốt thôi, nhưng nếu không học được thì cũng chẳng sao.
Nước ngoài có những chương trình rất lớn nhưng open source cho mọi người tham khảo, học hỏi. Còn nước mình thì ít quá.
SMHN
Hôm qua tui lại nhà thằng bạn chơi và có đem cho nó xem 1 chương trình tui viết.
Tui nghĩ code mình được bảo mật tốt (chuyển về DLL hết) nhưng kô ngờ nó bảo vẫn có thể xem được và nó đưa tui xem chương trình Reflector.
Quả thật chương trình này hoàn toàn có thể xem được code của mọi file miễn là viết trên nền .Net
Liệu có cách nào để tránh điều này kô?
Tui định chuyển sang một ngôn ngữ có tính bảo mật cao hơn (vì một số tool Patch lại kô hỗ trợ .Net)
Xin mọi người cho ý kiến.
Xin chào bạn. Theo mình thì bạn có thể dùng khoá cứng đế bảo vệ phần mềm của mình. Vừa có thể chống việc ăn cắp bản quyền, hơn nữa khoá cứng còn cung cấp công cụ mã hoá để chống lại việc decode.
Xem thêm: Top 5 phần mềm phân tích kỹ thuật forex
Van8Hien62
Khóa cứng, khóa mềm sao bằng khóa trung gian (IL).
//
Thấy được IL là viết lại được cả phần mềm. Lúc đó các khóa đều vô ích.
vBulletin ® Version 4.2.2, Copyright © 2022 vBulletin Solutions, Inc. All rights reserved. Administer by Kevin Hoang
Source: https://bacxiunong.com
Category: Blog