Theo mình được biết vì C# tự động 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ì có thể dùng các tool, hoặc là bao bọc các đoạn mã C# trong các đoạn mã unsafe.Không biết còn cách nào nữa không?
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.
Sống để code, chứ không code để sống!
Theo mình được biết vì C# tự động 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ì có thể dùng các tool, hoặc là bao bọc các đoạn mã C# trong các đoạn mã unsafe.Không biết còn cách nào nữa không?
Cánh Chym ứ mỏi
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/c...rs-obfuscators
Lý do chính mà các DLL có thể dịch ngược là bởi việc thiết kế .NET nhúng rất nhiều metadata vào các file thực thi, bằng cách sử dụng MSIL (Microsoft Intermediate Language)
Thêm :Đ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).Code:http://en.wikipedia.org/wiki/Common_Intermediate_Language
Để 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 :Để chóng dịch ngược = các tool dịch ngược. Mình thường dùng Dis# để dịch ngược các DLL, kể các DLL built in trong Visual Studio .NET và 1 số library như Ent Lib 4.0.....Code:http://www.smartassembly.com/
Việc secure code là rất quan trọng, cho nên để chóng dịch ngược thì chúng ta nên biết kỹ thuật Obfuscation
Best,
QuachNguyen
Đã được chỉnh sửa lần cuối bởi quachnguyen : 19-08-2008 lúc 06:46 PM. Lý do: quachnguyen
Theo tui thì nên code cho tốt rồi tính đến chuyện bảo mật.
"too much technology, in too little time. And little by little ... we went insane " (http://www.awarenetwork.org>).
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
Sống để code, chứ không code để sống!
Bảo vệ, chống dịch ngược mã nguồn .Net hiệu quả nhất
Đối với những lập trình viên phần mềm, hay các 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 và tiền bạc mới có được. Đối với các 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 chức năng thế mạnh đặc biệt của phần mềm trước những công ty cạnh tranh 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 nhược điểm của PEPacker là chỉ mã hóa bảo vệ được file EXE viết bằng .Net và dung lượng file nhỏ hơn 4MB, còn lớn hơn 4Mb 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 ( Email : aiglevn@gmail.com 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à mạnh mẽ có thể mã hóa bảo vệ file DLL và EXE với dung lượng file không hạn chế và hỗ trợ tất cả các ngôn ngữ .Net, tất cả .Net Framework từ 1.1 đến 4.0.
Mình sẽ nhận mã hóa các file EXE hay DLL như vậy, với các file nhỏ thì mình có thể giúp đỡ làm free, còn với các file lớn thì tất nhiên sẽ thu phí, nhưng đảm bảo hiệu quả 100%. Sau khi nhận lại file đã mã hóa các bạn có thể dùng các 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
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á.
Khi bạn cầm trên tay một món hàng Trung Quốc là bạn đang giúp Trung Quốc có thêm những viên đạn, những khẩu súng để bắn vào người Việt Nam.
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.
ĐT : 0906.83.71.25
email : vn8hien62@yahoo.com
http://diendan.congdongcviet.com/threads/t334310::chu-quoc-ngu-da-lac-hau-chua.cpp?p=815219#post815219