GFSJ0076-【BABYRE】
题目要点 SMC
SMC 代码自加密操作 可通过动调和操作相对应的操作进行解开 主要扰乱静态分析的问题
拿到题目看到后缀是babyRE 看010是ELF文件头 IDA打开
一个SMC 一个判断长度和强制转函数指针 所以judge是一个函数 将s带入进这个函数
s = 0x600B00
for i in range(182):
patch_byte(s+i,get_wide_byte(s+i) ^ 0xc)
从上可以看出一个简单的异或 有一点就是他们的栈空间是连续的 所以解密的时候要把他们拼在一起
exp
s = "fmcd" + chr(127) + "k7d;V`;np"
for i in range(len(s)):
print(chr(ord(s[i]) ^ i), end="")
flag
flag{n1c3_j0b}
评论