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

题目


准备工作——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)

攻防世界 gametime 使用IDA pro+OD动调的更多相关文章

  1. IDA Pro使用技巧

    DA Pro基本简介 IDA加载完程序后,3个立即可见的窗口分别为IDA-View,Named,和消息输出窗口(output Window). IDA图形视图会有执行流,Yes箭头默认为绿色,No箭头 ...

  2. ida pro 使用

    交互式反汇编器专业版(Interactive Disassembler Professional),人们常称其为IDA Pro,或简称为IDA.是目前最棒的一个静态反编译软件,为众多0day世界的成员 ...

  3. IDA Pro基本简介

    IDA Pro基本简介 IDA加载完程序后,3个立即可见的窗口分别为IDA-View,Named,和消息输出窗口(output Window). IDA图形视图会有执行流,Yes箭头默认为绿色,No箭 ...

  4. IDA Pro使用技巧及大杂烩

    IDA Pro使用技巧及大杂烩 IDA Pro基本简介 IDA加载完程序后,3个立即可见的窗口分别为IDA-View,Named,和消息输出窗口(output Window). IDA图形视图会有执行 ...

  5. 【攻防世界】 高手进阶区 Recho WP

    0x00 考察点 考察点有三个: ROP链构造 Got表劫持 pwntools的shutdown功能 0x01 程序分析 上来三板斧 file一下 checksec --file XXX chmod ...

  6. pwn篇:攻防世界进阶welpwn,LibcSearcher使用

    攻防世界welpwn (搬运一篇自己在CSDN写的帖子) 链接:https://blog.csdn.net/weixin_44644249/article/details/113781356 这题主要 ...

  7. IDA,IDA PRO 产品介绍

    IDA理念这是我们在开发产品时竭尽全力遵循的理念--在此过程中,我们相信我们将开发出能够为您带来所需的可靠性.便利性和易用性的软件.没有什么能打败人脑因为我们知道一秒钟的洞察力仍然胜过百年的处理时间, ...

  8. 攻防世界pwn高手区——pwn1

    攻防世界 -- pwn1 攻防世界的一道pwn题,也有一段时间没有做pwn了,找了一道栈题热身,发现还是有些生疏了. 题目流程 拖入IDA中,题目流程如图所示,当v0为1时,存在栈溢出漏洞.在gdb中 ...

  9. 攻防世界逆向——game

    攻防世界逆向:game wp 攻防世界逆向新手区的一道题目. 是一道windows的creak,动态调试打开是这样的: 题目说明是让屏幕上所有的图像都亮之后,会出现flag,看来应该是可以玩出来的. ...

  10. 攻防世界PWN简单题 level0

    攻防世界PWN简单题 level0 开始考验栈溢出的相关知识了 Checksec 一下文件 看看都开了什么保护 和 是多少位的程序 发现是64位的程序, 扔进IDA64.IDA YYDS.. 进入主函 ...

随机推荐

  1. java 基础常见(上)

    title category tag head Java基础常见面试题总结(上) Java Java基础 keywords JVM,JDK,JRE,字节码详解,Java 基本数据类型,装箱和拆箱 de ...

  2. 高并发时为什么推荐ReentrantLock而不是synchronized

    目录 1.最初的 synchronized 2.synchronized 的优化 3.但是,JAVA的最终答案 JDK 21 LTS 来了 1.最初的 synchronized 它默认对临界资源添加重 ...

  3. RESTful API 介绍,设计

    一:RESTful介绍 在互联网发展过程中,最开始是以html静态网页展示内容,url的表现形式一般为 http://www.example.com/getInfo.html:后来随着需求不断提高以及 ...

  4. 【LeetCode链表#7】设计一个链表并实现常见的操作方法

    设计链表 题目 力扣题目链接 设计链表的实现.您可以选择使用单链表或双链表.单链表中的节点应该具有两个属性:val 和 next.val 是当前节点的值,next 是指向下一个节点的指针/引用.如果要 ...

  5. 维基百科Wikipedia镜像网站列表(全部已被封)

    序号 网址 备注 1 https://chi.jinzhao.wiki/wiki (中文版) https://en.jinzhao.wiki/wiki/Main_Page (英文版)  支持多种语言. ...

  6. 【Azure Redis 缓存 Azure Cache For Redis】Redis支持的版本及不同版本迁移风险

    问题描述 1. Azure Redis缓存支持的版本包括4.0以及6.0(预览) 这种情形下,可以使用PaaS服务提供的 Azure Redis 缓存(4.0版本).Azure Redis对6.0的支 ...

  7. 【Azure Redis 缓存】当使用Azure Redis 集群服务时候,发生了Moved的几点分析

    问题描述 当使用Azure Redis 集群服务时候,发生了Moved的几点分析 问题分析 1.   关于 Moved 问题,原因有可能是内存碎片整理,从而引起Redis发生failover. 2.  ...

  8. UserWarning: To get the last learning rate computed by the scheduler, please use `get_last_lr()`

    将 lr = scheduler.get_lr() 改为 lr = scheduler.get_last_lr()

  9. Huggingface初上手即ERNIE-gram句子相似性实战

    大模型如火如荼的今天,不学点语言模型(LM)相关的技术实在是说不过去了.只不过由于过往项目用到LM较少,所以学习也主要停留在直面--动眼不动手的水平.Huggingface(HF)也是现在搞LM离不开 ...

  10. 浅析图数据库 Nebula Graph 数据导入工具——Spark Writer

    从 Hadoop 说起 近年来随着大数据的兴起,分布式计算引擎层出不穷.Hadoop 是 Apache 开源组织的一个分布式计算开源框架,在很多大型网站上都已经得到了应用.Hadoop 的设计核心思想 ...