天天看點

一道熟悉od使用的經典題

拿到程式放入PE裡檢視發現有Aspack殼

一道熟悉od使用的經典題

用脫殼軟體進行脫殼處理

一道熟悉od使用的經典題

打開檔案讓我們注冊,随意輸入後如圖所示:

一道熟悉od使用的經典題

發現彈出一個框,這是很重要的線索,打開od下斷點分析:

随意輸入後到達登入失敗彈出窗附近

一道熟悉od使用的經典題

通過分析附近的彙編可以發現兩個值不相等時始終跳轉至004012A1

一道熟悉od使用的經典題

數了一下有十六個,大緻估計可能正确格式是輸入16個字元,在004012A4 下斷點重新啟動程式輸入16個字元,開始分析:

Pass[0]==B,該字元直接與0x42比較,0x42轉換成ASCII再轉換成字元為B

一道熟悉od使用的經典題

Pass[15]==Y 可以看出将字元存到eax寄存器,然後加上0x42等于0x57,計算和轉換後的值為Y

一道熟悉od使用的經典題

Pass[1]==Z 這次将值存放到ecx中,然後用lea指令,意思是将ecx中的值減3存到eax中,用0x57減3轉換後為Z,後面大緻相同的計算方式,注意排序方式為從ebp-0x240到ebp-0x231為pass[0]到pass[15]

一道熟悉od使用的經典題

Pass[14]==A

一道熟悉od使用的經典題

Pass[2]==9

一道熟悉od使用的經典題

Pass[13]==b

一道熟悉od使用的經典題

Pass[3]==d

一道熟悉od使用的經典題

Pass[12]==7

一道熟悉od使用的經典題

Pass[4]==m

一道熟悉od使用的經典題

Pass[11]==G

一道熟悉od使用的經典題

Pass[5]==q

一道熟悉od使用的經典題

Pass[10]==9

一道熟悉od使用的經典題

Pass[6]==4

一道熟悉od使用的經典題

Pass[9]==g

一道熟悉od使用的經典題

Pass[7]==c

一道熟悉od使用的經典題

Pass[8]==8

一道熟悉od使用的經典題

排序後得出所需字元串為 BZ9dmq4c8g9G7bAY

郵箱輸入格式為 [email protected]

注冊碼為: BZ9dmq4c8g9G7bAY

一道熟悉od使用的經典題

flag{ BZ9dmq4c8g9G7bAY }