首页
社区
课程
招聘
[分享]发两个PELock的脚本吧
发表于: 2007-3-28 20:16 12262

[分享]发两个PELock的脚本吧

2007-3-28 20:16
12262
/*
Script written by wynney

Date: 2007-03-25
Script:PELock 1.0x -> Bartosz Wojcik IAT Fixer
Action: Auto fix IAT、 Remote Jump、Go to OEP
Environment : OllyDbg 1.1, ODBGScript 1.52,Winxp Sp2
Debugging options: Tick all items in OllyDbg's Debugging Options-Exceptions

Thanks :
kanxue - author of HideOD
hnhuqiong - author of ODbgScript 1.52
*/


var CrCAddr
var IATAddr
var MovAddr
var ibase
var cbase
var csize
var CodAddr
var VirtualAddr
var TempAdd
var IATStart
var IncTime
var othertime
var AllocTemp
var EndAddr
var replAddr

GetBase:
dbh
GMI eip, MODULEBASE
cmp $RESULT,0
je Abort
mov ibase,$RESULT
GMI eip,CODEBASE //Get code base
cmp $RESULT,0
je Abort
mov cbase,$RESULT
GMI eip, codesize
cmp $RESULT,0
je Abort
mov csize,$RESULT
mov IncTime,0
mov othertime,0
jmp GetAddr

GetAddr:
esto
inc IncTime
cmp IncTime,3
je CrCother
find eip,#2B848D143B0000#
cmp $RESULT,0
je GetAddr
mov CrCAddr,$RESULT
find eip,#C602E98BC72BC283E805894201#
cmp $RESULT,0
je Abort
sub $RESULT,2F
mov MovAddr,$RESULT
jmp FindIAT

FindIAT:
find eip,#8919#
cmp $RESULT,0
je IATOther
mov IATAddr,$RESULT
bp CrCAddr
bp IATAddr
jmp Exception

//若IAT没有加密,则直接去修复“跳转表”
IATOther:
find eip,#8901#
cmp $RESULT,0
MSGYN "是否尝试修复壳数据转移?"
cmp $RESULT, 1
je FixCode
add MovAddr,2F
bp MovAddr
jmp MemPoint

//Crc的另外一个特征码
CrCother:
esto
inc othertime
cmp othertime,3
je Abort
find eip,#2B848D5C310000#
cmp $RESULT,0
mov CrCAddr,$RESULT
je CrCother
find eip,#C602E98BC72BC283E805894201#
cmp $RESULT,0
je Abort
sub $RESULT,2F
mov MovAddr,$RESULT
bp MovAddr
jmp FindIAT

Exception:
cmp eip,CrCAddr
je FixIAT
esto
jmp Exception

FixIAT:
bc IATAddr
repl IATAddr,#8919#,#8901#,2
jmp FixCrc

FixCrc:
bc CrCAddr
Alloc 1000 //申请一个内存空间
mov AllocTemp,$RESULT
mov [AllocTemp],#81F948010000742481F985000000741681F98400000074082B848D143B0000C32D2B848D14C32D3B0000D3C32D8919EB03C30000#
eval "call {AllocTemp}"
asm CrCAddr,$RESULT
mov TempAdd, CrCAddr
add TempAdd,5
mov [TempAdd],#9090#
bp CrCAddr
esto
bc CrCAddr
bp IATAddr
esto
cmp eip,IATAddr
mov IATStart,ecx
bc IATAddr
MSGYN "是否尝试修复壳数据转移?"
cmp $RESULT, 1
je FixCode
add MovAddr,2F
bp MovAddr
jmp MemPoint

FixCode:
bp MovAddr
esto
cmp eip,MovAddr
jne FixCode
bc MovAddr
mov replAddr,MovAddr
add replAddr,27
mov [replAddr],#9090#
add replAddr,8
bp replAddr
esto
bc replAddr
mov [replAddr],#8BFA90#
add replAddr,0A
mov [replAddr],#909090#
add replAddr,1A
mov [replAddr],#909090#
add replAddr,08
mov [replAddr],#909090#
free AllocTemp, 1000 //释放掉申请的空间
mov CodAddr,edi
sub CodAddr,1
mov eip,CodAddr
mov [CodAddr],#EB058B1683C6048BFA0FB60646803E8D7415508BC883E003C1E902#
add CodAddr,1B
mov [CodAddr],#F3A58BC8F3A45A469090EB475033D233C9B106F7F18BC80FB646018AE0#
add CodAddr,1D
mov [CodAddr],#68252D353D68050D151DB0B833D238241474079090FEC042EBF45A#
add CodAddr,1B
mov [CodAddr],#5A25FF0000005033C08B560203C283C606E2F65A8817894701465A4B#
add CodAddr,1C
mov [CodAddr],#75915F8D4D662BCFF3AA61C3#
add CodAddr,0B
bp CodAddr
esto
bc CodAddr
BPRM cbase,csize
mov EndAddr,cbase
add EndAddr,csize
jmp Final

MemPoint:
esto
cmp eip,MovAddr
jne MemPoint
bc MovAddr
esto
BPRM cbase,csize
mov EndAddr,cbase
add EndAddr,csize
jmp Final

Abort:
MSG "版本不对应:("
ret

Final:
esto
cmp eip,EndAddr
ja Final
cmp eip,cbase
ja Done
jb Final

