题目描述
菜鸡开始接触一些基本的算法逆向了
Solution
首先在 Kali 下用file
观察文件类型,用binwalk
看有没有加壳:
这是一个 ELF64 文件,没有加壳。我们使用strings 003 | rg -i "flag"
也没有找到合适的信息,根据题目题目的算法逆向关键字,我们打开 IDA 和 Cutter 进行反汇编:
反复对比研究后,我们可以直接写 Python 脚本对字符串进行自动化编码处理:
digit_table = ':"AL_RT^L*.?+6/46'
harambe = 'harambe'
lucky_num = 7
ans = ""
for i in range(0, len(digit_table)):
c = ord(digit_table[i]) ^ ord(harambe[i % lucky_num])
ans += chr(c)
print(ans)
运行结果如下: