[C.C++] (转)程序免杀技术之――花指令

8077 11
794981421 2010-10-9 18:58:55 | 显示全部楼层 |阅读模式
花指令(junk code) 意思是程序中有一些指令,由设计者特别构思,希望使反汇编的时候出错,让破解者无法清楚正确地反汇编程序的内容,迷失方向。经典的是一些跳转指令,目标位置是另一条指令的中间,这样在反汇编的时候便会出现混乱。花指令有可能利用各种 jmp, call, ret, 一些堆栈技巧,位置运算,等等 。

当然,花指令也广泛运用到免杀技术中,不过随着杀毒技术以及虚拟机技术的不断升级,单一的加花已经不能避免杀软的识别,不过花指令和其他免杀手段配合起来效果却也是很好的。杀毒软件还原病毒代码后,除了特征码以外,会根据头文件的60位以内的文件头代码来判断病毒。因此花指令不仅可以混淆,还可以进行文件头免杀。本文的目的仅仅是让大家掌握利用反汇编手段加花的方法,没有兴趣的同学可以直接用工具加花,不过我一直坚信手工才是王道~~o(∩_∩)o 哈哈


接下来我们配置一个Bankdook的服务端,放入PEID里扫一下。因为Bandoor是Delphi与VC的混合产物,所以扫不出来类型,因为也没有加壳,所以这里显示是Nothing found。我们需要的是这里的入口点和文件偏移信息。在这里我们看到入口点和文件偏移地址相同,都是000121B1。



这里要注意区分,文件地址和内存地址的概念。我们在PEID等工具中看到的地址是文件地址,也就是加载在文件当中的代码地址。而我们打开OD进行反汇编时,会变代码的地址是内存地址,即程序运行时分配到内存中的地址。这两者要区分好,因为后面的修改我们要用到。接下来用OD将服务端加载进去。OD的第一行代码便是头代码,对应的地址便是入口地址的内存地址,即131521B1。



接下来我们向下拉,来到全是nop的尾部,这里是空白地带,我们在这里写如花指令。当然,如果存在附加数据的话需要把附加数据进行备份,反汇编后在用C32Asm复制回去。我们选择13152F84这个地址,右键汇编。这里我将把下列代码写入:

    PUSH -1
    PUSH 0
    PUSH 0
    MOV EAX,DWORD PTR FS:[0]
    PUSH EAX
    MOV DWORD PTR FS:[0],ESP
    SUB ESP,1
    PUSH EBX
    PUSH ESI
    PUSH EDI
    POP EAX
    POP EAX
    nop
    POP EAX
    nop
    ADD ESP,1
    POP EAX
    MOV DWORD PTR FS:[0],EAX
    POP EAX
    POP EAX
    nop
    POP EAX
    nop
    POP EAX
    MOV EBP,EAX
    JMP 原入口地址


      复制代码




      如果大家需要其他花指令也可以去找一下,或者自己写一些,总之越是生僻的越有效 http://hi.baidu.com/xiaochudianx ... 7d033a8644f960.html

      全写完后,我们需要将花指令的尾部用JMP跳回文件头,因为花指令的作用就是混淆伪装。我们记录的文件头地址是131521B1,可以在刚刚进入OD是记录,也可以用OC偏移量转换器入口点的文件地址转换为内存地址。就是我们用PEID记录下的文件地址。










      接下来我们右键点击空白处,选择复制到可执行文件→所有修改,在弹出的框中右键选择保存,就将文件另存为了PE可执行文件。之后我们需要将花指令所在地修改为文件的入口点,我们先将花指令头的内存地址13152F84转为文件地址,即00012F84。



      接下来我们用PEditor载入文件,将入口点地址修改为即00012F84,点击应用更改即可。





      这只是花指令的普通应用方法,还有中转跳转法等方法。有的PE文件修改后会出现无效文件的情况,大家可以试试区段加花的方法。虽然加花指令的方法有局限性,但与修改特征码,修改头文件,壳中加籽,混合加壳,输入表输出表免杀等方法混合使用,其效果也是很可观的

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    ×
    794981421 2010-10-9 19:04:26 | 显示全部楼层
    沙发自己的....
    原网址http://bbs.honker.net/viewthread.php?tid=28080&fromuid=76909
    红客可可 2010-10-21 19:15:28 | 显示全部楼层
    发点新鲜的
    风神网络 2011-1-2 22:03:14 | 显示全部楼层
    是啊
    软件开发、建站系统、红客技术、汽车租赁
    zhchker 2011-1-6 03:14:58 | 显示全部楼层
    顶一下!
    我爱我家,更爱我的国
    vemon 2022-11-13 13:05:51 | 显示全部楼层
    谢谢啦,学习了
    wsz 2022-12-17 16:38:18 | 显示全部楼层
    谢谢 ,学习了
    !!!!!!
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    794981421

    初级红客

    关注
    • 1
      主题
    • 1
      粉丝
    • 1
      关注
    这家伙很懒,什么都没留下!

    中国红客联盟公众号

    联系站长QQ:5520533

    admin@chnhonker.com
    Copyright © 2001-2024 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 ) 本站已运行|天天打卡