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

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

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

发布了50 篇原创文章 · 获赞 7 · 访问量 3580

猜你喜欢

转载自blog.csdn.net/Palmer9/article/details/104044944
今日推荐