iT邦幫忙

2024 iThome 鐵人賽

DAY 9
0
佛心分享-刷題不只是刷題

CTF 刷題系列 第 9

CTF Day 9 Reverse (asm2)

  • 分享至 

  • xImage
  •  

今天也來解Reverse的題目

題目 asm2

https://ithelp.ithome.com.tw/upload/images/20240923/20155574Ybq3YS7OBK.png

asm2:
	<+0>:	push   ebp
	<+1>:	mov    ebp,esp
	<+3>:	sub    esp,0x10
	<+6>:	mov    eax,DWORD PTR [ebp+0xc]
	<+9>:	mov    DWORD PTR [ebp-0x4],eax
	<+12>:	mov    eax,DWORD PTR [ebp+0x8]
	<+15>:	mov    DWORD PTR [ebp-0x8],eax
	<+18>:	jmp    0x50c <asm2+31>
	<+20>:	add    DWORD PTR [ebp-0x4],0x1
	<+24>:	add    DWORD PTR [ebp-0x8],0xd1
	<+31>:	cmp    DWORD PTR [ebp-0x8],0x5fa1
	<+38>:	jle    0x501 <asm2+20>
	<+40>:	mov    eax,DWORD PTR [ebp-0x4]
	<+43>:	leave  
	<+44>:	ret    

題目給了2個參數
參數會按照從右到左的順序依次進到stack中
參數二 0x2d 進到 [ebp-0x4]
參數一 0x4 進到 [ebp+0x8]

之後 0x4 <= 0x5fa1 的話
就 jump 到 <+20>
[ebp-0x4] += 0x1
[ebp+0x8] += 0xd1
重複這個loop

就像下面這樣

a = 45
b = 4
while b <= 24481:
    a += 1
    b += 209
print(a)
print(hex(a))

上一篇
CTF Day 8 Reverse (asm1)
下一篇
CTF Day 10 Reverse (GDB baby step 1&2)
系列文
CTF 刷題19
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言