reversing.kr replace 之write up
Posted liuyimin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了reversing.kr replace 之write up相关的知识,希望对你有一定的参考价值。
好似reversing除了前几个容易些,后面的都很难的。看wp都很困难。首先wp提示crtl+n查看程序所有函数,并且找到了测试函数:
补充:
GetDlgItemInt函数通过发送控件WM_GETTEXT消息来检索指定控件的文本。 该函数通过剥离文本开头的任何额外的空格,然后转换十进制数字来翻译检索到的文本。 该功能在到达文本末尾或遇到非数字字符时停止转换
而我们去运行程序发现如果我们输入数字,则出现如图的情况,而如果输入的是字母,文本框没有任何反应,因为我们要找到测试文本框的函数:
然而宝宝我换了n多个od都没有得到和作者同样的结果:
后来运行程序后再用ctrl+n神奇的出现了:
那我们就按照wp一步一步来:跟进目标函数,我们发现了如下目标函数:
f8一直向下执行:
我们发现程序走到这里就执行不下去了,这次我们输入0,观察此时对应的EAX=0x611605cb,于是我们分析得到由于我们输入错误所以eax到了错误的地址,所以eax=输入+0x611605cb,我们再回过头来看下最初的程序:
由再上面一张图eax为0x90查找资料0x90表示为nop指令。如果我们把eax覆盖到ascii前面两条jmp指令,那么我们的程序就可以执行到下面的指令了,所以我们输入的值为0x100401071-0x611605cb=2687109798:
这题真的很不简单!
以上是关于reversing.kr replace 之write up的主要内容,如果未能解决你的问题,请参考以下文章