吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4230|回复: 0
收起左侧

[Disassemblers] distorm Powerful Disassembler Library For AMD64

[复制链接]
Hmily 发表于 2010-10-8 17:35
IDA,">Welcome to the diStorm3 binary stream disassembler project!
News

Sept 21st 2010:

Added a new field to indicate which register-classes are used in the operands of the instruction. Hence, instead of scanning the operands of an instruction to find a specific register, you can use this mask to know immediately whether that register is used in one of the operands...

Sept 10th 2010:

Added a new flow-control flag to detect CMOVxx instructions. Also added a RIP-relative flag which indicates when the instruction uses RIP-relative memory indirection in 64 bits; with the corresponding helper macro: INSTRUCTION_GET_RIP_TARGET. And wrote a new wiki page about Tip&Tricks for using diStorm3 efficiently.


Featrues

- no more parsing strings :)

diStorm disassembles instructions in 16, 32 and 64 bit modes. Supported instruction sets: FPU, MMX, SSE, SSE2, SSE3, SSSE3, SSE4, 3DNow! (w/ extensions), new x86-64 instruction sets, VMX, AMD's SVM and AVX!

The output of new interface of diStorm is a special structure that can describe any x86 instruction, this structure can be later formatted into text for display.

diStorm is written in C, but for rapidly use, diStorm also has wrappers in Python/Ruby and can easily be used in C as well. It is also the fastest disassembler library!

The source code is very clean, readable, portable and platform independent (supports both little and big endianity). diStorm solely depends on the C library, therefore it can be used in embedded or kernel modules.

Note that diStorm3 is backward compatible with the interface of diStorm64 (however, make sure you use the newest header files).

If you have more ideas, please let me know!


Documentation

Please read the documentation before asking questions, everything you need is pretty much here! Don't forget that diStorm is open source and you can always take a look to understand how to do one thing or another, but don't do it before you really have to.

For using diStorm in C refer to the CSample and it's very important to understand the API too, SimpleInterface. However, if you want to use diStorm in Python refer to the Python example.

Since diStorm3 has a new interface you can learn more about it, starting with the Showcases to get some idea what to expect from using the decompose functionality. Then you better see how the Structure_Layout is and once you get a clue, continue to the must read DecomposeInterface.

If you feel it's enough for you and you want to jump into the water and start coding, here are a few Tips&Tricks that are going to make your life easier while using diStorm.

For advanced users who wish to use diStorm for real flow control analysis, this is your guide: Flow_Control_Support.

As always, since diStorm is a stream disassembler there are some pitfalls that you may encounter, therefore this page StreamDisassembler might give you some ideas of good practices.

If you wish to compile/build diStorm on your own, on whatever platform, refer to Build_Compilation_Environment.

For learning a bit about x86/x64 machine code, see x86_x64_Machine_Code. And if you want to get a depth knowledge of how the internals of diStorm work, refer to diStorm_Internals, though it's not up to date with diStorm3, it should give you a good idea how to start hacking your way around


http://code.google.com/p/distorm/

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-17 02:04

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表