Archive for the ‘[IDA Plugin] Snowman’ Category

[IDA Plugin] Snowman

Posted: September 19, 2015 in [IDA Plugin] Snowman
Tags:

Home site: http://derevenets.com

Snowman (tên cũ trước đây là SmartDec), là một plugin hoàn toàn miễn phí, cung cấp khả năng dịch ngược về mã nguồn gốc C/C++ tương tự như plugin nổi tiếng HexRays, hỗ trợ đa nền tảng như x86, AMD64, và ARM. Plugin này tích hợp hoàn toàn với giao diện của IDA, hỗ trợ cho phép dịch ngược một hàm được lựa chọn hoặc toàn bộ chương trình chỉ bằng một phím tắt (nói theo ngôn ngữ teen bây giờ là “dịch ngược trong vòng một nốt nhạc” 😀 ) và dễ dàng chuyển đổi qua lại giữa mã disassembler và mã đã được dịch ngược.

Phiên bản mới nhất của Plugin là v0.0.8 (17 September 2015), hỗ trợ các phiên bản IDA 6.3-6.8:

  • x86: automatic choice between AMD64 and MSVC 64-bit calling conventions.
  • PE parser: added parsing of exports (thanks to Jeff Muizelaar).
  • ELF parser: fixed reading of section headers in big-endian executables (thanks to Markus Gothe for reporting).
  • Improved LikeC code simplification: support for the index operator, special treatment of expressions in the boolean context, simplification of mathematical identities.
  • Improved and corrected reconstruction of expressions.
  • Fixed an error in the structural analysis leading to assertion failure during code generation.
  • ASCII strings detection is now more pessimistic.
Để sử dụng, tải plugin tại đường dẫn sau: http://derevenets.com/files/snowman-plugin-v0.0.8-win-qt4.8.7z. Sau đó giải nén và copy vào thư mục plugins của IDA. Sau khi load chương trình vào IDA để phân tích, lựa chọn hàm cần dịch ngược và nhấn phím tắt của plugin là F3.
 SnowmanHình minh họa
PS: Hiện tại, nhóm tác giả của plugin đang nỗ lực để hoàn thiện plugin này nhằm tạo ra mã tốt hơn (tham vọng chắc là phải tương đương HexRays 🙂 ), giao diện tiện lợi hơn và hỗ trợ thêm nhiều nền tảng khác nữa. Trong quá trình sử dụng nếu có vấn đề gì liên quan có thể góp ý tại đây: https://github.com/yegord/snowman
Regards,
m4n0w4r