gametime
一、查壳
无壳,32位
二、IDA分析
先看看main
妈呀,好多函数,脑子有点乱
先运行下EXE看看有什么突破口没
可以看出是游戏,明显是看你的输入对不对,来通关的,所以有关判定的条件或者函数是解题的关键
这下重点就明了了。
在main中有下面两个条件语句
也就是sub_81435、sub_81507函数,即下面两张图
分别发现上面的if语句是关键
分别看汇编语言时,分别发现jnz
好了,目的明了我们要将这两个jnz改为jz或je
三、OD修改汇编
可以从上面的两张图片中得到00081563、000814DB两个内存地址
这里要强调一点由于OD与IDA地址时不同的,所以要得到正确的地址,需要先进行以下操作
1.在OD中Alt+E得到基址00080000
2。在IDA中:将Edit--Segments--Rebase program--Value修改为0x00080000
在这些操作后得到的地址才是正确的
我上面的两个地址是操作后得到的,好准备工作做好了,下面修改
1.打开OD
2.Ctrl+G搜索地址,例:
3.右键--汇编--修改
4.运行
5.得到答案
no5c30416d6cf52638460377995c6a8cf5