JustRE
下载文件后,拖进PEID查看,无壳,32位。
运行exe文件。
挨个看一看吧,getflag里面,它让我们点击,点了十几下发现好像没什么反应。
再看看别的吧, help里面给了一个BJD万岁,铭记在心,也没啥 。
最后一个捷径啥也没有。
拖进IDA吧,先查查字符串,看见了BJD,后面是很像flag的东西,但是最前面好像需要两个整型数字来填充。
点进去也没看出啥来。
看看函数吧,看到Dialogfunc
好像是在说,什么东西等于19999的时候就输出aBjdDD2069a4579字符串,也就是BJD字符串,猜测是点击19999。
能不能把19999改成1……
用ollydbg可以修改汇编代码。
先去找一找19999的内存地址,19999的16进制位为4E1F。
先找到sprintf函数,因为在比对数值的前后应该会有call sprintf。
找到了,也找到了4E1F,用ollydbg打开,找到地址。
直接ctrl g跳到401398
找到了,修改。
在下面设一个端点吧。
直接F9运行,运行了exe文件,点击一次,程序直接没了,说明修改成功。
F8单步运行。
找到了。
flag正确,所以在IDA里面的那行代码的意思是将19999和0替换%d。
findit
发现是apk文件,直接管理员运行apkide,打开文件。
直接查看main的部分
发现里面有两个数组
先转成ascll
第一个数组转化后为:
This Is The Flag Home
说明方向是对的
第二个数组转化后为:
pvkq{m164675262033l4m49lnp7p9mnk28k75}
pvkq和flag有对应关系,发现是偏移10位的凯撒解密
在网上搜索解密工具
flag为:
flag{c164675262033b4c49bdf7f9cda28a75}