iT邦幫忙

2024 iThome 鐵人賽

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

CTF 刷題系列 第 8

CTF Day 8 Reverse (asm1)

  • 分享至 

  • xImage
  •  

今天也來解Reverse的題目

題目 asm1

https://ithelp.ithome.com.tw/upload/images/20240922/20155574MtsJjWDkXH.png

asm1:
	<+0>:	push   ebp
	<+1>:	mov    ebp,esp
	<+3>:	cmp    DWORD PTR [ebp+0x8],0x3fb
	<+10>:	jg     0x512 <asm1+37>
	<+12>:	cmp    DWORD PTR [ebp+0x8],0x280
	<+19>:	jne    0x50a <asm1+29>
	<+21>:	mov    eax,DWORD PTR [ebp+0x8]
	<+24>:	add    eax,0xa
	<+27>:	jmp    0x529 <asm1+60>
	<+29>:	mov    eax,DWORD PTR [ebp+0x8]
	<+32>:	sub    eax,0xa
	<+35>:	jmp    0x529 <asm1+60>
	<+37>:	cmp    DWORD PTR [ebp+0x8],0x559
	<+44>:	jne    0x523 <asm1+54>
	<+46>:	mov    eax,DWORD PTR [ebp+0x8]
	<+49>:	sub    eax,0xa
	<+52>:	jmp    0x529 <asm1+60>
	<+54>:	mov    eax,DWORD PTR [ebp+0x8]
	<+57>:	add    eax,0xa
	<+60>:	pop    ebp
	<+61>:	ret    


一開始沒有仔細看題目,一直以為要加 picoCTF{},還我搞了好久

1.<+1> 輸入 0x2e0。
2.<+3> 比較 0x2e0 和 0x3fb,結果 0x2e0 < 0x3fb,所以不跳到 <+10>,而是繼續執行。
3.<+12> 比較 0x2e0 和 0x280,由於相等,所以不跳到 <+29>,而是繼續執行 <+21>。
4.<+24> 把 eax 加 0xa,結果 0x2e0 + 0xa = 0x2ea。
5.跳轉到 <+60>
6.執行 pop ebp 並返回。

上一篇
CTF Day 7 Reverse (unpackme.py)
下一篇
CTF Day 9 Reverse (asm2)
系列文
CTF 刷題30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言