Hackergame 2018逆向题目confused_flxg题目详解

本文详细解析了Hackergame 2018逆向题目confused_flxg,通过分析.exe程序的执行流程,发现程序对输入进行base64编码、翻转、异或操作并与预设flag对比。利用此信息,可以通过解密过程逆推出原始flag。解题关键在于使用IDA x64进行动态调试和伪代码分析。
摘要由CSDN通过智能技术生成

Hackergame 2018逆向题目confused_flxg题目详解

本人首发在先知社区
https://xz.aliyun.com/t/4282
这是Hackergame 2018的一道题目
拿到题目,是一个压缩包,进行解压后发现是一个.exe可执行程序,双击可以正常运行
运行截图.png
随意输入,总是会出来一个倒序的base64编码后的字符串
image.png
我们用python进行解码
image.png
得到一个假的flag 不用管他
Exeinfo PE载入可以发现是VC++写的64位程序,并且没有加壳
查壳截图.png
我们直接使用IDA x64载入
shift + F12可以看到程序中的一些字符串
image.png
我们双击正确的引用
image.png
可以看到有好多跳转
image.png
我们可以从下向上进行分析
在最近的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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值