.


:




:

































 

 

 

 


.




, .

:

1. , , ;

2. , , , , .

, , . , , , , , , . , , .exe .dll-. . .

, . , , . , CreateThread (p1..p6). , , . , . , . , . , .

CreateThread , WinAPI. , . , Delphi TThread.

:

1. , ;

2. . , , . /STACK: arg1, arg2. , , . , . (x32 4kb, x64 8kb). . , , , , arg2. , ;

3. , ;

4. - - ;

5. , . 0 . 1 , , , ;

6. , , .

.

, , :

 

CreateThread . , , 2, 1, 0x103, . , P3, P4 . , . . CONTEXT, . EIP ESP. , . ESP , P3, EIP BaseThreadStart ().

CONTEXT. , P5. , . , , , CONTEXT . , , , . , . EIP BaseThreadStart (), , . P3, P4, , :

1. , , , ;

2. , , , P4;

3. .

, BaseThreadStart (). , , ExitThread(). , . , , .

() . BaseProcessStart (). , , , , P3 . , BaseProcessStart () , , .

.

4 :

1) . , ;

2) ExitThread ();

3) TerminateThread ();

4) , .

. , :

1) , , ;

2) , ;

3) , ( );

4) .

, ExitThread (). , , , , . , , . ExitThread , , .

, TerminateThread. . , . , , , .

. , . , , . , .

. . , ExitProcess () TerminateProcess (). , , . , , , , .

, :

1) , , , , , , , ..;

2) 0x103 , ;

3) , , , ;

4) ;

5) , .

. .

Windows , . , , .

Windows 2000 18 , , . , , , . . , , . , CONTEXT , . , , , , .

, :

1) ;

2) ;

3) ;

4) ;

.

, :

1) ;

2) ;

3) ;

4) - .

SUSPENDCOUNT, . , , . CreateProcess () CreateThread () , , . CreateThread, P5. , . , SUSPENDCOUNT , .

, . , - , , . , . , . ResumeThread (), , . - , , , , , . .

, . SuspendThread (). . , . . Sleep () , . . , . , , .

SwitchToThread (), , . , , , ( ). , . , . , , , .

Windows, , , , , . - . , .





:


: 2016-03-25; !; : 1256 |


:

:

, .
==> ...

1363 - | 1264 -


© 2015-2024 lektsii.org - -

: 0.029 .