首页 > 汇编语言 > 汇编与C语句 阅读:57,774

反汇编引擎

反汇编引擎就是将二进制程序代码还原成汇编代码的这样一种工具。因为程序编译完成之后,是以二进制存在的。二进制犹如天书,很难读懂。因此,可以使用反汇编引擎将二进制还原成可以阅读的汇编指令。在实际的HOOK,逆向,调试等方面,会经常使用到反汇编引擎。常见的反汇编引擎有:

XDE

BeaEngine(X32/x64)

Libdasm

下面这段代码,就是调用XDE反汇编引擎中的函数xde_disasm()将指针p所指内存中的二进制代码进行反汇编,还原成汇编指令的过程:

struct xde_instr instr;

while (totalLength < 5)

{

              length = xde_disasm(p+ totalLength, &instr);

              if (length == 0)

              {

                     return STATUS_UNSUCCESSFUL;

              }

              totalLength += length;

}

它的作用就是在p所指的位置,找到连续的汇编指令,使得这些指令长度之和大于等于5个字节,以便能容纳一条jmp 指令(5个字节),从而实现HOOK的指令替换。

周哥教IT,分享编程知识,提高编程技能,程序员的充电站。跟着周哥一起学习,每天都有进步。

通俗易懂,深入浅出,一篇文章只讲一个知识点。

当你决定关注「周哥教IT」,你已然超越了90%的程序员!

IT黄埔-周哥教IT技术交流QQ群:213774841,期待您的加入!

二维码
微信扫描二维码关注