目录
解题思路:
1.查壳
使用exeinfope.exe软件进行查看,直接拖入软件。
看这个红框内的,是一个32bit,也就是32位的软件,利用ida32打开。
2.寻找逻辑
遵循这个原则,有main函数找main函数,没有main函数找敏感字符串,拖入ida32之后反编译,你会得到。
但是点了一圈,发现没有什么可用的地方,那么就去寻找字符串,ida的使用方法,f5
反编译,shift+f12查找字符串,之后你发现了一个类似于flag的东西。
之后继续下一步,双击跟过去,跳转到了这个页面。
在光标在那上面的时候,ctrl + x,会进行交叉使用列表,跳转回对应在哪个汇编的位置。
会跳转到所在的汇编的位置。
之后反编译进去 ,会发现一句话。
之后可以发现后面有两个值,这个是一个输出的函数。
//aBjdDD2069a4579 db ' BJD{%d%d2069a45792d233ac}',0
sprintf('%d%d2069a45792d233ac}',19999,0);
//会获得一个这个状态的,就是前面两个%d的第一个替换位19999,第二个%d替换为0
//结果也就是BJD{1999902069a45792d233ac}
//最后套上flag提交
//flag{1999902069a45792d233ac}