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

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

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

[课程]Android-CTF解题方法汇总!

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

#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
活跃值: (169)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
吾爱破解的od可以
2017-6-15 18:11
0
游客
登录 | 注册 方可回帖
返回
//