zoukankan      html  css  js  c++  java
  • 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:

    这题真的很不简单!

  • 相关阅读:
    第06组Alpha冲刺(4/6)
    第06组Alpha冲刺(3/6)
    第06组Alpha冲刺(2/6)
    第06组 Alpha冲刺 (1/6)
    08-js函数
    07-数组
    06-js分支
    05-js运算符
    04-js变量
    03-css3D转换
  • 原文地址:https://www.cnblogs.com/liuyimin/p/7298239.html
Copyright © 2011-2022 走看看