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à :
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 --------------------------------------------
Y a t-il quelqu'un entre vous qui peut m'aider à comprendre cet trick ?
Merci en avance.
Partager