La base addresse du Kernel32.dll avec un code inconnu !
Salut !
Je suis un nouveau membre dans ce forum. J'ai trouvé un code en Assembleur 32 bits bien sûr, pour obtenir la base address du Kernel32.dll. Mais, j'ai pas compris une partie dans ce code-là :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| xor eax, eax ; eax = 0
add eax, 48 ; 30h = PEB
mov ecx, fs:[eax] ; Into PEB
mov ecx, [ecx + 0x0C] ; PEB->LDR
mov ecx, [ecx + 0x14] ; 1st Entry
mov ecx, [ecx] ; 2nd Entry
mov ecx, [ecx] ; 3rd Entry
mov ecx, [ecx + 0x10] ; Kernel32.dll Base Address
push ecx ; Save the Kernel32.dll Base Address in Stack
-------------------------------------------
mov ecx, [ecx] ; 2nd Entry
mov ecx, [ecx] ; 3rd Entry
-------------------------------------------- |
J'ai pas compris cette partie de code, c'est le même code, mais il retourne une adresse différente par rapport à l'autre.
Y a t-il quelqu'un entre vous qui peut m'aider à comprendre cet trick ?
Merci en avance.