BABYRE

ida打开后看主函数

image-20210125124251306

得知先将judge数组里头的数据进行了异或,点开看看

image-20210125172059446

后面看judge是一个函数才对

这应该是需要idc或者是python脚本来讲数据进行一些改变

这里需要修改程序中原有的数据

smc自解密

返回值 函数名 参数 操作
void PatchByte long addr, long val 设置虚拟地址addr处的一个字节值

image-20210125175000268

image-20210125175358009

得到了判断函数和比较字符串

1
2
3
s = [0x66,0x6d,0x63,0x64,0x7f,0x6b,0x37,0x64,0x3b,0x56,0x60,0x3b,0x6e,0x70]
for i in range(len(s)):
print(chr(s[i]^i),end="")

flag{n1c3_j0b}