BugkuCTF-Reverse题入门逆向多解法
生活随笔
收集整理的這篇文章主要介紹了
BugkuCTF-Reverse题入门逆向多解法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
補充:IDA里面十六進制轉字符的快捷鍵:R
方法一
第一步PEID,這里可以看出程序是32位的
查殼:(無殼)
拖進IDA32分析:
先查看偽碼:F5
找到main函數
發現有許多 mov 指令,66H 是 ‘f’,6CH 是 ‘l’,推測這就是 flag 的 ASCII 碼值。
得到flag:flag{Re_1s_S0_C0OL}
方法二
也可以用動態調試的方法。
動態調試這就需要用到 OD。先下一個斷點,然后單步運行,看看棧里的變化。
例如,我就找個 0x00401475 的地址。
在 OD 里,Ctrl+G,搜索地址。找到指令之后按 F2 下斷點。
5、按 F9 運行程序,他會在剛才的斷點地方卡住,這個時候我們就能按 F8 單步運行了;
6、flag 值是從 ESP+0x2F 開始,可以用計算器算一下,ESP 是 0x61FEF0,加 0x2F 就是 0x61FF1F,按照這個地址去棧內看。
單步運行了 4 次之后,這里可以看到 flag 的反向字符串,然后繼續執行到最后一條 mov,完整的 flag 就出來了。
手動反轉一下,就是:flag{Re_1s_S0_C0OL}
總結
以上是生活随笔為你收集整理的BugkuCTF-Reverse题入门逆向多解法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BugkuCTF-MISC题split
- 下一篇: C语言 #include <> 与 #i