攻防世界 Windows_Reverse1

本文详细介绍了如何通过逆向工程分析.exe文件,从使用ExeinfoPE查看文件信息,到利用upx脱壳,再到IDA静态分析,发现关键函数sub_401000的解密逻辑。通过对汇编代码的解析,作者构造了解密脚本,最终得到解密后的flag。过程中涉及ASLR、010Editor、x32dbg等工具的使用,展示了逆向工程在软件分析中的应用。

准备

环境:Windows10

工具:ExeinfoPE、upx、IDA、x32dbg、010Editor

开始

附件是.exe文件,使用ExeinfoPE查看文件信息

在这里插入图片描述

能看出来此文件被upx加了壳。

使用upx脱壳

在这里插入图片描述

将脱壳后的文件放入IDA静态分析

main函数:

int __cdecl main(int argc, const char **argv, const char **envp)
{
   
   
  char v4; // [esp+4h] [ebp-804h] BYREF
  char v5[1023]; // [esp+5h] [ebp-803h] BYREF
  char v6; // [esp+404h] [ebp-404h] BYREF
  char v7[1023]; // [esp+405h] [ebp-403h] BYREF

  v6 = 0;
  memset(v7, 0, sizeof(v7));
  v4 = 0;
  memset(v5, 0, sizeof(v5));
  printf("please input code:");
  scanf("%s", &v6);
  sub_401000(&v6);
  if ( !strcmp(&v4, "DDCTF{reverseME}") )
    printf("You've got it!!%s\n", &v4);
  else
    printf("Try again later.\n");
  return
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值