Hackergame 2018逆向题目confused_flxg题目详解
本人首发在先知社区
https://xz.aliyun.com/t/4282
这是Hackergame 2018的一道题目
拿到题目,是一个压缩包,进行解压后发现是一个.exe可执行程序,双击可以正常运行
随意输入,总是会出来一个倒序的base64编码后的字符串
我们用python进行解码
得到一个假的flag 不用管他
Exeinfo PE载入可以发现是VC++写的64位程序,并且没有加壳
我们直接使用IDA x64载入
shift + F12可以看到程序中的一些字符串
我们双击正确的引用
可以看到有好多跳转
我们可以从下向上进行分析
在最近的jnz跳转处 按F5 查看伪代码
如下所示:
void __usercall sub_7FF7EBA1498F(__int64 a1@<rbp>)
{
unsigned __int8 *v1; // rax
unsigned __int8 v2; // dl
int v3; // eax
*(a1 + 112) = a1 + 384;
*(a1 + 40) = -1i64;
do
++*(a1 + 40);
while ( *(*(a1 + 112) + *(a1 + 40)) );
*(a1 + 64) = *(a1 + 40);
qmemcpy((a1 + 800), a9eetw4DFh4xu, 0x39ui64); // qmemcpy将内存中的字符串进行拷贝
memset((a1 + 857), 0, 0x8Fui64