第一次简单RUST逆向

zydt10 / 2023-09-04 / 原文

ezRUST
静态没思路,动调不成

version `GLIBC_2.34‘ not found简单有效解决方法_huazhang_001的博客-CSDN博客

按照教程修复好后,把调试选项勾上,用Linux远程调试ELF
调好后源码级调试找到输出"try one more time"的地方,然后回去找引用
中间其实还试过立即数搜索0x3131,因为读入是moectf{1111111...},然后下硬件断点,结果没找到加密算法的地方
发现只有这里有引用过v37,有Xor,上面又有密钥,异或一下
 
 

Python
a=[0xE5, 0xE7, 0xED, 0xEB, 0xFC, 0xEE, 0xF3, 0xDA, 0xFD, 0xFB, 0xFC, 0xD7, 0xFA, 0xED, 0xFE, 0xD7, 0xFF, 0xE1, 0xE4, 0xE4, 0xD7, 0xEA, 0xED, 0xD7, 0xE9, 0xFF, 0xEE, 0xFD, 0xB9]
for i in range(len(a)):
    a[i]^=0x88
    print(chr(a[i]),end='')