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 编辑 ] 学习下超兄的文章! 厉害。我一天看多贴,一定也要练成高手 哇靠!太强了
壳王啊,直逼fly:lol 感觉徐老师很有成为下一个fly式的人物的潜质啊加油 多发教程指导我等菜鸟一下啊 :loveliness: 超神厉害,学习一下. 大侠,小弟膜拜一下,呵呵 膜拜。。。。。学习下。。。 学习,学习 学习,很强大。