[CTF] PICOCTF2019 3

picoCTF 2019 – asm3

asm3은 0xd2c26416, 0xe6cf51f0, 0xe54409d5가 인자일 때 return값을 구하는 문제이다. asm3: :push ebp :mov ebp,esp :xor eax,eax :mov ah,BYTE PTR [ebp+0x9] :shl ax,0x10 :sub al,BYTE PTR [ebp+0xe] :add ah,BYTE PTR [ebp+0xf] :xor ax,WORD PTR [ebp+0x12] :nop :pop ebp :ret : push ebp : mov ebp, esp → ebp에 esp 값을 복사한다. : xor eax, eax → 같은 값인 eax를 xor연산하기 때문에 결과가 0이 되고, eax값이 0이 된다. : mov ah, BYTE PTR [ebp+0x9] → [ebp+0x..

[CTF] PICOCTF2019 2023.12.29

picoCTF 2019 - asm2

asm2는 0x4, 0x21을 넣었을 때 return 값을 구하는 문제였다. asm2: :push ebp :mov ebp,esp :sub esp,0x10 :mov eax,DWORD PTR [ebp+0xc] :mov DWORD PTR [ebp-0x4],eax :mov eax,DWORD PTR [ebp+0x8] :mov DWORD PTR [ebp-0x8],eax :jmp 0x509 :add DWORD PTR [ebp-0x4],0x1 :add DWORD PTR [ebp-0x8],0x74 :cmp DWORD PTR [ebp-0x8],0xfb46 :jle 0x501 :mov eax,DWORD PTR [ebp-0x4] :leave :ret : push ebp : mov ebp, esp 까지 스택의 모양을 그려보았다..

[CTF] PICOCTF2019 2023.12.29

picoCTF 2019 - asm1

asm1 문제는 0x6fa를 넣으면 asm1이 16진수로 리턴하는 값이 무엇인지 구하는 것이다. asm1: :push ebp :mov ebp,esp :cmp DWORD PTR [ebp+0x8],0x3a2 :jg 0x512 :cmp DWORD PTR [ebp+0x8],0x358 :jne 0x50a :mov eax,DWORD PTR [ebp+0x8] :add eax,0x12 :jmp 0x529 :mov eax,DWORD PTR [ebp+0x8] :sub eax,0x12 :jmp 0x529 :cmp DWORD PTR [ebp+0x8],0x6fa :jne 0x523 :mov eax,DWORD PTR [ebp+0x8] :sub eax,0x12 :jmp 0x529 :mov eax,DWORD PTR [ebp+0x8]..

[CTF] PICOCTF2019 2023.12.29