首页
社区
课程
招聘
[求助]SVKP 1.3x 特殊API的查找
发表于: 2006-3-1 21:30 5130

[求助]SVKP 1.3x 特殊API的查找

2006-3-1 21:30
5130
例子是:手动脱壳进阶第八篇Skvp1.32的NotePad
修复特殊加密的API有两种方法:一是跳过那段让某些API标识为特殊API的代码,也就是说让特殊API不再特殊。二是不管他,直接到OEP。修复。结果发现有几个无法修复。手动跟踪到这个位置。现在问题来了。为了“省事”,我在kernel32.dll的.text段下内存访问断点。我觉得既然下面的004010D3肯定会调用kernel32.dll中的某个函数,那么就应该会被内存断点拦下来。可惜,根本拦不下来。为何?
004010CC   55               PUSH EBP
004010CD   8BEC             MOV EBP,ESP
004010CF   83EC 44          SUB ESP,44
004010D2   56               PUSH ESI
004010D3   FF15 E4634000    CALL DWORD PTR DS:[4063E4]  //步入跟踪
004010D9   8BF0             MOV ESI,EAX
004010DB   8A00             MOV AL,BYTE PTR DS:[EAX]
004010DD   3C 22            CMP AL,22
004010DF   75 1B            JNZ SHORT NOTEPAD.004010FC
004010E1   56               /PUSH ESI
004010E2   FF15 F4644000    |CALL DWORD PTR DS:[4064F4]  
004010E8   8BF0             |MOV ESI,EAX                //拦下后返回到这里
004010EA   8A00             |MOV AL,BYTE PTR DS:[EAX]
004010EC   84C0             |TEST AL,AL
004010EE   74 04            |JE SHORT NOTEPAD.004010F4
004010F0   3C 22            |CMP AL,22
004010F2  ^75 ED            \JNZ SHORT NOTEPAD.004010E1



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

收藏
免费 0
支持
分享
最新回复 (11)
雪    币: 207
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
传个加壳的记事本上来看看
2006-3-1 22:34
0
雪    币: 10
活跃值: (130)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
SVKP 1.32的NotePad。
上传的附件:
2006-3-2 17:27
0
雪    币: 1022
活跃值: (31)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
我也遇到了相同的问题。
跟踪发现一直在壳里面打转,没去调用什么API。不会是壳把那几个API自己实现了吧!
请高手指点!
2006-3-2 19:25
0
雪    币: 303
活跃值: (461)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
是壳把那几个API自己实现了
2006-3-2 19:54
0
雪    币: 1022
活跃值: (31)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
对付这类壳有什么好方法没(API自己实现的那类)?
2006-3-2 20:47
0
雪    币: 10
活跃值: (130)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
只能跟着“感觉”走了?
2006-3-3 12:03
0
雪    币: 164
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
sas
8
我也一样,请高手出来指点
2006-4-20 11:39
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ckj
9
学习 学习 收益
2006-4-21 11:01
0
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
10
写了个教程,希望你能看懂
上传的附件:
2006-4-21 18:18
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
Win2003下
Import1.6修复的时候
始终又几个修复不了
2006-8-19 14:26
0
雪    币: 304
活跃值: (82)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
12
最初由 lingyu 发布
对付这类壳有什么好方法没(API自己实现的那类)?


看看loveboom的这段脚本就知道了,对于特殊函数只要找到关键判断的地方绕开就行了

.....
find eip,#EB02CD2058EB020FE88907# //find iat magic jmp
mov addr,$RESULT
asm addr,"pop eax"
add addr,1
mov [addr],#8b44241C# //replace to "mov eax,DS:[ESP+1C]" action:fix import functions

lblcheck:
find eip,#813B706586B1EB03C7848B0F84# //fix API function "GetModuleHandleA"
mov addr,$RESULT
cmp addr,0
jne lblfix0
find eip,#813BC5B1662DEB03C784E80F84# //Fix API function "GetCommandLineA"
mov addr,$RESULT
cmp addr,0
jne lblfix0
find eip,#813BCC971025EB03C784E90F84# //Fix API function "ExitProcess"
mov addr,$RESULT
cmp addr,0
jne lblfix0
find eip,#813BA41A86D0EB03C7849A0F84# //Fix API function "GetCurrentProcess
mov addr,$RESULT
cmp addr,0
jne lblfix0
find eip,#813B4A7687DFEB02CD200F84# //Fix API function "GetVersionExA"
mov addr,$RESULT
cmp addr,0
jne lblfix1
find eip,#813B0F1ACF4CEB02CD200F84# //Fix API function "GetVersion"
mov addr,$RESULT
.....

lblfix0:
add addr,B
mov [addr],#EB04#
jmp lblcheck

lblfix1:
mov addr,$RESULT
add addr,A
mov [addr],#EB04#
jmp lblcheck
2006-8-19 21:58
0
游客
登录 | 注册 方可回帖
返回
//