首页
社区
课程
招聘
[转帖]ExeCryptor 2.x IAT Rebuilder [SCRIPT]
发表于: 2006-11-9 16:44 7238

[转帖]ExeCryptor 2.x IAT Rebuilder [SCRIPT]

2006-11-9 16:44
7238
http://www.cracklab.ru/f/index.php?action=vthread&forum=3&topic=6732
里面注释是俄文的。

////////////////////////////////////////////////////////////////
//
// EXECryptor 2.x IAT rebuilder by PE_Kill / REVENGE CREW v 1.9
// -------------------------------------------------------------
// Replace my values of iat_start and iat_end and run script! 
//
// =============================================================
// - HISTORY -
// =============================================================
// [ v 0.x-1.7 ]
// Private versions
//
// [ v 1.8 ]
// Public version
//
// [ v 1.9 ]
// ! Thanks pavka, for good BugReport
// * tracing became some slower, but is more stable.
// * little bugfixes in IAT reader.
// =============================================================
//
////////////////////////////////////////////////////////////////

 var _esp
 var iat_start
 var iat_end
 var iat_cur
 var addr
 var counter
 var flag
 var c_gpa
 var temp
 var gmh
 var ll
 var ibase
 var iend

//================================================
// 软桷栲腓玷痼屐 IAT
//================================================
 mov iat_start,00471FF8
 mov iat_end,00472EB4

//================================================
// 项塍鬣屐 桧纛痨圉棹 ?镳铞羼皴
//================================================

//================================================
// 项塍鬣屐 ImageBase 狃篁铎, ?? 铍?桧钽溧 礤 
// 躅麇?溧螯 邈?眍痨嚯?? 耧铖钺铎
//================================================
 mov addr,eip
 and addr,FFFFF000
 add addr,1000
@get_base:
 sub addr,1000
 mov temp,[addr]
 and temp,0000FFFF
 cmp temp,00005A4D
 jne @get_base
//================================================
// 铃疱?桤 觚溴疣 ImageSize, 眍 桧钽溧 牮栾蝾?邈?
// 镱痱栩, 镱?铎?狍溴?镥疱耱疣躅怅?..
//================================================
 mov ibase,addr
 mov temp,addr
 add temp,3C
 mov temp,[temp]
 add temp,ibase
 add temp,50
 mov iend,[temp]
 eval "ImageSize = {iend} ???"
 msgyn $RESULT
 cmp $RESULT,1
 je @run
 ask "Enter real ImageSize!"
 mov iend,$RESULT
@run:
 add iend,ibase
 

//================================================
// 想篦噱?噤疱襦 老? 觐蝾瘥?桉镱朦珞弪 怵囡镥?
//================================================
 gpa "GetModuleHandleA","kernel32.dll"
 mov gmh,$RESULT
 gpa "LoadLibraryA","kernel32.dll"
 mov ll,$RESULT
//////////////////////////////////////////////////
 mov _esp,esp
 mov iat_cur,iat_start
 sub iat_cur,4
 mov c_gpa,0		// Cryptor GetProcAddress 礤桤忮耱磬
//=================================================
// 骤觌 忸耨蜞眍怆屙? IAT
//=================================================
@imprec:
 add iat_cur,4
 cmp iat_cur,iat_end 	// 暑礤?
 ja @end
 mov addr,[iat_cur]
 cmp addr,0		// 朽玟咫栩咫?
 je @imprec
 cmp addr,ibase
 jb @imprec
 cmp addr,iend
 ja @imprec

 mov esp,_esp		// 骂耨蜞磬怆桠噱?耱尻
 mov eip,addr		// 埋蜞屐 磬 怵囡镥?
 mov [esp],eip		// 软钽溧 牮栾蝾?麒蜞弪 徉轵 镱 噤疱耋 忸玮疣蜞
 mov counter,25		// 痒弪麒?蝠囫耔痤怅?
 mov flag,0		// 丸麇泐 礤 磬殇屙?
//==================================================
// 腮屐 觐爨礓?镳钼屦觇 忭篁疱眄彘 IAT
//==================================================
@chk_run:
 dec counter
 cmp counter,0		// 篷腓 聍弪麒?钺眢腓腭?
 je @find_gpa		// 翌 桎屐 磬 Cryptor gpa
 sti			// 腻豚屐 ??
 mov temp,[eip] 	// 阻蜞屐 徉轵??eip
 cmp flag,0		// 篷腓 妁?龛麇泐 礤 磬殇屙?
 ja @chk_jnz
 and temp,0000FFFF 	// 腮屐 OR EAX,EAX
 cmp temp,0000C009
 jne @chk_run		// 湾?耠邃簋??觐爨礓?
 inc flag		// 袜?? 恹耱噔?屐 綦嚆
 jmp @chk_run		// 蠕屐 磬 耠邃簋??觐爨礓?
