首页
社区
课程
招聘
[求助]求过itunes反调试检测的思路
发表于: 2016-1-17 19:08 5499

[求助]求过itunes反调试检测的思路

2016-1-17 19:08
5499
各位大神见笑, 最近因为需要,需要逆向itunes, 太菜,ollyice加载itunes硬没跑起来,hideOD的插件用了,几个关键api也断了,实在过不去,请虐过itunes的大神们给点指点

[注意]看雪招聘,专注安全领域的专业人才平台!

收藏
免费
支持
分享
最新回复 (4)
雪    币: 18
活跃值: (1059)
能力值: ( LV7,RANK:110 )
在线值:
发帖
回帖
粉丝
2
时间戳-时间戳=代码执行时间,下断点一定可以看到GetTickCount。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <windows.h>
 
#ifdef _MSC_VER
void RuntimeCheckDebugger(){
    static unsigned long previous_time = 0;
    unsigned long pbDebuggerPresent = 0;
    unsigned long runtime = GetTickCount();
    if ( runtime > (previous_time + 0xEA60)){
        if ( IsDebuggerPresent() ||
            (CheckRemoteDebuggerPresent(GetCurrentProcess(),reinterpret_cast<PBOOL>(&pbDebuggerPresent)) == 1) &&
            pbDebuggerPresent == 1 ){
            GetExitCodeProcess(GetCurrentProcess(),&pbDebuggerPresent);
            TerminateProcess(GetCurrentProcess(),pbDebuggerPresent);
        }
        previous_time = runtime;
    }
}
DWORD __stdcall CheckDebuggerThread(LPVOID arg){
    for(;;){
        RuntimeCheckDebugger();
        Sleep(100);
    }
}
BOOL APIENTRY DllMain( HMODULE hModule,DWORD ul_reason_for_call,LPVOID lpReserved){
    DisableThreadLibraryCalls(hModule);
    if(ul_reason_for_call==DLL_PROCESS_ATTACH){
        CloseHandle(CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)CheckDebuggerThread,NULL,0,NULL));
    }
    return TRUE;
}
#endif
2016-1-17 19:25
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
这个思路果然很牛B
2016-1-17 20:07
0
雪    币: 350
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
DllMain里还有一处 RegCloseKey(0xFFFF0000)
2016-1-18 10:34
0
雪    币: 244
活跃值: (189)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
吾爱破解的od可以
2017-6-15 18:11
0
游客
登录 | 注册 方可回帖
返回

账号登录
验证码登录

忘记密码?
没有账号?立即免费注册