首页
社区
课程
招聘
[原创]无聊,写了个MoleBox的脚本
发表于: 2006-10-16 08:48 7563

[原创]无聊,写了个MoleBox的脚本

2006-10-16 08:48
7563
先前写了篇关于MoleBox的解包教程,前天就看到
http://www.unpack.cn/viewthread.php?tid=6969&extra=page%3D1
这里有人在讨论,我也试了下里面的目标文件,用文章中介绍的方法完全可解决,没什么不一样的,但是,烈火却说解决不了,于是就写了这么个脚本
很蹩脚,,,凑活用吧:)

//For MoleBox 2.x,By wynney
#log
Var Addr1
Var Addr2
Var Addr3
Var VirtualProtect
log eip
cmt eip, "请忽略所有异常"
STI
STO
MOV Addr1,esp
bphws Addr1,"r" //esp定律,用来找OEP
GPA "VirtualProtect","kernel32.dll"
CMP $RESULT,0
JE ERR
MOV VirtualProtect,$RESULT
BP VirtualProtect //下断点,找IAT加密的地方
RUN
RUN
RUN
BC VirtualProtect
RTU
find eip,#8901#
CMP $RESULT,0
JE ERR
MOV Addr2,$RESULT
BP Addr2
RUN
BC Addr2
fill eip,2,90
RUN
RUN
RUN
RUN
BPHWC Addr1
STO
find eip,#83EC80E9????????#
CMP $RESULT,0
JE ERR
MOV Addr3,$RESULT
BP Addr3
RUN
BC Addr3
STO
STO
log eip
cmt eip, "This is the OEP! Found By: wynney "
RET

ERR:
MSG "error"
RET


测试文件
http://www.hrtsea.com/beta/FlashFXP_3.4.1.1149b.rar

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (15)
雪    币: 443
活跃值: (200)
能力值: ( LV9,RANK:1140 )
在线值:
发帖
回帖
粉丝
2
终于坐到沙发~~感谢~
2006-10-16 09:08
0
雪    币: 372
活跃值: (31)
能力值: ( LV12,RANK:410 )
在线值:
发帖
回帖
粉丝
3
膜拜ing...
2006-10-16 09:15
0
雪    币: 4
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
支持~学习~
2006-10-16 09:30
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
来晚了,都五楼了,试试先。万分感谢。

测试环境:
WINDOWS 2003 ENT
Olldbg 版本:v1.10 汉化第二版
运行脚本插件:v1.47

试了一下,运行出错并停在这里,按 Shift+F7、F9出错三次后退出:
2006-10-16 12:55
0
雪    币: 304
活跃值: (82)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
6
2006-10-16 12:56
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
再按之前写的教程手工脱壳,发现3.4.1.1149 的 hr=0012ffc0 而不是 0012ffa0 呀?然后跟到 OEP 并重载后,也就到了第二步…… SHIFT + F9 好象不止是二三次,期间显示的返回地址也完全与教程写的不同了…… 最后总算走到结束,然后用 LordPE 完整转存成为 dumped.exe,可是用 ImportREC 就不知道如何才能修复了。
2006-10-16 13:48
0
雪    币: 224
活跃值: (147)
能力值: ( LV9,RANK:970 )
在线值:
发帖
回帖
粉丝
8
最初由 烈火★ 发布
再按之前写的教程手工脱壳,发现3.4.1.1149 的 hr=0012ffc0 而不是 0012ffa0 呀?然后跟到 OEP 并重载后,也就到了第二步…… SHIFT + F9 好象不止是二三次,期间显示的返回地址也完全与教程写的不同了…… 最后总算走到结束,然后用 LordPE 完整转存成为 dumped.exe,可是用 ImportREC 就不知道如何才能修复了。

对你的这些我本来不想置评的
每个程序的ESP 返回地址 都是一样的??
难道你就连根据教程的步骤变通都不会?

虽然程序都是flashfxp,但是版本不一样撒。。。

