avatar

目录
csaw2013reversing2

[分析过程]

这是一道windows32下的逆向题目,题目链接分享在文末。
打开程序发现运行终止,在这里我们使用IDA进行静态分析。(注意:IDA的版本为该程序的运行版本,而不是操作系统的版本)

打开后我们点击main函数之后F5进行反汇编,看到flag字样

点击flag后我们在点击图片中红色部分

此时我们观察到了该程序的主要逻辑部分,MessageBoxA应该为输出flag的函数

经过分析,发现了该处是判断程序是否为Debug的状态(也就是是否在使用IDA或OD等软件)。
我们修改 jnz short loc_401096jmp short loc_401096.这样程序的走向就变成了如图所示

之后我们在修改 jmp short loc_4010EFjmp short loc_4010B9让其之后跳转到MessageBoxA函数这里

看到这里这里可能有的同学会问为什么不直接要到输出flag的地方,而是要经过sub_401000,因为这里sub_401000可能是一个类似解密的函数,不经过的话可能无法正常输出flag。

在汇编中 int 3 为暂停的意思,类似于断点,所以我们将此处填充为nop

保存修改后打开得到flag

[题目链接]

链接:https://pan.baidu.com/s/1uIFxt0OUH2ShPuNL6lR0kg
提取码:z1lx

文章作者: 2hangd
文章链接: https://zhangding222.github.io/2018/10/21/csaw2013reversing2/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 2hangding's bl0g