Từ 1 tới 10 trên tổng số 10 kết quả

Đề tài: Vấn đề bảo mật code C#

  1. #1
    Ngày gia nhập
    10 2007
    Bài viết
    66

    Wink Vấn đề bảo mật code C#

    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!

  2. #2
    Ngày gia nhập
    11 2007
    Nơi ở
    Biết để làm gì?
    Bài viết
    827

    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

  3. #3
    No Avatar
    langtugacon Khách

    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

  4. #4
    Ngày gia nhập
    03 2007
    Bài viết
    30

    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 :
    Code:
    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 :
    Code:
    http://www.smartassembly.com/
    Để 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.....

    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

  5. #5
    Ngày gia nhập
    04 2007
    Bài viết
    15

    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>).

  6. #6
    Ngày gia nhập
    10 2007
    Bài viết
    66

    Mặc định Vấn đề bảo mật code C#

    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!

  7. #7
    Ngày gia nhập
    02 2008
    Bài viết
    2

    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

  8. #8
    Ngày gia nhập
    07 2009
    Nơi ở
    Tp.HCM
    Bài viết
    238

    Trích dẫn Nguyên bản được gửi bởi noobvc Xem bài viết
    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á.
    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.

  9. #9
    Ngày gia nhập
    02 2016
    Bài viết
    0

    Mặc định Dùng khoá cứng để bảo vệ phần mềm

    Trích dẫn Nguyên bản được gửi bởi thuchobiet Xem bài viết
    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.

  10. #10
    Ngày gia nhập
    06 2015
    Nơi ở
    Lagi - Bình Thuận
    Bài viết
    1,558

    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

Các đề tài tương tự

  1. Tại sao lại bỏ Store Proceduce nếu code theo hướng Code First trong MVC3
    Gửi bởi rogerminh2401 trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 5
    Bài viết cuối: 02-11-2012, 08:22 PM
  2. Trả lời: 5
    Bài viết cuối: 27-04-2012, 07:51 PM
  3. compiler Warning: Unreachable code và chạy sai trong khi code đúng. Vì sao?
    Gửi bởi lovemoney trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 19
    Bài viết cuối: 19-01-2012, 10:02 PM
  4. Bài tập C++ Nhập code và name sv vào in ra thì name in đúng nhưng code thì in ra cả 2 code lẫn name
    Gửi bởi spacy0212 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 27-09-2011, 08:47 AM
  5. Code quản lý sinh viên bằng danh sách lối vòng. Giúp mình thay đổi code kế thừa?
    Gửi bởi caocanha trong diễn đàn Thảo luận, góp ý code C/C++ của bạn
    Trả lời: 6
    Bài viết cuối: 04-05-2009, 03:39 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn