关于汇编程序 谁看的懂啊

[复制链接]
查看11 | 回复0 | 2008-1-11 18:00:02 | 显示全部楼层 |阅读模式
如果单从汇编语言的语法来说,这段代码很简单:就是将几个寄存器(ax、bx、dx)中的数值加到某几个内存变量中,最后那几行是对一段全零数据区的反汇编结果这一定是用反汇编软件对一段二进制数据的反汇编结果,从代码流程上看是毫无逻辑的,首先前面的几个计算指令完全没有任何逻辑关系,不是任何有意义的计算逻辑;其次到了0001.15F0开始就是全零数据了,而前一句话并不是跳转(jmp)或者函数返回(ret),CPU执行到这里必然根本走不下去,会导致死机。因此分析结论是这段二进制数据根本就不是程序代码,而是程序中的数据区域(如变量、常量、数组等),对它进行反汇编根本就没有任何意义。但反汇编器(如debug、TD)等都比较机械,你让他反汇编哪段地址,它就尝试用机器指令去解释,而不管这段地址中是否是有效的代码如果你是在用反汇编器想破解某个软件,那么可能是该软件内部使用了仿破解机制,软件采用了自迭代方法,即在运行时由前面的代码动态生成后面的代码,这样使破解者无法使用静态反汇编方法进行分析。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行