<题目>
bin100(ebCTF 2013)
Beat our dice game and get the flag
文件链接:http://ctf5.shiyanbar.com/re/Dice.exe
<解答>
拿到程序后,双击启动它。
键入回车后,掷出骰子 程序结束。
程序破解:
※首先用PEiD打开看一下是否有壳。
※之后将Dice.exe丢到OllyDbg中
在主线程窗口中右键→中文搜索引擎→智能搜索。打开中文搜索对话框。
从这里可以看出 只要是按顺序掷出3-1-3-3-7即可得到FLAG。
让我们修改一下程序:
※双击“[*] You rolled a three! Good!
”跳转到相应的位置,向上找到jnz short Dice.0040198
。发现只要不是掷出三就会执行jnz。因此可以强制爆破,即将其nop掉。
※同理可以通过文本字符串查找到剩余的4处并分别 向上找到其跳转语句并进行爆破。
完成后右键将其保存到可执行文件并重新命名为Dice1.exe。
※之后将修改的Dice1.exe重新用OD打开并调试,一路摁回车便可得到最终的FLAG值:
总结:
本题主要用来熟悉OllyDbg的使用以及程序爆破的一般流程,属于逆向工程中较为简单基础的题目。