加载中...

【Root-Me】 PE - 0 protection



不太水的水题,需要懂得反汇编工具的使用。

开始挑战后下载了一个 ch15.exe 文件,执行后无任何反应,判断只能反汇编,推荐使用 OllyDBG 工具。

使用 OllyDBG 打开 ch15.exe 文件后,右键 -> 中文搜索引擎 -> 搜索 ASCII ,可以找到成程序里面所有字符串常量。发现其中有一个 Wrong password 的文本提示,可以推断这个这个提示之前就是进行密码比对的代码,跳转到这个文本的位置。

不难发现, Wrong password 前面有多条 jnz 跳转语句,而每条 jnz 语句前都有一条 cmp 语句,由此可以推断代码逻辑是把输入字符串与真正的密码做逐字符比对,只要有一个字符不正确,则跳转到密码错误的提示。

那么很显然,只需要把每条 cmp 语句的十六进制常量依次串接,并还原成 ASCII ,就是真正的密码。

提取十六进制数列为 : 0x53 0x50 0x61 0x43 0x49 0x6f 0x53

使用 Burp Suite -> Decoder 工具对其解密还原成 ASCII ,得到密码,完成挑战。



答案下载

flag 下载后的 flagzip 的文件需要手动更改后缀为 *.zip,然后解压即可(为了避免直接刷答案)


文章作者: EXP
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 EXP !
  目录