2019安恒杯一月月赛Re部分wp

论坛 期权论坛 脚本     
匿名技术用户   2020-12-23 12:14   11   0

Re:1

来玩蛇吧

题目给了两个文件AnhengRe.exe和AnhengRe.pyc。

Notepad++打开发现是python3.6编译的

直接走python逆向的流程

  1. .exe反编译成.pyc。使用的工具是pyinstxtractor或archive_viewer(官方),得到的文件缺少了12字节文件头,下载一个python3.6,用010editor扒一个python3.6的.pyc文件看看文件头的前12字节,copy过去即可。
  2. .pyc反编译成.py。使用的工具是easyPython decompiler或者uncompyle6或者在线反编译网站https://tool.lu/pyc/
  3. 读代码,代码的验证算法较简单,不做赘述。

Re:2

老司机

程序流程:

  1. 用户输入flag
  2. 限制用户输入长度为40
  3. SMC,
for ( i = 0; i < nullsub_1 - sub_401000; ++i )

 *(sub_401000 + i) ^= 0xBBu;

解SMC脚本模板

    auto addr = {起始地址};   //这里填入要解密字节串的起始地址

    auto i = 0;

    for(i=0;addr+i<{结束地址};i++)   //循环结束的条件为字节串的结束地址

    {

        PatchByte(addr+i,Byte(addr+i)^0xBB);   //异或的数字根据情况修改

    }

  1. 限制输入前五个字符是flag{
  2. 执行函数 sub_4010B0,异或六个字符unk_4021B8^0x86,得到this_i
  3. Base64解密c19zbWNf,得到s_smc_
  4. 执行函数sub_401000,走8*8的迷宫“--------g + ++ + ++ ++ + #+ ++ ++++ ++ ++++ ++ +--------”,2是上,q是左,w是右,a是下,g是起点,#是终点。走迷宫路径为waaaaawwwww22222qqqaaw。
  5. 所有一起拼接得到flag{this_is_smc_waaaaawwwww22222qqqaaw}

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP