• 攻防世界 gametime 使用IDA pro+OD动调


    自学犟种琢磨动调的一个记录,算是第一次动调的新手向,大佬请飘过

    题目

     


    准备工作——IDA pro(32X)

    下载得到一个exe文件,首先丢到PE里面——无壳,32bit

    丢到IDA pro(x32)里面

    刚好main函数就在左边很瞩目的地方,双击+F5,试图反汇编,但是跳出一个弹窗

    你点OK或者直接叉掉,也会反汇编,不解决也不影响本题解答——但是有些题目会被影响(我就遇到过,把关键传输的变量吞了...),代码会少一点东西,有时候是很关键的东西

    所以这里也提供解决方法:SHIF+F7

    参考:[求助] write access to const memory has been detected, the output may be wrong!-求助问答-看雪-安全社区|安全招聘|kanxue.com

     选中idata-->ctrl+e

    解决完这个问题,我们来看看主函数代码———特别长,你要单纯看代码理解也不是不可以,但是较为困难且还要花时间

    这里建议直接运行一下exe,看看题目给了我们什么以及是怎么运行的

    很明显这是一个游戏,第一关遇到s就按空格,第二关遇到x就按x......后面的速度越来越快,还是要破解

    来梳理一下游戏的运行过程:打印需要被观察的字母,用户按照要求输入,系统应该会检查我们的输入是否满足要求,不满足游戏直接GG,满足的话进入下一关。

    那我们想要开挂通关要怎么办?是不是我们不输入或者随便输入,系统都判定我们合格要求,直接放我们去下一关?

    所以有关判定的条件或者函数是解题的关键

     

    视线回到反汇编代码,这时候就清晰很多了

    主函数前面一堆乱七八糟的字符原来是游戏运行界面的装饰

    我们还可以看出 sub_401A73 是一个打印函数

     

    继续往下,看到一个if条件判断——应该是一个关键

    点进去看看,发现是第一关的代码,失败了应该会输出“UDDER FAILURE! http://imgur.com/4Ajx21P”

    所以紧挨着的上一条if,很有可能是用于检查我们输入

     

    因为后面要动调,所以让我们看看地址(按TAB,再按空格)

    出现了jnz跳转指令——这个是关键

    这里暂停一下,用IDA pro+OD(都是32X)的组合需要注意一点:这两个的地址是不一样的!!!!

    我们把文件丢到OD里看看基址,ALT+E,找到我们的程序,记住基址:00F30000

    然后返回IDA pro,Edit-->Segments-->Rebase program-->Value修改为0xF30000

    这时候的地址全都变了,记录下此时的jnz指令的地址 00F314DB 

    主函数的第一个if的关键地址的查找就告一段落了

    我们继续看main函数后面,又发现if条件判断

    按照上面的思路点进去看看,跟上面情况一样

    又得到一个jnz指令的地址 00F31563 


    动调部分——OD(32X)

    再上面我们得到两个地址 00F314DB  00F31563 

    在OD中,ctrl+G,输入上面第一个的地址,可以看到我们在IDA中找到的jnz

    双击指令,进行修改,按一下“汇编”就可以

    为什么这么修改,需要一定汇编语言基础,可以看这个:jmp、JE、JZ、JNE、JNT指令_je指令-CSDN博客

    可以看到指令发生了变化

    同理可得,输入第二个地址,修改指令

    然后F9,运行,等待exe运行完,直到打印flag,暂停


    flag

    key is  (no5c30416d6cf52638460377995c6a8cf5)

     

  • 相关阅读:
    OpenGL ES glad 下载和使用
    Qt之自定义插件(单控件,Qt设计师中使用)
    display详解
    神经网络优化算法有哪些,人工神经网络优化算法
    函数指针解释
    (附源码)ssm微课堂知识考核系统 毕业设计 141147
    yolo报错indexerror: list index out of range
    C++学习记录(仅总结)
    YB506A是一款锂电池充、放电管理专用芯片,集成锂电池充电管理和降压DCDC电路
    CentOS 7 安装&卸载 MySQL 8 详细图文教程
  • 原文地址:https://www.cnblogs.com/demo41/p/18099089