第一次写OD脚本,UPX找OEP
之前脱壳一直都在手脱,刚学了下写OD脚本,感觉蛮好玩的(虽然类汇编的代码写的感觉很不友好- - ! 感觉我这种强迫症下次的作品应该是C to OD脚本的编译器之类的东西吧T T)应用的原理:
UPX壳解码代码在单独一个区段,解码后使用jmp指令跳到实际程序代码,这就使得这个jmp必然是一个跨区段的跳转,跳转幅度必然很大
程序逻辑:
扫描jmp指令,执行该jmp,比较跳转值是否超过阈值,如果超过视为到达OEP,如果没有则从该jmp的下一个指令开始寻找jmp直到到达OEP(或跑飞。。。)
代码如下
var lasteip
var laststop
var tmp
var val//跳转阈值
mov laststop,eip
mov val,1000
//从当前位置往下找大跳
LOOPSTEP:
add laststop,1
findop laststop,#e9#
go $RESULT
mov lasteip,eip
mov laststop,lasteip
sto
cmp lasteip,eip
ja Jlarge
jb Jless
//以下,大跳则视为到达OEP,否则继续找
Jlarge:
sub lasteip,eip
cmp lasteip,val
jb LOOPSTEP
jmp Jans
Jless:
mov tmp,eip
sub tmp,lasteip
cmp tmp,val
jb LOOPSTEP
jmp Jans
Jans:
msg "到了"
ret
咬字分开念 发表于 2016-10-9 14:38
你想干嘛?不能主动留联系方式,明白不
加你好友,我还是发不出短信给你,用不了留言板给你,我是新注册的,主要想请教下物联通,你的贴子关闭回复了,找你不容易啊。 hhsss 发表于 2016-10-9 19:18
加你好友,我还是发不出短信给你,用不了留言板给你,我是新注册的,主要想请教下物联通,你的贴子关闭回 ...
说吧,或者怎么找你帮助你呢 不错,已经加分 膜拜会找脚本的 楼主继续加油 没看懂,arm脚本基本知识都没 咬字分开念 发表于 2016-9-15 08:35
没看懂,arm脚本基本知识都没
有联系方式可找到你吗 hhsss 发表于 2016-10-9 13:27
有联系方式可找到你吗
你想干嘛?不能主动留联系方式,明白不 感谢发布原创作品,吾爱破解论坛因你更精彩!
页:
[1]
2