@chk_jnz:
 and temp,0000FFFF 	// 腮屐 JNZ xxxxxxxx
 cmp temp,0000850F
 jne @chk_run		// 湾?耠邃簋??觐爨礓?
 mov !ZF,1 		// 泥 磬?? 泐忸痂?牮栾蝾痼, 黩?忭篁疱眄? IAT 矬耱?

@find_gpa:
 cmp c_gpa,0		// 袜??腓 禧 噤疱?Cryptor GetProcAddress?
 jne @trace		// 篷腓 磬??蝾 桎屐 磬 镱塍麇龛?噤疱襦 老?
 bphws gmh,"x"		// 软圜?耱噔桁 狃?磬 GetModuleHandleA
 bphws ll,"x"		// ?磬 LoadLibraryA
 ticnd "WORD [eip]==453Bh" // 蝠囫耔痼屐, 镱赅 礤 漕殇屐 漕 耩噔礤龛?觚??
 bphwc ll		// 耥桁噱?狃???老?
 bphwc gmh
 cmp eip,gmh		// 帖 磬 GetModuleHandleA?
 jne @chk_ll		// 湾?耠邃簋??镳钼屦赅...
 bp [esp]		// 软圜?镥疱躅滂?磬 噤疱?忸玮疣蜞
 run
 bc eip
 jmp @find_gpa		// 耥钼?桎屐 磬 镱桉?Cryptor GetProcAddress
@chk_ll:
 cmp eip,ll		// 帖 磬 GetModuleHandleA?
 jne @f_jnz		// 湾?耠邃簋??镳钼屦赅...
 bp [esp]		// 软圜?镥疱躅滂?磬 噤疱?忸玮疣蜞
 run
 bc eip
 jmp @find_gpa		// 耥钼?桎屐 磬 镱桉?Cryptor GetProcAddress
//=================================================
// 义镥瘘 棂屐 jnz xxxxxxxx
//=================================================
@f_jnz:
 sti
 mov temp,[eip] // 659F850F
 and temp,0000FFFF
 cmp temp,0000850F
 jne @f_jnz
 mov !ZF,1		// 羼腓 磬?? 蝾 ?Z 腩骅?邃桧梓牦, 赅?狍潋?觚? 耦怙嚯?
//==================================================
// 义镥瘘 棂屐 怛铕簋 镱 聍弪?觐爨礓?ADD EAX,DWORD PTR SS:[EBP-4]
//==================================================
 mov counter,2		
@f_add:
 sti
 mov temp,[eip] // 68FC4503
 and temp,00FFFFFF
 cmp temp,00FC4503
 jne @f_add
 sti
 dec counter
 cmp counter,0
 jne @f_add 
 mov c_gpa,eip		// 义牦??噤疱??狍溴?噤疱耦?Cryptor GetProcAddress
 sub iat_cur,4		// 骂玮疣?屐 箨噻囹咫?磬 IAT ?镳彐礤?镱腩驽龛?
 jmp @imprec		// 骂玮疣?屐? ?鲨觌 忸耨蜞眍怆屙? 壤?

//==================================================
// 项塍麇龛?噤疱襦 老?..
//==================================================
@trace:
 bphws c_gpa,"x"
 run
 bphwc c_gpa
 cmp eip,c_gpa
 jne @error
 mov [iat_cur],eax
 jmp @imprec
@end:
 msg "OK!" 
pause
ret

@error:
 msg "error!!!"
 pause
ret

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

上传的附件:
收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
2
PE_Kill 很牛
测试下脚本
2006-11-9 17:04
0
雪    币: 13597
活跃值: (4393)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
3
又是牛人杰作.收藏ing...
2006-11-9 17:25
0
雪    币: 238
活跃值: (12)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
4
支持分享!Pe_Kill的aspack全系列脱壳机是历史上最完美的脱壳机,脱了壳和没加壳之前几乎完全一样。
2006-11-9 17:28
0
雪    币: 304
活跃值: (82)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
5
要是有Themida全系列脱壳机就好了,
2006-11-9 17:35
0
雪    币: 817
活跃值: (1927)
能力值: ( LV12,RANK:2670 )
在线值:
发帖
回帖
粉丝
6
收藏一个PE-KILL的东西
2006-11-9 19:39
0
雪    币: 250
活跃值: (11)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
7
收下了,好东东,支持一下
2006-11-9 20:51
0
游客
登录 | 注册 方可回帖
返回
//