BUUCTF Reverse/[HDCTF2019]Maze
先看文件信息,发现是UPX壳,且为32位程序
进行脱壳
用IDA32位打开,跟进main函数
发现看不了伪代码
打开String窗口,看到有关键字符串,第一串肯定就是地图了
跟随跳转,发现也跳转不到引用这串字符的地方,然后就卡住了
这个jnz指令以及下面的call指令均为花指令
先将jnz指令改为nop(这里我忘记截图了,用下面的图替一下)
Edit -> Patch Program -> Assemble,然后修改为nop就行
然后就是这个call指令,不能将其全部nop因为可能有有用的代码在里面
按d将其转换为数据
然后将 0E8h 给 nop 掉,上面那个 1也要nop掉,,因为是nop掉上一个函数漏下的。如果改不了就多选中几行按d转为数据,就能改了
改完后的样子
、
此时代码都是红色的,将关键代码全部选中,然后按p&