吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2302|回复: 3
收起左侧

[转贴] [SWPU2019]ReverseMe

[复制链接]
Boltlightning 发表于 2023-1-24 13:04
前段时间发表了几个CrackMe的帖子,今天再给大家带来一个ReverseMe的赛题
    我们先来了解一下什么是ReverseMe
    ReverseMe 要求别人把一个程序做出逆向分析,比如程序的运行机理,系统领空的界定等等。


ReverseMe 要求别人把一个程序做出逆向分析,比如程序的运行机理,系统领空的界定等等。 reverseme 一词常被Cracker【破解爱好者】使用 是指在无源码的情况下二次开发 DLL【动态链接库】.等接口【API】参看CrackME。

以上是我从Baidu挖来的定义,可能不太全面,但并不耽误我们做题。(reverseme_百度百科 (baidu.com)

接下来我们来看一道题[SWPU2019]
要求解出Flag,下面是解题方法:
  • 例行检查,32位程序,c++写的,无壳
  • 本地试运行一下,看看大概的情况
  • 程序里有好多复杂的函数,静态分析有点难度,这边选择动调理一下程序逻辑。汇编动调小白,简单记录一下自己的调试过程。
  • 找到程序的入口点,在这边下断点,f8单步直到让我们输入
  • 运行到call sub_CF37B0的时候开始让我们输入了,输入结束后将ebp-0x90处的值跟0x20比较,更改ZF标志位,0xCF28C7处的jz会根据这边的情况进行跳转,如果ZF标志位为0,则跳转,否则就会输出Try again,退出程序。ebp-0x90处放的是我们输入的字符串的长度,因此我们输入的字符串的长度必须是32
  • 输入长度为32的字符串继续动调,首先看到了第一个对我们输入的字符串进行操作的地方

    我输入的是32个1,进行运算后得到了
    ['0x62', '0x66', '0x61', '0x64', '0x6e', '0x3', '0x1', '0x0', '0x8', '0x6e', '0x72', '0x65', '0x77', '0x62', '0x66', '0x61', '0x64', '0x6e', '0x3', '0x1', '0x0', '0x8', '0x6e', '0x72', '0x65', '0x77', '0x62', '0x66', '0x61', '0x64', '0x6e', '0x3']
  • 接着往下f8

    edx里的值

    eax里的值
  • 好奇这个edx里的值哪里来的,往上看汇编代码,0xCF29C7处的call函数直接f8过了,估计是这边产生的。

    f7步入,f8看看

    ecx里的值是

    经过这个步骤之后就得到了用来跟eax里比较的值。
  • 到这里逻辑理清楚了。首先输入一串长度为32的字符串,然后跟“SWPU_2019_CTF”进行异或操作,得到的结果在跟异或得到
result=[0xB3,0x37,0x0F,0xF8,0xBC,0xBC,0xAE,0x5D,        0xBA,0x5A,0x4D,0x86,0x44,0x97,0x62,0xD3,        0x4F,0xBA,0x24,0x16,0x0B,0x9F,0x72,0x1A,        0x65,0x68,0x6D,0x26,0xBA,0x6B,0xC8,0x67]str="SWPU_2019_CTF"a=[0x86,0x0C,0x3E,0xCA,0x98,0xD7,0xAE,0x19,   0xE2,0x77,0x6B,0xA6,0x6A,0xA1,0x77,0xB0,   0x69,0x91,0x37,0x05,0x7A,0xF9,0x7B,0x30,   0x43,0x5A,0x4B,0x10,0x86,0x7D,0xD4,0x28]b=[0]*32for i in range(32):    b=result^aflag=""for i in range(32):    flag+=chr(b^ord(str[i%len(str)]))print(flag)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
flag{Y0uaretheB3st!#@_VirtualCC}

免费评分

参与人数 1吾爱币 +1 收起 理由
fengbin8606 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| Boltlightning 发表于 2023-1-24 13:06
这个代码框不知道怎么用啊,打出来是空白的,有没有大神教教我啊

点评

你点击编辑框上面的代码框按钮再输入试试。  详情 回复 发表于 2023-1-25 10:24
Hmily 发表于 2023-1-25 10:24
Boltlightning 发表于 2023-1-24 13:06
这个代码框不知道怎么用啊,打出来是空白的,有没有大神教教我啊

你点击编辑框上面的代码框按钮再输入试试。
sunzhw 发表于 2023-1-26 18:58
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 17:56

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表