小白学习笔记(27)攻防世界-re-csaw2013reversing2

新手一枚,如有错误(不足)请指正,谢谢!!
个人博客:点击进入
题目链接:攻防世界-re-csaw2013reversing2
题目下载:点击下载

小白学习笔记(27)攻防世界-re-csaw2013reversing2
既然运行就能拿到flag,就直接载入OD动态调试吧
小白学习笔记(27)攻防世界-re-csaw2013reversing2
F8一点点单步向下,来找到确切弹窗的位置
发现执行到这里的时候出现了弹窗,在这个位置下断点,重新载入
小白学习笔记(27)攻防世界-re-csaw2013reversing2
然后F9直接运行到此地址,F7进入call
然后F8单步,来到这里,jnz跳转未实现,je跳转实现
小白学习笔记(27)攻防世界-re-csaw2013reversing2
执行了第二个messagebox函数出现乱码
小白学习笔记(27)攻防世界-re-csaw2013reversing2
既然程序执行的是错误的路径,那我们就把跳转改掉,在此call段首下断,然后删除之前的断点,重载程序F9运行
然后F8单步来到这里
小白学习笔记(27)攻防世界-re-csaw2013reversing2
修改Z标志位让他跳转实现(毕竟下面是检测是否有调试器的函数)执行了检测调试器的函数后就没再执行下面的inc
将z标志位修改为0,F8单步
小白学习笔记(27)攻防世界-re-csaw2013reversing2
当执行到int3的时候程序会退出,重载程序,nop掉他
执行到这里的时候,发现jmp会跳向程序退出,nop掉jmp
小白学习笔记(27)攻防世界-re-csaw2013reversing2
第一个弹窗什么也没输出,关闭弹窗后继续f8
小白学习笔记(27)攻防世界-re-csaw2013reversing2
这里jmp跳转后没有输出的东西了,所以将其nop掉
小白学习笔记(27)攻防世界-re-csaw2013reversing2
执行到这里的时候出现了flag
小白学习笔记(27)攻防世界-re-csaw2013reversing2
数据地址存储在eax寄存器里,在eax寄存器右键→数据窗口中跟随
小白学习笔记(27)攻防世界-re-csaw2013reversing2
然后在数据窗口复制字符串
小白学习笔记(27)攻防世界-re-csaw2013reversing2
继续运行弹窗弹出flag
小白学习笔记(27)攻防世界-re-csaw2013reversing2
提交后显示正确。
小白学习笔记(27)攻防世界-re-csaw2013reversing2