Hex-Rays二进制代码分析工具
IDA Pro& Hex-Rays decompiler
荷兰Hex-Rays公司的二进制分析工具能够帮助分析员更快捷的判断软件的有用性和可用性,定位安全问题。该工具的适应范围是安全软件提供商、防病毒公司、漏洞研究机构、军队和政府等组织。
由于源代码往往被视为商业秘密,因此,分析员们在得不到源代码的情况下,只能通过执行二进制代码来进行分析。而IDA Pro和Hex-Rays decompiler的出现使分析员们不再阅读费解的二进制代码,它们将二进制代码转换成分析员们容易可以读取和修改的文本,从此,软件安全行业可以依靠这项转换,分析和验证的程序。
IDA Pro
IDA Pro 是一种交互式的、 可编程的、 多处理器的反汇编(disassembler)工具。作为反汇编工具,在不可获得源代码的情况下,IDA Pro 通过研究二进制程序,建立执行程序间的映射关系。
反汇编工具IDA Pro的重要意义在于它将处理器实际执行的指令用符号型的语言——汇编语言表示了出来。比如你刚刚安装的屏幕保护程序实际上内嵌了偷窥你电子银行服务会话或记录您的电子邮件的间谍程序,那么利用这个反汇编工具你可以很容易的发现这段不该执行的程序。
IDA Pro 的另一个重要作用是它可以作为一个本地或远程的调试器使用,可以用于各种80X86(如常见的Windows/Linux)和ARM 平台(如常见的 Windows CE PDA)。IDA Pro的调试功能是反汇编工具静态分析功能的有效补充,通过单步调试代码,它能够获取比静态分析更深层次的信息。
IDA Pro 也是检查软件安全漏洞的理想工具。它通过对中断的分析,帮助漏洞研究工程师寻找那些潜伏在软件中的安全漏洞,这些漏洞有可能是已知的,也有可能是尚未被攻击者或其它研究机构发现的,从而减少软件遭受攻击的风险。
Hex-rays decompiler
事实上,汇编语言还是比较难于理解的,而反编译程序Hex-Rays decompiler(简称:decompiler或反编译器)可以将汇编语言转换成更高层的可读文本。相对于反汇编(disassemblers)的输出,反编译器Hex-Rays decompiler的输出更接近分析员们的读、分析、修改等需求,其输出的语言类似于高级编程语言,一般c/c++程序员就能很容易的理解。相对于低层次的汇编语言,decompiler的输出具有以下优势:
- 将低级别的语言转换成高级别的语言,使分析人员无需了解汇编语言也能够进行代码分析
- 输出结果的语法简洁,类似c语言,易于分析员阅读、分析
- 不同于指令流输出方式,decompiler的输出是结构性的,程序的逻辑结构更明显
|