运行
1.查壳
32位exe文件,没有壳
2.用32位IDA打开
找到main函数,F5查看伪代码,但是这里会弹出一个窗口
函数分析失败!!
这里我在看别人的题解时发现一种玄学方式解决了这个问题
窗口里面弹出了一个地址401095
,我们去找到这个地址
在图形化反汇编窗口中按下空格键,会切换为文本视图。
在文本视图中,看到这个地址有一个call指令,调用函数,我们双击进入函数里面
然后F5转换为代码
这里转换成功了之后,切换到原来的main函数
使用F5查看伪代码
玄学成功了!!
那么接下来就是一个很简单的异或加密了
查看byte_41EA00
的内容
思路清晰,直接上脚本
byte_41EA08='MSAWB~FXZ:J:`tQJ"N@ bpdd}8g'
byte_4212C0=[]
for i in range(0,len(byte_41EA08)):
byte_4212C0.append(0)
for i in range(0,len(byte_41EA08)):
byte_4212C0[i]=chr((i^ord(byte_41EA08[i])))
flag=''
for i in range(0,len(byte_41EA08)):
flag+=byte_4212C0[i]
print(flag)
>>>MRCTF{@_R3@1ly_E2_R3verse!}
flag{@_R3@1ly_E2_R3verse!}
补充
如果玄学不成功的话,就直接看汇编代码破解,这里我就不写详细题解了,可以去看其他大佬写的博客!