BABYRE

主函数

进入关键函数judge,IDA出错

应该是主函数中对judge函数异或导致的,可以写脚本还原函数
python脚本(后缀名要改为.py):

#coding=utf-8
judge=0x600B00
for i in range(182):
    addr=0x600B00+i
    byte=get_bytes(addr,1) # 获取指定地址的指定字节数
    byte=ord(byte)^0xC
    patch_byte(addr,byte )# 打patch修改字节

IDA中File -> Script file 选择写好的脚本,脚本运行完后,把已汇编的代码undefine(快捷键u),再重新生成函数(快捷键p),再f5发现又出错

解决办法参考我的另一篇文章。再f5就可以了。

函数很简单,贴出脚本

a = [0x66,0x6d,0x63,0x64,0x7f,0x6b,0x37,0x64,0x3b,0x56,0x60,0x3b,0x6e,0x70]
print(len(a))
flag = ''
for i in range(len(a)):
    flag += chr(a[i] ^ i)
    print(flag)

参考文章

https://xz.aliyun.com/t/4205

原文地址:https://www.cnblogs.com/pluie/p/13252069.html