您的位置:首页 > 编程语言 > ASP

upx、asp脱壳

2016-09-23 01:06 507 查看
单步跟踪法,找大跳

0040D001 >  60              pushad
0040D002    E8 03000000     call NotePad_.0040D00A                   ; 不能在这里下F4
0040D007  - E9 EB045D45     jmp 459DD4F7                             ; 跳转太大,也不能在这里下
0040D00C    55              push ebp                                 ; 可以在这里下F4
0040D00D    C3              retn
0040D00E    E8 01000000     call NotePad_.0040D014                   ; 涉及到call和jmp还有nop指令的,一般都绕过,悠着点,跳到这些指令的下一条
0040D013    EB 5D           jmp short NotePad_.0040D072
0040D015    BB EDFFFFFF     mov ebx,-13


备注:有时候程序会跑飞,这时候call也得跟进去

ESP大法, 通用

hr esp


ctrl+f popad


仅适用于
upx
, 不适用于
asp


备注:我说错了。这个也是通用的。od是怎么找的呢,在内存中找指令对应的字节。所以会出现找到后,强行解释后面的指令就错了,这说明找到的不是原本代码中的,是拆解了。应该继续找。

内存镜像法(仅适用于upx,是根据upx压缩的算法的出来的)

ALT+M打开内存

找到.rsrc,F2下断,F9运行

ALT+M打开内存

找到UPX0,F2下断,F9运行

备注:其实这种方式是通用的,先资源断点,再text断点。我说错了。upx0就是text段。

upx\asp
好脱壳是因为这两种壳都是压缩壳,属于解压缩后就是完整原始代码的压缩方式。

lordPE、ollydump
等都属于对内存的
dump
操作,因此到达
oep
后就不要动了。
dump
完了之后看下如果没壳了但是运行不了,那就是
IAT
的事情用
importFix
修复下就行了。如果
dump
完了之后发现还是没脱壳,IAT修复也无济于事。

lordPE
需要先修复文件大小,然后
dump
importFix
属于对内存程序中的
IAT
修复,所以,多种
dump
出来方式,用一次
ImportFix
就够了。不用不同的
dump
方式,然后每一次都
importfix
.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  脱壳