一些准备工作不再赘述。
查看程序
无壳64位
打开64位ida
没看到main函数,直接shift+f12;
出现可疑字符串
先看this is the right flag!然后f5看伪代码
查看逻辑
不难看出str2中有替换现象,并且有与str1比较,疑似flag,直接追踪。
疑似flag
进行分析这个函数作用类似把特定的字符串替换成特定的字符,所以要写脚本了。
使用快捷键r直接替换
原来是把o换成0,{hello_world}长度较短,替换方式也不复杂。直接手动换{hell0_w0rld}
或者直接用c语言写
那么flag也得到了
先找可以字符串,再进一步确定是否是flag