首页
社区
课程
招聘
Armadillo3.70a双进程非远地址(非乱序)IMT修复脚本
发表于: 2004-5-24 19:24 7560

Armadillo3.70a双进程非远地址(非乱序)IMT修复脚本

2004-5-24 19:24
7560

:) 这个是我第一接触Armadillo,按fxyang兄加自己一丝调试偷懒写的,没测试很多,大家帮忙吧。。。3.70a是我在跟一个加Armadillo加壳的flash工具进壳里偷看的。。。test。。。test with you...

/*
Script written by NewHand...
        Armadillo3.70a双进程非远地址(非乱序)IMT修复脚本               
              OS : winXP, no test on others
             Tool: OD1.1b, OllyScript 0.81
Debugging options: Tick all items in Debugging Options-Exceptions
                   and add C000001D..C000001E in custom exceptions
Note:   It's hard to write it with me, because my brain is poor with
        idea and fist time touch Armadillo, and test... and rewritten,
        after long time, after all appeared...at best to design it with intellgences by me.
        my English is badly, I'm sorry with it.
        希望所有使用这个脚本的朋友都能pass-)Enjoy!
Thanks : fxyang-The firstman talk it as I See in bbs.pediy.com and get me his methor,
        Oleh Yuschuk, SHaG, jingulong, fly...over more oges essay's author, and you!
*/

var exchange
var push_eax
var push_edx
var check
var min
var max
var test

gpa "OpenMutexA", "kernel32.dll"
cmp $RESULT,0
je end
bp $RESULT
run
mov test,401000

redone:
find test,#0000000000000000000000000000000000000000000000#
cmp $RESULT,0
jne kill_father
add test,1000
jmp redone

kill_father:
go $RESULT
mov [$RESULT],#609C680000000033C05050E8B4B2A5779D61E933F7A577#
mov exchange,esp
add exchange,0C
mov exchange,[exchange]
add $RESULT,3
mov [$RESULT],exchange
mov eip,401000
run
run
mov [test],#0000000000000000000000000000000000000000000000#
bc eip

gpa "VirtualProtect", "kernel32.dll"
cmp $RESULT,0
je end
bp $RESULT
run
run
run
run
run
bc $RESULT
rtr
rtr
sti
mov exchange,eip
add exchange,20
mov $RESULT,[exchange]
mov $RESULT,[$RESULT]
bp $RESULT
run
bc $RESULT
find eip,#558BEC515333DB# //Find Special Hex Code!
cmp $RESULT,0
je end
add $RESULT,1E
bp $RESULT // Set break First Anti Address!
run
xor eax,eax // Fix the First Anti!
cmt eip,"Fixed the First Anti!"
bc $RESULT

gpa "VirtualAlloc", "kernel32.dll"
cmp $RESULT,0
je end
bp $RESULT
run
run
rtr
bc $RESULT

gpa "memcpy", "msvcrt.dll"
cmp $RESULT,0
je end
bp $RESULT
run
rtr
bc $RESULT
sti
findop eip,#0FB68550CEFFFF85C00F842A010000#
cmp $RESULT,0
je end
add $RESULT,7
bp $RESULT
run
xor eax,eax //Fix The Second Anti!
cmt eip,"Fixed the Second Anti!"
bc $RESULT
sti
sti

findop eip,#83C004898590E5FFFFEBCA#
cmp $RESULT,0
je end
add $RESULT,0B
bp $RESULT
run
bc $RESULT
sti
mov $RESULT,eip
add $RESULT,0B
mov $RESULT,[$RESULT]
bp $RESULT
run
run
run
bc $RESULT
find eip,#0FB68548CEFFFF#
cmp $RESULT,0
je end
add $RESULT,7
bp $RESULT
run
xor eax,eax ///Fix The Third Anti!
cmt eip,"Fixed the Third Anti!"
bc $RESULT
pause

findop eip,#8B8C95A0E6FFFF# //Start Searching and Fixing!
cmp $RESULT,0
je end
mov [$RESULT],#33C99090909090#

findop eip,#83BD80E2FFFF00#
cmp $RESULT,0
je end
add $RESULT,7
mov [$RESULT],#9090#

findop $RESULT,#FFB5C4CDFFFFFFB5B8E4FFFF#
cmp $RESULT,0
je end
mov exchange,$RESULT
add exchange,11
mov [exchange],#9090#

gpa "GetProcAddress", "kernel32.dll"
cmp $RESULT,0
je end
sub $RESULT,exchange
sub exchange,4
mov [exchange],$RESULT //Last Fixing!

serching_somthing:
findop eip,#59EB03D6D6#
cmp $RESULT,0
je end
mov check,$RESULT
bp $RESULT
find eip,#898570E8FFFF8B8570E8FFFF89851CE8FFFF83BDF0E6FFFF00#
cmp $RESULT,0
je end
bp $RESULT
run
mov max,eax
mov min,eax

check_address:
run
cmp eip,check
je final
mov test,eax
mov exchange,eax

check_max:
cmp test,max
ja save_max

check_min:
cmp exchange,min
jb save_min
jmp check_address

save_max:
mov max,test
jmp check_min

save_min:
mov min,test
jmp check_address

final:
bc $RESULT
bc eip
mov push_eax,eax
mov push_edx,edx

mov eax,min
mov edx,max
msg "Look at EAX, May be: Imt's Starting!"
msg "Look at EDX, May be: Imt's Ending!"
mov eax,push_eax
mov edx,push_edx
cmt eip,"The Imt's operation is finished!"
msg "Now why not to get THE CORRET IMT!"

end:
ret
:)


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

收藏
免费 10
支持
分享
最新回复 (5)
雪    币: 556
活跃值: (2303)
能力值: ( LV9,RANK:2130 )
在线值:
发帖
回帖
粉丝
2
SO GOOD THANK YOU!
2004-5-24 21:24
0
雪    币: 14937
活跃值: (4718)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
3
潜水牛人:o
2004-5-24 23:10
0
雪    币: 243
活跃值: (160)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
4
:( 哪里是牛呀 真正的牛在。。。

手头有个 OllyScript plugin v0.85 自处理的丑陋中英手册,如果有人要,我就发一下(CHM格式的),都做得很累 。。。没水准的。。。:o
2004-5-25 17:36
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
5
别客气,发出来吧,呵呵
2004-5-25 20:21
0
雪    币: 243
活跃值: (160)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
6
Fly,Sure、当然可以!
2004-5-26 22:50
0
游客
登录 | 注册 方可回帖
返回
//