change WriteUp
WriteUp
题目信息
名称:change.exe
分类:Reverse
描述:找到程序的flag
题目链接: https://pan.baidu.com/s/1u8bGbKcUF6_gLaw63L3jyA?pwd=h8r5 提取码: h8r5
解题思路
首先用DIE查看该文件,发现该文件没有壳,且是32位ELF文件。

所以可以直接用32位IDA打开该文件,并按F5对main函数进行反汇编,得到对应的C语言伪代码。

按SHIFT+F12打开该文件的字符串窗口,发现有一个Base64变形索引表。

但是该加密表少了一个首字母‘a’,所以通过手动修改的方式对其字符串进行修正。
具体方式为:先双击该字符串跳转到对应代码窗口。

然后单击该字符串,并按‘D’键,将其转化成数据类型。

最后将光标放到‘61h’处,以其作为起点,按‘A’键将其转换成字符串。

刷新main函数的反汇编窗口,并双击该“黄色”成员变量。

得到如下情况

发现这是Base64编码的加密字符串,于是用CyberChef对其进行变形解码得到解密后的字符串“U_kn0w_b4s364”。

最后运行change.exe程序,输入该字符串,得到最终flag——“flag{U_kn0w_b4s364}”。

使用工具
DIE
IDA
CyberChef
工具链接: https://pan.baidu.com/s/1dzK8gcFjYEvnj_aA0UjBeQ?pwd=ry2d 提取码: ry2d
Flag
flag{U_kn0w_b4s364}
总结
通过本次题目学习到:
文件分析
Base64编码变形分析
IDA反汇编与常用功能

浙公网安备 33010602011771号