题目要点 SMC

SMC 代码自加密操作 可通过动调和操作相对应的操作进行解开 主要扰乱静态分析的问题

拿到题目看到后缀是babyRE 看010是ELF文件头 IDA打开

image

一个SMC 一个判断长度和强制转函数指针 所以judge是一个函数 将s带入进这个函数

image

s = 0x600B00
for i in range(182):
    patch_byte(s+i,get_wide_byte(s+i) ^ 0xc)

image

image

从上可以看出一个简单的异或 有一点就是他们的栈空间是连续的 所以解密的时候要把他们拼在一起

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}