ximo 发表于 2009-1-10 12:25

MoleBox 2.3600的简单脱壳

昨天上看雪,突然发现该壳更新了.其实应该是早更新了,只是现在才有人放出来了.
论坛也有人转过来:http://www.52pojie.cn/thread-16771-1-1.html
有兴趣的可以自己下主程序下来,自己加壳玩玩

简单的看了下此壳,发现除了改变了入口代码、IAT加密的特征码以及处理掉了1个特殊之外,基本没什么变化.
稍微说明下吧.
1.入口代码的变化



现在的入口代码不再是以前的
pushad
call XXXXXXXX

总结了几个写了个PEiD Sign,第一次写Sign,可能有错误,请见谅。
*Sign.By.ximo]
signature = EB 16 8B 15 00 ?? ?? ?? FF 32 8F 05 00 ?? ?? ?? EB 06 8F 05 00 ?? ?? ?? B8 04 ?? ?? ?? 83 38 00
74 20 50 FF 70 04 FF 30 50 83 04 24 08 E8 B6 09 00 00 83 C4 0C 58 8B 10 C1 E2 02 01 D0 83 C0 08
EB DB E9 59 12 00 00
ep_only = true
FFI可以正常显示签名,有错误的,欢迎提出,谢谢.



不过,想回到以前的入口代码形式,很容易,单步几次几能到了。




2.IAT加密的特征码的变化



看上图,特征码改为了89 16,将其NOP即可,或者改上面的跳为JMP也可以

除此,没什么新的变化。

简单的小结下脱壳方法:
F8单步几次来到以前的入口特征处,一就是puahad和call处,然后用ESP定律,下好硬件断点。接着bp VirtualProtect,F9运行3次后返回,搜索89 16
把搜索到的代码NOP掉,或者改该代码上面的一个跳为JMP,接着F9,找到CALL EAX,F7进去,就是OEP了

不过,还有个小小的变化,有的程序如此改后还会有几个无效指针存在
总结了一下,这个指针就是GetProcAddress,暂时没发现其他的。
由于机器有卡巴HOOK掉了几个系统函数,没能具体跟,因此就自己手动修改下这个无效的指针为GetProcAddress吧







简单的写了个不是完美处理的脚本,方便大家使用:
//////////////////////////////////////////////////////////////////
/// MoleBox v2.3600 IAT处理脚本                           
/// by 徐超(ximo) QQ:178911980                           
/// http://www.54soft.com.cn                           
///http://www.52pojie.cn                              
///                                                      
///                           2009.1.10               
////////////////////////////////////////////////////////////////

var addr                                             
var EP
var vp
find eip,#60E8#
mov EP,$RESULT
add EP,1
bp EP
run
bc EP
mov addr,esp                                    
bphws addr,"r"                                    
gpa "VirtualProtect","kernel32.dll"               
bp $RESULT                                          
run
run
run                                                
bc $RESULT                                          
mov vp,
bp vp
run
bc vp
find eip,#8916#                                                
bp $RESULT                                          
run
bc $RESULT                                          
repl eip, #8916#, #9090#, 10                     
run                                                
bphwc addr                                       
sto
sto                                                
sti                                                
cmt eip,"这里就是OEP!BY ximo!"                              
MSG "感谢使用此脚本,现在可以脱壳了,若还有无效指针,请手动修改为GetProcAddress!"
ret                                                
3.解捆绑
解捆绑的方法还是一样,不过用特征码的朋友,也得注意下,跟了几个,发现特征码改为了
call dword ptr ss:




其他的处理方法都和以前的一样。

就这么简单的说明下吧,更具体的,可以看我以前的脱壳解捆绑文章,应该还算很详细的,方法也相同的。
http://www.52pojie.cn/thread-12149-1-3.html

作者:ximo

[ 本帖最后由 ximo 于 2009-1-10 23:34 编辑 ]

小生我怕怕 发表于 2009-1-10 12:33

学习下超兄的文章!

yrxl123 发表于 2009-1-10 12:48

厉害。我一天看多贴,一定也要练成高手

zapline 发表于 2009-1-10 12:54

哇靠!太强了
壳王啊,直逼fly:lol

傻人有傻福 发表于 2009-1-10 13:31

感觉徐老师很有成为下一个fly式的人物的潜质啊加油 多发教程指导我等菜鸟一下啊 :loveliness:

lqiulu 发表于 2009-1-10 15:08

超神厉害,学习一下.

iawen 发表于 2009-1-10 15:14

大侠,小弟膜拜一下,呵呵

creantan 发表于 2009-1-10 15:18

膜拜。。。。。学习下。。。

hxx1994 发表于 2009-1-10 17:04

学习,学习

qifeon 发表于 2009-1-10 17:29

学习,很强大。
页: [1] 2 3 4
查看完整版本: MoleBox 2.3600的简单脱壳