Yêu cầu thg 10 22, 2018 3:41 SA 8462 2 1
  • 8462 2 1
+1

Decompile C# exe file

Chia sẻ
  • 8462 2 1

Như tiêu đề, dạo này em có nghiên cứu Decompile C# exe file bằng các công cụ như JustDecompile, dotPeek, ILSpy...Tuy nhiên những tool này chỉ decompile được các file exe chưa được bảo vệ. Vây thì những file mà được bảo vệ thì người ta sẽ dùng cách gì để Decompile được mọi người nhỉ. Mặc dù em biết decompile là không tốt, nhưng sự tò mò của tuổi trẻ đã thôi thúc em đi hỏi mọi người. Ai biết thì chia sẻ cho em với ạ Thanks mọi người, chúc sức khỏe

1 CÂU TRẢ LỜI


Đã trả lời thg 10 22, 2018 3:55 SA
Đã được chấp nhận
+13
  • Đối với các file đã được bảo vệ thì trên thị trường có rất nhiều các Obfuscator và Packer khác nhau với nhiều kĩ thuật khác nhau: ctor, anti-reverse, anti-debug, unicode string renaming, junk code, dynamic code loading .... Bạn có thể tham khảo thêm ở 1 số paper VD như: https://www.welivesecurity.com/wp-content/uploads/2015/09/Hartung-VB20151.pdf hoặc Google với từ khoá "Dot Net obfuscator packer technique"
  • Sau khi đã biết các Obfuscator và Packer dùng kĩ thuật gì rồi thì có thể tìm cách đảo ngược (reverse engineering) hoặc các phương pháp phân tích (static/dynamic analysis, memory dumping, breakpoint tại các điểm mà packer chạy load/unload encrypt/decrypt code, ...) bằng tay hoặc bằng tools.
  • Tools hay dùng nhất (hỗ trợ nhiều packer khác nhau) mình được biết là: https://github.com/0xd4d/de4dot
  • Đối với các Packer khác nhau có thể có tool riêng VD: https://github.com/maddnias/ConfuserDeobfuscator
  • Cũng có thể unpack bằng tay như ở VD dưới đây: https://blog.talosintelligence.com/2017/12/recam-redux-deconfusing-confuserex.html
Chia sẻ
Avatar Chickencode @anonymousvn
thg 10 22, 2018 7:16 SA

Em cám ơn ạ

thg 3 10, 2019 5:44 SA

Với những phần mềm obfuscator với việc chống debug thì làm sao có thể dịch ngược code lại đc? mong bạn hướng dẫn. cám ơn

thg 3 11, 2019 1:36 SA

@vongcohay về cơ bản các bước vẫn là:

  • Detect xem họ sử dụng obfuscator nào
  • Xem obfuscator sử dụng kĩ thuật gì, đối với các kỹ thuật hầu hết sẽ có cách đối phó tương ứng. VD: packer có thể mã hoá code, khi nào chạy thì mới bắt đầu giải mã. Ta cần breakpoint tại thời điểm code vừa được giải mã sẽ có được source code gốc, v.v.. Bạn đọc thử link mình share ở trên để hiểu thêm nhé.
Avatar Tuan Nguyen @tuanntvcu94
thg 10 16, 2020 2:03 SA
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí