文章导航PC6首页软件下载单机游戏安卓资源苹果资源

pc软件新闻网络操作系统办公工具编程服务器软件评测

安卓新闻资讯应用教程刷机教程安卓游戏攻略tv资讯深度阅读综合安卓评测

苹果ios资讯苹果手机越狱备份教程美化教程ios软件教程mac教程

单机游戏角色扮演即时战略动作射击棋牌游戏体育竞技模拟经营其它游戏游戏工具

网游cf活动dnf活动lol周免英雄lol礼包

手游最新动态手游评测手游活动新游预告手游问答

您的位置:首页精文荟萃破解文章 → 反跟踪技术之Anti-静态分析

反跟踪技术之Anti-静态分析

时间:2004/10/15 0:51:00来源:本站整理作者:蓝点我要评论(0)

 

Anti-静态分析


1.死循环语句
类型:对付W32Dasm
平台:Windows9x 、Windows NT
原理:下面是故意在程序中插入的一个死循环,可能会使W32Dasm的某些版本停止响应:



0401000 JMP 00401005
……
00401005 JMP 00401000



对策:W32Dasm进入死循环后,用Bpx hmempcy设断,来到死循环代码处,将其跳出死循环,或用IDA来反汇编。


2.利用花指令


  花指令是对付静态分析的重要手段。以下是一段汇编源程序:







start_:

        xor    eax,1
        add    eax,2
        jmp        label1
label1:    xor    eax,3
        add    eax,4
        xor    eax,5

end start_


  此时把源程序进行编译,然后用W32Dasm进行反汇编,得到的反汇编结果完全正常。接着我们将上述源程序作如下修改:







start_:

        xor    eax,1
        add    eax,2
        jnz        label1 ;注意这里,用两句条件跳转代替了:jmp label1
        jz        label1
        db        0E8h     ;注意这个无用的字节和源程序的区别
label1:    xor    eax,3
        add    eax,4
        xor    eax,5


end start_


  再把源程序进行编译,然后用W32Dasm进行反汇编,来看一下反汇编后的结果:






:00401000 83F001
:00401003 83C002
:00401006 7503
:00401008 7401
:0040100A E883F00383
:0040100F C00483F0
xor eax, 00000001
add eax, 00000002
jne 0040100B
je 0040100B
call 83440092
rol byte ptr [ebx+4*eax], F0

  结果令人很吃惊,会发现W32Dasm反汇编的结果和事先写的汇编指令不一样,从反汇编的结果中已经无法理解程序的"真实"的功能了,W32Dasm给出了一个意想不到的答案。 这是因为上述改动是为了在W32Dasm的反汇编工作中做点手脚,从而使得它犯下错误。那么W32Dasm为什么会因此而犯下这样的错误呢?


  不同的机器指令包含的字节数并不相同,有的是单字节指令,有的是多字节指令。对于多字节指令来说,反汇编软件需要确定指令的第一个字节的起始位置,也就是操作码的位置,这样才能正确地反汇编这条指令,否则它就可能反汇编成另外一条指令了。 如果在程序中加入一些无用的字节来干扰反汇编软件的判断,从而使得它错误地确定指令的起始位置,那么也就达到了干扰W32Dasm反汇编工作的目的。


  通过前面的介绍,知道由于"无用的字节"干扰了W32Dasm对指令起始位置的判断,从而导致反汇编的错误结果,所以如果能让W32Dasm正确地识别出指令起始位置,也就达到了去除花指令的目的了。比如可以把那些无用的字节都替换成单字节指令,最常见的一种替换方法是把无用的字节替换成 NOP 指令,即十六进制数 90。


    
    
     
    
    
     

相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 去除winrar注册框方法

最新文章 比特币病毒怎么破解 比去除winrar注册框方法 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)通过Access破解MSSQL获得数据

人气排行 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)qq相册密码破解方法去除winrar注册框方法(适应任何版本)怎么用手机破解收费游戏华为无线猫HG522破解如何给软件脱壳基础教程