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

Đề tài: Cách phát hiện chương trình có bị debug hay không

  1. #1
    Ngày gia nhập
    07 2011
    Bài viết
    18

    Mặc định Cách phát hiện chương trình có bị debug hay không

    Các anh cho em hỏi làm sao để phát hiện chương trình mình đang chạy có bị 1 debugger nào đó kiểm soát hay không.Chứ không thì họ có thể đoán được ý đồ của chương trình mình cả.

  2. #2
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Mình thấy mấy bạn vừa viết được chương trình nào ngay lập tức là pack, protect, anti debug này nọ. Mình nghĩ là ko nên tốn thời giờ vô bổ như thế. Những packer, protector khủng nhất hiện nay cũng đã bị reverse. Hiện giờ phe reverse vẫn đang thắng thế, và mình nghĩ trong tương lai cũng thế thôi. Chính bạn code chương trình, bạn nhìn vô olly thấy cái này, thấy cái nọ nên sợ người khác thấy. Nhưng nếu người ko biết gì về chương trình của bạn thì họ ko thấy rõ như bạn thấy đâu. Nếu người nào gà thì họ có lấy olly hay windbg ra debug chương trình của bạn thì họ cũng chẳng hiểu gì cả. Còn nếu gặp pro thì bạn đừng bảo vệ chi cho mất công. Bạn chỉ làm mất thời giờ của họ thôi chứ ko thể ngăn cản họ reverse chương trình của bạn đâu.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  3. #3
    Ngày gia nhập
    08 2011
    Bài viết
    98

    Trích dẫn Nguyên bản được gửi bởi prefix Xem bài viết
    Các anh cho em hỏi làm sao để phát hiện chương trình mình đang chạy có bị 1 debugger nào đó kiểm soát hay không.Chứ không thì họ có thể đoán được ý đồ của chương trình mình cả.
    Khi phần mềm(mẫu .... không dám nói) của bạn vào tay của các debugger rồi thì coi như "chết" chắc.Có antidebug,anti reverse thì cũng để kéo dài tuổi thọ chứ sống sót sao được.

    Về kỹ thuật antidebug thì có nhiều phương pháp từ đơn giản đến phức tạp.
    Đơn giản nhất là check xem các API của debug có được gọi không.Như check IsDebuggerPresent chẳn hạn.Kiểm tra phần mềm chạy trong explorer không.Ngoài ra có thể check các offset của PEB như ở vị trí gì đó k nhớ là BeingDebugged có được bật không ...
    Phức tạp hơn là các cách phức tạp hơn như Virtual Machines,...

    Mà nói chung là tập code đàng hoàng trước đã.Mấy cái này chỉ là vài cái trick nhỏ nhỏ,khó mà qua mặt được các debbugger cứng tay với 1 đống plugin đi kèm theo các trình debug(như olly chẳn hạn)
    Nghe Metal và dịch thơ
    lttqstudy.wordpress.com

  4. #4
    Ngày gia nhập
    07 2011
    Bài viết
    18

    em hiểu rồi.Thank các bác

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

  1. Lỗi debug
    Gửi bởi trungphua trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 5
    Bài viết cuối: 24-10-2012, 11:19 PM
  2. Lỗi khi debug chương trình C#: "Visual Studio cannot start debugging because the debug target"
    Gửi bởi Rongcon.com.vn trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 09-05-2012, 08:46 PM
  3. [VS 2010]Khi debug bị lỗi không cho chạy debug trước đó
    Gửi bởi buxu trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 2
    Bài viết cuối: 08-04-2012, 04:25 PM
  4. lỗi khi chạy debug | fatal error LNK1104: cannot open file "Debug/vd1.exe"
    Gửi bởi duytuyen26 trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 8
    Bài viết cuối: 05-04-2012, 08:51 PM
  5. #ifdef DEBUG.......#endif câu lệnh debug
    Gửi bởi RadiRadic trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 3
    Bài viết cuối: 07-07-2009, 10:58 AM

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