0% found this document useful (0 votes)
11 views4 pages

Gadget Information and ROP Chain Analysis

The document contains a detailed list of assembly language instructions with their corresponding memory addresses. Each instruction involves various operations such as addition, jumps, calls, and logical operations. The instructions appear to be part of a low-level programming or reverse engineering context, likely related to a specific software or hardware functionality.

Uploaded by

cuunahdug
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
11 views4 pages

Gadget Information and ROP Chain Analysis

The document contains a detailed list of assembly language instructions with their corresponding memory addresses. Each instruction involves various operations such as addition, jumps, calls, and logical operations. The instructions appear to be part of a low-level programming or reverse engineering context, likely related to a specific software or hardware functionality.

Uploaded by

cuunahdug
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd

Gadgets information

============================================================
0x080489d5 : adc al, 0x41 ; ret
0x08048412 : adc al, 0xa0 ; add al, 8 ; push 0x10 ; jmp 0x80483e0
0x08048417 : adc byte ptr [eax], al ; add byte ptr [eax], al ; jmp 0x80483e0
0x08048697 : adc byte ptr [ecx + 0x1cec1], al ; add cl, al ; jmp 0xfbe00ba6
0x08048534 : adc cl, cl ; ret
0x080484a8 : add al, 0x59 ; pop ebp ; lea esp, [ecx - 4] ; ret
0x080485a8 : add al, 8 ; add ecx, ecx ; ret
0x0804852e : add al, 8 ; call eax
0x0804857b : add al, 8 ; call edx
0x080483f4 : add al, 8 ; push 0 ; jmp 0x80483e0
0x08048414 : add al, 8 ; push 0x10 ; jmp 0x80483e0
0x08048424 : add al, 8 ; push 0x18 ; jmp 0x80483e0
0x08048434 : add al, 8 ; push 0x20 ; jmp 0x80483e0
0x08048444 : add al, 8 ; push 0x28 ; jmp 0x80483e0
0x08048454 : add al, 8 ; push 0x30 ; jmp 0x80483e0
0x08048464 : add al, 8 ; push 0x38 ; jmp 0x80483e0
0x08048474 : add al, 8 ; push 0x40 ; jmp 0x80483e0
0x08048404 : add al, 8 ; push 8 ; jmp 0x80483e0
0x0804853f : add bl, dh ; ret
0x0804853d : add byte ptr [eax], al ; add bl, dh ; ret
0x080483f7 : add byte ptr [eax], al ; add byte ptr [eax], al ; jmp 0x80483e0
0x080485bc : add byte ptr [eax], al ; add byte ptr [eax], al ; push ebp ; mov ebp,
esp ; pop ebp ; jmp 0x8048550
0x0804853c : add byte ptr [eax], al ; add byte ptr [eax], al ; repz ret
0x080485bd : add byte ptr [eax], al ; add byte ptr [ebp - 0x77], dl ; in eax,
0x5d ; jmp 0x8048550
0x080483cc : add byte ptr [eax], al ; add esp, 8 ; pop ebx ; ret
0x0804885e : add byte ptr [eax], al ; cmp bl, 0xff ; jmp dword ptr [eax]
0x080483f9 : add byte ptr [eax], al ; jmp 0x80483e0
0x080486f7 : add byte ptr [eax], al ; pop ebx ; pop esi ; pop edi ; ret
0x080485be : add byte ptr [eax], al ; push ebp ; mov ebp, esp ; pop ebp ; jmp
0x8048550
0x0804853e : add byte ptr [eax], al ; repz ret
0x0804885a : add byte ptr [eax], al ; xor byte ptr [eax], al ; add byte ptr [eax],
al ; cmp bl, 0xff ; jmp dword ptr [eax]
0x080486d0 : add byte ptr [eax], al ; xor eax, eax ; pop ebx ; pop esi ; pop edi ;
ret
0x080484c5 : add byte ptr [ebp - 0x189f7d], cl ; call dword ptr [eax - 0x73]
0x080485bf : add byte ptr [ebp - 0x77], dl ; in eax, 0x5d ; jmp 0x8048550
0x080484a5 : add byte ptr [ebx + 0x5d5904c4], al ; lea esp, [ecx - 4] ; ret
0x080486f8 : add byte ptr [ebx + 0x5e], bl ; pop edi ; ret
0x080486d1 : add byte ptr [ecx], dh ; rcr byte ptr [ebx + 0x5e], 0x5f ; ret
0x0804869d : add cl, al ; jmp 0xfbe00ba6
0x080486f6 : add dword ptr [eax], eax ; add byte ptr [ebx + 0x5e], bl ; pop edi ;
ret
0x080486cf : add dword ptr [eax], eax ; add byte ptr [ecx], dh ; rcr byte ptr [ebx
+ 0x5e], 0x5f ; ret
0x0804869b : add dword ptr [eax], eax ; add cl, al ; jmp 0xfbe00ba6
0x080485a5 : add eax, 0x804a03c ; add ecx, ecx ; ret
0x080485aa : add ecx, ecx ; ret
0x08048532 : add esp, 0x10 ; leave ; ret
0x080486f3 : add esp, 0x1d0 ; pop ebx ; pop esi ; pop edi ; ret
0x08048755 : add esp, 0xc ; pop ebx ; pop esi ; pop edi ; pop ebp ; ret
0x080484a6 : add esp, 4 ; pop ecx ; pop ebp ; lea esp, [ecx - 4] ; ret
0x080483ce : add esp, 8 ; pop ebx ; ret
0x08048452 : and al, 0xa0 ; add al, 8 ; push 0x30 ; jmp 0x80483e0
0x08048437 : and byte ptr [eax], al ; add byte ptr [eax], al ; jmp 0x80483e0
0x080489d2 : and byte ptr [edi + 0xe], al ; adc al, 0x41 ; ret
0x080484c7 : and dword ptr [eax - 0x19], 0xffffffff ; call dword ptr [eax - 0x73]
0x080487ff : call dword ptr [eax + 0x10000001]
0x080484d2 : call dword ptr [eax + 0x51]
0x080484cb : call dword ptr [eax - 0x73]
0x08048530 : call eax
0x0804857d : call edx
0x080484ad : cld ; ret
0x080485a6 : cmp al, 0xa0 ; add al, 8 ; add ecx, ecx ; ret
0x08048860 : cmp bl, 0xff ; jmp dword ptr [eax]
0x08048467 : cmp byte ptr [eax], al ; add byte ptr [eax], al ; jmp 0x80483e0
0x080485bb : daa ; add byte ptr [eax], al ; add byte ptr [eax], al ; push ebp ; mov
ebp, esp ; pop ebp ; jmp 0x8048550
0x0804853b : daa ; add byte ptr [eax], al ; add byte ptr [eax], al ; repz ret
0x080489d0 : dec ebp ; push cs ; and byte ptr [edi + 0xe], al ; adc al, 0x41 ; ret
0x080486a2 : fcomi st(3) ; stosd dword ptr es:[edi], eax ; je 0x80486e0 ; xor edi,
edi ; jmp 0x80486b6
0x080484e2 : hlt ; mov ebx, dword ptr [esp] ; ret
0x080485c2 : in eax, 0x5d ; jmp 0x8048550
0x080484c2 : inc eax ; sbb eax, dword ptr [eax] ; add byte ptr [ebp - 0x189f7d], cl
; call dword ptr [eax - 0x73]
0x08048940 : inc ebx ; ret
0x08048961 : inc ecx ; ret
0x080489d3 : inc edi ; push cs ; adc al, 0x41 ; ret
0x080485a3 : inc esi ; add eax, 0x804a03c ; add ecx, ecx ; ret
0x0804869a : into ; add dword ptr [eax], eax ; add cl, al ; jmp 0xfbe00ba6
0x080485ae : jbe 0x80485b0 ; repz ret
0x0804875e : jbe 0x8048760 ; repz ret
0x08048585 : je 0x80485ad ; add bl, dh ; ret
0x080486a5 : je 0x80486e0 ; xor edi, edi ; jmp 0x80486b6
0x08048754 : jecxz 0x80486d9 ; les ecx, ptr [ebx + ebx*2] ; pop esi ; pop edi ; pop
ebp ; ret
0x080483fb : jmp 0x80483e0
0x080485c4 : jmp 0x8048550
0x080486a9 : jmp 0x80486b6
0x0804869f : jmp 0xfbe00ba6
0x08048863 : jmp dword ptr [eax]
0x08048753 : jne 0x8048738 ; add esp, 0xc ; pop ebx ; pop esi ; pop edi ; pop ebp ;
ret
0x08048539 : lea edi, [edi] ; repz ret
0x08048584 : lea esi, [esi] ; repz ret
0x080484ab : lea esp, [ecx - 4] ; ret
0x08048535 : leave ; ret
0x080484a7 : les eax, ptr [ecx + ebx*2] ; pop ebp ; lea esp, [ecx - 4] ; ret
0x080483cf : les ecx, ptr [eax] ; pop ebx ; ret
0x08048756 : les ecx, ptr [ebx + ebx*2] ; pop esi ; pop edi ; pop ebp ; ret
0x08048533 : les edx, ptr [eax] ; leave ; ret
0x080485a7 : mov al, byte ptr [0xc9010804] ; ret
0x0804852d : mov al, byte ptr [0xd0ff0804] ; add esp, 0x10 ; leave ; ret
0x0804857a : mov al, byte ptr [0xd2ff0804] ; add esp, 0x10 ; leave ; ret
0x080485a4 : mov byte ptr [0x804a03c], 1 ; leave ; ret
0x080483ca : mov dl, 0 ; add byte ptr [eax], al ; add esp, 8 ; pop ebx ; ret
0x080485c1 : mov ebp, esp ; pop ebp ; jmp 0x8048550
0x080484e3 : mov ebx, dword ptr [esp] ; ret
0x0804853a : mov esp, 0x27 ; add bl, dh ; ret
0x080484ff : nop ; mov ebx, dword ptr [esp] ; ret
0x080484fd : nop ; nop ; mov ebx, dword ptr [esp] ; ret
0x080484fb : nop ; nop ; nop ; mov ebx, dword ptr [esp] ; ret
0x080484e8 : nop ; nop ; nop ; nop ; nop ; repz ret
0x080484ea : nop ; nop ; nop ; nop ; repz ret
0x080484ec : nop ; nop ; nop ; repz ret
0x080484ee : nop ; nop ; repz ret
0x080484ef : nop ; repz ret
0x08048757 : or al, 0x5b ; pop esi ; pop edi ; pop ebp ; ret
0x080483f2 : or al, 0xa0 ; add al, 8 ; push 0 ; jmp 0x80483e0
0x08048407 : or byte ptr [eax], al ; add byte ptr [eax], al ; jmp 0x80483e0
0x080485a9 : or byte ptr [ecx], al ; leave ; ret
0x080484d0 : out 0xff, eax ; call dword ptr [eax + 0x51]
0x080484c9 : out 0xff, eax ; call dword ptr [eax - 0x73]
0x080485c3 : pop ebp ; jmp 0x8048550
0x080484aa : pop ebp ; lea esp, [ecx - 4] ; ret
0x0804875b : pop ebp ; ret
0x08048758 : pop ebx ; pop esi ; pop edi ; pop ebp ; ret
0x080486d4 : pop ebx ; pop esi ; pop edi ; ret
0x080483d1 : pop ebx ; ret
0x080484a9 : pop ecx ; pop ebp ; lea esp, [ecx - 4] ; ret
0x0804875a : pop edi ; pop ebp ; ret
0x080486d6 : pop edi ; ret
0x08048759 : pop esi ; pop edi ; pop ebp ; ret
0x080486d5 : pop esi ; pop edi ; ret
0x080484ac : popal ; cld ; ret
0x080483f6 : push 0 ; jmp 0x80483e0
0x08048416 : push 0x10 ; jmp 0x80483e0
0x08048426 : push 0x18 ; jmp 0x80483e0
0x08048436 : push 0x20 ; jmp 0x80483e0
0x08048446 : push 0x28 ; jmp 0x80483e0
0x08048456 : push 0x30 ; jmp 0x80483e0
0x08048466 : push 0x38 ; jmp 0x80483e0
0x08048476 : push 0x40 ; jmp 0x80483e0
0x0804852b : push 0x804a038 ; call eax
0x08048578 : push 0x804a038 ; call edx
0x08048406 : push 8 ; jmp 0x80483e0
0x080489d4 : push cs ; adc al, 0x41 ; ret
0x080489d1 : push cs ; and byte ptr [edi + 0xe], al ; adc al, 0x41 ; ret
0x080489ce : push cs ; xor byte ptr [ebp + 0xe], cl ; and byte ptr [edi + 0xe],
al ; adc al, 0x41 ; ret
0x08048577 : push eax ; push 0x804a038 ; call edx
0x080485c0 : push ebp ; mov ebp, esp ; pop ebp ; jmp 0x8048550
0x080484e1 : push esp ; mov ebx, dword ptr [esp] ; ret
0x080484c8 : pushal ; out 0xff, eax ; call dword ptr [eax - 0x73]
0x080486d3 : rcr byte ptr [ebx + 0x5e], 0x5f ; ret
0x080486a3 : rep stosd dword ptr es:[edi], eax ; je 0x80486e0 ; xor edi, edi ; jmp
0x80486b6
0x080484f0 : repz ret
0x080483ba : ret
0x0804855e : ret 0xeac1
0x080486f5 : rol byte ptr [ecx], 1 ; add byte ptr [eax], al ; pop ebx ; pop esi ;
pop edi ; ret
0x080486ce : rol byte ptr [ecx], 1 ; add byte ptr [eax], al ; xor eax, eax ; pop
ebx ; pop esi ; pop edi ; ret
0x080484e4 : sbb al, 0x24 ; ret
0x08048432 : sbb al, 0xa0 ; add al, 8 ; push 0x20 ; jmp 0x80483e0
0x08048427 : sbb byte ptr [eax], al ; add byte ptr [eax], al ; jmp 0x80483e0
0x080484c3 : sbb eax, dword ptr [eax] ; add byte ptr [ebp - 0x189f7d], cl ; call
dword ptr [eax - 0x73]
0x080486a4 : stosd dword ptr es:[edi], eax ; je 0x80486e0 ; xor edi, edi ; jmp
0x80486b6
0x08048472 : sub al, 0xa0 ; add al, 8 ; push 0x40 ; jmp 0x80483e0
0x08048447 : sub byte ptr [eax], al ; add byte ptr [eax], al ; jmp 0x80483e0
0x08048574 : sub esp, 0x10 ; push eax ; push 0x804a038 ; call edx
0x08048528 : sub esp, 0x14 ; push 0x804a038 ; call eax
0x08048538 : test byte ptr [ebp + 0x27bc], 0 ; add bl, dh ; ret
0x080486a1 : test ebx, ebx ; rep stosd dword ptr es:[edi], eax ; je 0x80486e0 ; xor
edi, edi ; jmp 0x80486b6
0x0804885c : xor byte ptr [eax], al ; add byte ptr [eax], al ; cmp bl, 0xff ; jmp
dword ptr [eax]
0x08048457 : xor byte ptr [eax], al ; add byte ptr [eax], al ; jmp 0x80483e0
0x080489cf : xor byte ptr [ebp + 0xe], cl ; and byte ptr [edi + 0xe], al ; adc al,
0x41 ; ret
0x080486d2 : xor eax, eax ; pop ebx ; pop esi ; pop edi ; ret
0x080486a7 : xor edi, edi ; jmp 0x80486b6

Unique gadgets found: 167

ROP chain generation


===========================================================

- Step 1 -- Write-what-where gadgets

[-] Can't find the 'mov dword ptr [r32], r32' gadget

You might also like