ACProtect Professional 1.3C 主程序脱壳(2)(图)

所属分类: 网络安全 / 加密解密 阅读数: 129
收藏 0 赞 0 分享
4. dump
根据脱US UnpackMe的经验,不能在false OEP处dump,此时BSS section中许多数据已经初始化了。最好在第一句(push ebp)就dump。可是那个push ebp离false OEP很远L。

Packer EP的初始化环境:






先看看发出第1个call的壳代码:


可以看到(跟一下可以证实),在call入原程序空间前,最后的异常是div 0。用现在的OllyDbg脚本(跟到737B63),停下后修改异常拦截选项:


试试能否拦截异常找到合适的dump位置。当前OllyScript脚本停下时的环境:



栈中为pushad的结果。
第7次div 0异常时:




注意ebp的值已经入栈了。Pushad的结果,对应寄存器值为:
esp = 12FFC0 (原来为12FFC4)
ebp = 12FFC0 = esp (原来为12FFF0)
看看BSS section:




全为0,就在这里dump。如果需要仔细跟stolen code,也可以从这里入手(可以从脚本停下的第6次div 0异常处理后开始)。

先用4D9DE4为OEP。



用LoadPE查看节表:


先把CODE的Vsize和Rsize加大,以避免修复stolen codes时空间不够。



重新跟到false OEP(4D9E37)。重建输入表。



用了Add new section,会不会有问题(好象有篇脱文里提到过这个)? 先这样处理。
用IDA编译dumped_.exe,结果不错。
现在剩下stolen code和replaced code。
5. 修复stolen code

既然不打算仔细跟,就只有猜了。对执行第1个call以前的stolen code进行猜测,应该是安全的。后面的4次call需要仔细看看。

1) call 406EDC

在IDA中看dumped_.exe的结果:


先执行脚本,停下后只勾选div 0异常。直到73A9AF。经过一番遮遮掩掩的代码:


在call前的寄存器:


堆栈:


call完后,下面的pushad为分界线,标识stolen code的结束。所以到这里的stolen code为(对于不确定的,可以在Packer EP修改寄存器值,到这里核对):
Call完后,pushad前的环境:





2) call 46261C





到这里的stolen code:
从这里开始,不能图省事了。要追出全部的stolen code,必须跟(必须确保上一次pushad和下一次popad时的环境一致,才不会丢代码)。先试直接拦截div 0异常,注意后面是否有popad。如果两次的环境不一致,则必须单步跟L。

另外,追stolen code不是一次完成的,所以有些图中寄存器和堆栈中的数据对不上,不必管它。

3) 0073BC47


4) 0073C558


5) 第1次call 462634


这个函数有2个参数L。



这是最后一次后面存在popad的div 0异常。看看是如何回到原程序的。
在73D872忽略所有异常,对code section下内存访问断点。中间在kernel32中有一次内存访问异常。



最后一次div ebx在73DBE1。单步跟到这里:


73DE38破坏前面代码。



至此修复所有stolen codes,将前面的6部分和fasle OEP的2个call合在一起。
更多精彩内容其他人还在看

Getright 5 手动脱壳和重建IAT--第二部分(图)

在本参考教程的第一部分我们学习了如何正确地转储(dump)Getright 5. 现在我们将要去找神奇跳转,这样IAT会被正确地转储下来,而不用手工修复了. 要完成这一点,我们需要打败程序中的一些陷阱, 并使它们即使在检测到被执行脱壳时也无所作为. 让我们开始吧! 第
收藏 0 赞 0 分享

ACProtect Professional 1.3C 主程序脱壳(3)(图)

运行程序,crashedL。直接用修复完stolen code的dumped_.exe看看。从EP的第1个call进去就有问题。 在OllyDbg中可以看到: 有部分IAT在壳中。这部分代码前面是跟到了的(在
收藏 0 赞 0 分享

Getright 5 手动脱壳和重建IAT--第一部分(图)

这是一篇Armadillo加壳软件Getright 5.01的脱壳译文,我是参照Ricardo Narvaja的“Getright 5 脱壳和重建IAT”的文章以及Bighead[DFCG][YCG]的译文,一边实践一边再次翻译的。感谢Ricardo Narvaja和Bighea
收藏 0 赞 0 分享

黑客破解Email账号最常用的三种方法

电子邮件并不是安全的,在邮件的发送、传送和接收整个过程中的每个环节都可能存在薄弱环节,恶意用户如果利用其漏洞,就能够轻易的破解出账号,获得邮件内容。 一、利用邮件服务器操作系统的漏洞 邮件服务器软件是运行在特定的操作系统上的,如Linux、Windows NT/20
收藏 0 赞 0 分享

黑客技术之slv unpackme 脱壳

其实壳本身不要紧,问题是vm里面有个校验。 sm同学手下留情,我勉强能搞一个运行正常的,没精力还原vm了。 在virutalfree的retn上f4, 直到[esp]是一个exe image内的地址f7返回: 0040FA91 B8 BE180000 m
收藏 0 赞 0 分享

Allok Video to 3GP Converter 脱壳+破解(图)

①。 下载好安装后,用DIT查看为MoleBox 2.5.x. ----------------------------------------------------------------------------- OD,载如RUN,程序完全运行后,ALT+M查看内存映
收藏 0 赞 0 分享

有密码 优酷视频 破解方法

优酷网站的视频可以设置独立的播放密码,不过你可知道:观看有密码的优酷视频其实不需要密码哦。下面讲述两种方法进行优酷视频密码破解的方法。 优酷视频密码破解一: 打开FLV解析网站,这里推荐使用该站点:http://www.flvcd.com,从浏览器地址栏复制需要解密的优酷
收藏 0 赞 0 分享

web.config本地加密解密BAT

可以控制某些用户即使登录到服务器上,也无法用aspnet_regiis -pdf对配置文件进行解密。
收藏 0 赞 0 分享

汇编语言程序破解基本知识

汇编语言程序破解基本知识,想要学习破解的朋友可以参考
收藏 0 赞 0 分享

关于加密解密你知道多少? 加密解密的方法详解

我们来谈谈加密和解密的事吧
收藏 0 赞 0 分享
查看更多