首页
社区
课程
招聘
[旧帖] [求助]OD脚本的问题 0.00雪花
发表于: 2009-1-27 00:15 3962

[旧帖] [求助]OD脚本的问题 0.00雪花

2009-1-27 00:15
3962
脱壳的时侯绝大多数时间都是在做重复劳动,因此想学好OD脚本。很多深奥的Script 看不懂,现在想用脚本来模拟纯手工的操作。

比如模拟最后一次异常法,最后一次异常出现在[esp] == 0x409391 处,我写了如下脚本:

var ESP_VALUE
Var count

mov count,1

Loop:

esto        // Shift + F9

mov ESP_VALUE,[esp]
itoa ESP_VALUE
cmp ESP_VALUE,#409391#
je EndLoop

inc count
cmp count,20
ja EndLoop    // 大于20次跳出循环

jmp Loop

EndLoop:

msg "Over"

问题是脚本的运行速度不可控制,有时OD 里按一下Shift + F9 要几秒才到下一个异常,而脚本一直走,最后程序都跑起来了。

是否有让脚本暂停一段时间的命令?

脚本真是超好的东西,但我感觉Script 的教学还是太少啦

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
var ESP_VALUE
Var count

mov count,1

Loop:

esto  // Shift + F9

mov ESP_VALUE,[esp+4]
cmp ESP_VALUE,409391
je EndLoop

inc count
cmp count,20
ja EndLoop    // 大于20次跳出循环

jmp Loop

EndLoop:

msg "Over"
2009-1-27 02:33
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
脚本都是一句一句执行的,既然你上面有比较指令,他就会先比较得结果在执行下去,程序跑起来肯定是你指令有问题。比如我用你的脚本修改的自动脱PEncrypt 4.0 Gamma壳的脚本,直接就DUMP下来了。

var ESP_VALUE
Var count
mov count,1
Loop:
esto  // Shift + F9

mov ESP_VALUE,[esp+4]
cmp ESP_VALUE,40CCD7
je EndLoop

inc count
cmp count,20
ja End   // 大于20次跳出循环
jmp Loop

EndLoop:
FIND ESP_VALUE,#9D61BD????????#
CMP $RESULT,0
je END
bp $RESULT
esto
sto
sto
sto
sto
bc $RESULT
dpe "dump.exe",eip
msg "Good,luck!"
RET

END:
msg "程序可能不是PEncrypt 4.0 Gamma加壳"
上传的附件:
2009-1-27 02:40
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
多谢大大,很nice 的代码,it works perfect
另外,我想知道脚本里可不可以调用其它的OD 插件,比如说去花。这样只要看脚本就能还原当时手脱的过程了
2009-1-27 17:08
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
还有一个问题:脚本能修改内存属性么?要补OEP 前几行代码
2009-1-27 19:31
0
游客
登录 | 注册 方可回帖
返回
//