Browse Subversion Repository
Diff of /trunk/TTXSamples/TTXKcodeChange/TTXKcodeChange.c
Parent Directory
| Revision Log
| Patch
19 |
// cf.http://jet2.u-abel.net/program/tips/forceimp.htm |
// cf.http://jet2.u-abel.net/program/tips/forceimp.htm |
20 |
// 装飾された名前のアドレスを作るための仮定義 |
// 装飾された名前のアドレスを作るための仮定義 |
21 |
// (これだけでインポートを横取りしている) |
// (これだけでインポートを横取りしている) |
22 |
EXTERN_C int WINAPI _imp__IsDebuggerPresent() |
int WINAPI _imp__IsDebuggerPresent() |
23 |
{ return PtrToInt((void*) &_imp__IsDebuggerPresent); } |
{ return PtrToInt((void*) &_imp__IsDebuggerPresent); } |
24 |
// 実際に横取り処理を行う関数 |
// 実際に横取り処理を行う関数 |
25 |
EXTERN_C BOOL WINAPI Cover_IsDebuggerPresent() |
BOOL WINAPI Cover_IsDebuggerPresent() |
26 |
{ return FALSE; } |
{ return FALSE; } |
27 |
// 関数が実際に呼び出されたときに備えて |
// 関数が実際に呼び出されたときに備えて |
28 |
// 横取り処理関数を呼び出させるための下準備 |
// 横取り処理関数を呼び出させるための下準備 |
29 |
EXTERN_C void __stdcall DoCover_IsDebuggerPresent() |
void __stdcall DoCover_IsDebuggerPresent() |
30 |
{ |
{ |
31 |
DWORD dw; |
DWORD dw; |
32 |
DWORD_PTR FAR* lpdw; |
DWORD_PTR FAR* lpdw; |
46 |
// この変数宣言の手前に書きます。 |
// この変数宣言の手前に書きます。 |
47 |
// 初期化を急ぐ必要が無い場合は WinMain 内から |
// 初期化を急ぐ必要が無い場合は WinMain 内から |
48 |
// DoCover_IsDebuggerPresent を呼び出して構いません。 |
// DoCover_IsDebuggerPresent を呼び出して構いません。 |
49 |
EXTERN_C int s_DoCover_IsDebuggerPresent |
//int s_DoCover_IsDebuggerPresent |
50 |
= (int) (DoCover_IsDebuggerPresent(), 0); |
// = (int) (DoCover_IsDebuggerPresent(), 0); |
51 |
|
|
52 |
#define ORDER 4800 |
#define ORDER 4800 |
53 |
|
|
389 |
break; |
break; |
390 |
case DLL_PROCESS_ATTACH: |
case DLL_PROCESS_ATTACH: |
391 |
/* do process initialization */ |
/* do process initialization */ |
392 |
|
DoCover_IsDebuggerPresent(); |
393 |
hInst = hInstance; |
hInst = hInstance; |
394 |
pvar = &InstVar; |
pvar = &InstVar; |
395 |
break; |
break; |
|
Legend:
Removed from v.109 |
|
changed lines |
|
Added in v.110 |
|
|
|