关于脚本的问题,要忽略所有的异常的,脚本里就有提示了。。

狂晕中。。工作都做到家了。。。
2006-10-16 14:10
0
雪    币: 443
活跃值: (200)
能力值: ( LV9,RANK:1140 )
在线值:
发帖
回帖
粉丝
9
我测试过,脚本确实非常不错,相当于脱壳机了!不明白烈火为什么不行呢?
2006-10-16 20:14
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
呵呵~ 不怕被您笑话
在脱壳领域我的确是一窍不通
基本知识都还一知半解
就在这里乱问了,不好意思!
我再去试,就不信学不到半窍
2006-10-16 20:37
0
雪    币: 443
活跃值: (200)
能力值: ( LV9,RANK:1140 )
在线值:
发帖
回帖
粉丝
11
最初由 烈火★ 发布
呵呵~ 不怕被您笑话
在脱壳领域我的确是一窍不通
基本知识都还一知半解
就在这里乱问了,不好意思!
我再去试,就不信学不到半窍


你一定行!
2006-10-16 20:40
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
谢谢。我刚才又试了一次脚本,已经确定了忽略所有异常。

停在这里(启动了 FLASHFXP.EXE,说是 ID00000864 新线程已创建,就没反应了):

0170327E    58              POP EAX
0170327F    61              POPAD
01703280    8D4424 80       LEA EAX,DWORD PTR SS:[ESP-80]
01703284    6A 00           PUSH 0
01703286    39C4            CMP ESP,EAX
01703288  ^ 75 FA           JNZ SHORT MBX@9A_1.01703284
0170328A    83EC 80         SUB ESP,-80
0170328D  - E9 05F2FDFF     JMP MBX@9A_1.016E2497
01703292    0000            ADD BYTE PTR DS:[EAX],AL
01703294    0000            ADD BYTE PTR DS:[EAX],AL
01703296    0000            ADD BYTE PTR DS:[EAX],AL
01703298    0000            ADD BYTE PTR DS:[EAX],AL
0170329A    0000            ADD BYTE PTR DS:[EAX],AL

关闭那个启动了的 FLASHFXP.exe 后,Ollydbg 就说进程已终止,退出代码xxx,然后一切完毕。
2006-10-16 20:47
0
雪    币: 443
活跃值: (200)
能力值: ( LV9,RANK:1140 )
在线值:
发帖
回帖
粉丝
13
运行脚本后,马上就会停在OEP处,DUMP下来,再修复一下,程序正常运行!如果你真的不行,换别的OD版本试试吧!
2006-10-16 21:06
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
也可能是我的 OLLYDBG 在反复测试调时时内存混乱造成的

我全部清空内存后终于可以成功地停在 OEP 了。脚本没问题是我有问题。

不知能否再详细告知用 LordPE 完整转存后的如何处理的步骤。因为我按我自己理解的方法修复无效。
2006-10-16 21:17
0
雪    币: 443
活跃值: (200)
能力值: ( LV9,RANK:1140 )
在线值:
发帖
回帖
粉丝
15
最初由 烈火★ 发布
也可能是我的 OLLYDBG 在反复测试调时时内存混乱造成的

我全部清空内存后终于可以成功地停在 OEP 了。脚本没问题是我有问题。

不知能否再详细告知用 LordPE 完整转存后的如何处理的步骤。因为我按我自己理解的方法修复无效。


用IREC载入后,填上OEP,再自动获取IAT,再修复就OK啦!
2006-10-16 23:51
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
最初由 冷血书生 发布
用IREC载入后,填上OEP,再自动获取IAT,再修复就OK啦!


成功。

是用 Ollydbg 的“获取 EIP 做为 OEP”才知道 OEP 是如何换算出来的,之前失败的原因,是我对基本术语和作法都不明白导致。

这让wynney和冷血书生两位专家笑掉了大牙吧…… 呵……
2006-10-17 07:37
0
游客
登录 | 注册 方可回帖
返回
//