Done:
BPMC
log IATStart
MSG "脚本执行完毕"
ret

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 7
支持
分享
最新回复 (31)
雪    币: 224
活跃值: (147)
能力值: ( LV9,RANK:970 )
在线值:
发帖
回帖
粉丝
2
自己坐沙发
2007-3-28 20:21
0
雪    币: 242
活跃值: (1664)
能力值: ( LV9,RANK:410 )
在线值:
发帖
回帖
粉丝
3
谢谢分享!
2007-3-28 20:27
0
雪    币: 224
活跃值: (147)
能力值: ( LV9,RANK:970 )
在线值:
发帖
回帖
粉丝
4
@
hnhuqiong,关于ODbgScript
1、不知道是我没找到还是怎么了,1.52好象没有OD里面 Ctrl+B 勾上“整个段块”的find功能
2、1.52把+,-的识别去掉了?
比如mov eax,@RESULT-30不能识别了

要这样
sub $RESULT,30
mov eax,$RESULT
2007-3-28 20:29
0
雪    币: 817
活跃值: (1927)
能力值: ( LV12,RANK:2670 )
在线值:
发帖
回帖
粉丝
5
支持一个,本来想做sofa的。。。。

没想到你那么快
2007-3-28 21:26
0
雪    币: 817
活跃值: (1927)
能力值: ( LV12,RANK:2670 )
在线值:
发帖
回帖
粉丝
6
wynney兄,你也来个:

dpe "\\xxxx.exe", eip  
2007-3-28 21:58
0
雪    币: 224
活跃值: (147)
能力值: ( LV9,RANK:970 )
在线值:
发帖
回帖
粉丝
7
最初由 KuNgBiM 发布
wynney兄,你也来个:

dpe "\\xxxx.exe", eip

自己在后面加一句吧
哈哈

PS:他那个ACProtect的脚本有问题,我之前写了个,等调试完美点再发
2007-3-28 22:21
0
雪    币: 817
活跃值: (1927)
能力值: ( LV12,RANK:2670 )
在线值:
发帖
回帖
粉丝
8
最初由 wynney 发布
自己在后面加一句吧
哈哈

PS:他那个ACProtect的脚本有问题,我之前写了个,等调试完美点再发


94,期待啊````````
2007-3-28 22:25
0
雪    币: 301
活跃值: (300)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
9
支持
2007-3-29 07:57
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
高手,菜鸟不知道怎么用,能不能做说明
2007-3-29 08:28
0
雪    币: 405
活跃值: (10)
能力值: ( LV9,RANK:1130 )
在线值:
发帖
回帖
粉丝
11
脚本收藏,支持
另,看到“PELock的Stolen OEP很少,都可以通过堆栈和寄存器轻松恢复”,我看来要狂学习了。因为我不知道,
2007-3-29 08:47
0
雪    币: 313
活跃值: (250)
能力值: ( LV9,RANK:650 )
在线值:
发帖
回帖
粉丝
12
试了一试效果可以,就是慢了一点。
2007-3-29 13:32
0
雪    币: 224
活跃值: (147)
能力值: ( LV9,RANK:970 )
在线值:
发帖
回帖
粉丝
13
最初由 hbqjxhw 发布
试了一试效果可以,就是慢了一点。

PELock 1.0x ~ Bartosz Wojcik IAT Fixer.osc
很快了

IAT Recover.osc
有点慢

他们修复IAT的方式不一样
2007-3-29 13:59
0
雪    币: 144
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
马上去脱鸽子:)
2007-3-29 14:30
0
雪    币: 224
活跃值: (147)
能力值: ( LV9,RANK:970 )
在线值:
发帖
回帖
粉丝
15
最初由 卡秋莎 发布
马上去脱鸽子:)

呵呵 鸽子是Delphi的
用了脚本还有东西等着你手动去做呢
2007-3-29 14:58
0
雪    币: 157
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
ip学习了。
2007-3-29 15:02
0
雪    币: 178
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
谢谢分享
2007-3-29 20:05
0
雪    币: 100
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
Thanks
2007-3-29 23:49
0
雪    币: 136
活跃值: (105)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
19
鸽子都要消失还鸽子呢呵呵没意思了  不果顶下楼主 期待更完美的脚本 嘎嘎
2007-3-30 00:45
0
雪    币: 212
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
最初由 夜凉如水 发布
鸽子都要消失还鸽子呢呵呵没意思了 不果顶下楼主 期待更完美的脚本 嘎嘎


小声的说啊,不要别人知道,人家搞地下组织去了。。。

还有。。。2大高手调侃学习班的脚本。。。

估计学习班最近都不敢来脱壳区了。。。
2007-3-30 10:34
0
雪    币: 184
活跃值: (108)
能力值: ( LV9,RANK:410 )
在线值:
发帖
回帖
粉丝
21
1.的确没有搜索整个块的功能,但有定长度,这个需要间接的计算后带入。
  不过你说的对,这个功能比较常用,下个版本加上
2。的确去掉了+-*/符号,这些容易引起歧异,比较脚本解析不是非常的严格。
2007-3-31 19:37
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
谢谢,谢谢
2007-3-31 23:33
0
雪    币: 224
活跃值: (147)
能力值: ( LV9,RANK:970 )
在线值:
发帖
回帖
粉丝
23
感谢,加上第一个功能
至于第2个去掉是比较好,但是,这样也带来了一个问题,以前不少脚本在1.52下用不了

老兄可以在1.52的使用里说明下:)
2007-4-1 09:07
0
雪    币: 212
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
24
呵呵,谢谢了。
2007-6-26 23:59
0
雪    币: 129
活跃值: (53)
能力值: ( LV9,RANK:220 )
在线值:
发帖
回帖
粉丝
25
呵呵.高手要是什么都说那么清楚就不是高手了
2007-6-28 14:27
0
游客
登录 | 注册 方可回帖
返回
//