reverse
buuctf reverse专栏
bug小空
时间川流不息,而你止步不前
展开
-
BUUCTF [GWCTF 2019]pyre 1
参考Python 并非完全是解释性语言,它也存在编译。先将源码文件 *.py 编译为 *.pyc,然后由 Python 的虚拟机执行PYC文件是Python编程语言的字节码文件。当Python程序执行时,Python解释器会将.py文件转换为字节码,然后将其保存为.pyc文件。这样在下一次执行时,Python解释器可以直接使用.pyc文件,而无需再次编译源代码。这通常会导致更快的程序执行速度。pyc文件可以直接被python解释器执行。原创 2023-10-28 14:07:46 · 308 阅读 · 0 评论 -
BUUCTF 简单注册器 1
一道简单的逆向题,通过if判断写出对应的规则即可原创 2023-10-27 21:17:28 · 280 阅读 · 0 评论 -
BUUCTF 刮开有奖 1
这是一个windows程序,主要计算出最后的String值原创 2023-10-27 20:51:48 · 328 阅读 · 0 评论 -
BUUCTF [BJDCTF2020]JustRE 1
sprintf将格式化后的字符串输出到String中。shift + F12搜索字符串。一路跟踪到汇编窗口,然后F5。发现类似flag的字符串。最终String的值为。原创 2023-10-11 11:28:31 · 172 阅读 · 0 评论 -
BUUCTF [GXYCTF2019]luck_guy
偶数时进入get_flag函数 ,这里不会传递任何参数。这里读取输入,并且将输入传递给了patch_me函数。此时再结合case 1的f1的数据,那么就是flag。我们点击s后面的值,然后按r,他就会变成字符串。当随机数字为5时,会对f2进行一系列操作。发现当数字等于4的时候为f2初始化了值。我们复制下来然后运行一下看看结果如何。上面判断我们输入的数是否为奇数。如果为1,输出这是flag。使用DIE查看文件信息。原创 2023-10-11 11:16:34 · 98 阅读 · 0 评论 -
BUUCTF Java逆向解密 1
Class文件是Java编译后的二进制字节码文件。我这里使用的是jadx-gui,直接将class文件拖进去即可代码的逻辑也非常简单主要就是我们输入的值最后需要等于KEYList这个数组,而KEYList的值就是原创 2023-10-10 20:05:53 · 883 阅读 · 0 评论 -
BUUCTF SimpleRev
该文件为64位的ELF文件,运行在linux平台使用IDA64打开进入Decry函数输入flag和成功的提示看看如何才能成功拿到flag这里比较text和str2,text是源代码就有的那么str2应该就是我们输入的内容先分析text的内容是什么进入join函数该函数将两个输入字符串连接在一起,并返回一个新的字符串,表示连接后的结果。我们不难得到text的值点击一下0x776F646168LL然后按r因为是小端序,所以低位在前,高位在后,所以最后需要反过来。原创 2023-10-10 17:50:19 · 89 阅读 · 0 评论 -
BUUCTF 不一样的flag 1
可以看到这里进行了最终的判断,等于49就直接退出,等于35就是等同于获取到了flag。那我们最开始运行程序的时候发现2可以输入3次都不会撞墙,其他的第一次就是撞墙了。这应该就是迷宫问题,有着上下左右,最后走到终点的输入应该就是flag。通过这里我们不难猜出,1就是墙,#就是终点,最开始的*应该就是入口了。这里点击49这个数字,然后点击r,对下面的35进行同样的操作。输入2的时候可以多输入几次,其他的一下就没了。2是向下,迷宫不大,那么我们可以画图理解一下。使用StudyPE看看文件信息。原创 2023-10-10 15:43:33 · 139 阅读 · 0 评论 -
BUUCTF reverse3 1
根据编码表判断出base64编码原创 2023-10-10 15:08:51 · 147 阅读 · 0 评论 -
BUUCTF helloword 1
下载下来是一个apk文件,也就是手机的app。使用jadx-gui反编译。点进去直接就能看到flag。选择导航 -> 文本搜索。原创 2023-10-10 14:19:21 · 109 阅读 · 0 评论 -
BUUCTF xor 1
这段代码将当前字符和前一个字符进行异或,所以我们只需要编写程序倒推出来即可。flag的长度需要为33,最终通过一段代码得到global。对该地址shift + e提取数据。首先我们需要得到global的值。使用DIE工具查看文件类型。原创 2023-10-10 02:34:18 · 110 阅读 · 0 评论 -
BUUCTF 新年快乐 1
加壳是通过在原始可执行文件周围包装一层额外的代码(壳)来实现的,这个壳在运行时负责解密、加载和执行原始程序。程序刚开始加载的时候,最先开始就是执行壳程序,壳程序将所有的寄存器进行压栈,保存壳执行前所有寄存器的状态。像这个UPX的壳就是压缩壳,可以有效的压缩程序的体积,在分析该程序之前我们就需要先去壳才行。然后再同目录下会出现SCY结尾的一个程序,这个就是脱壳之后的程序,使用IDA32打开。可以看到一个pushd的断点,删除其他的断点,留下pushad这个断点。下面的文件类型显示有一个UPX的壳。原创 2023-10-10 01:22:11 · 70 阅读 · 0 评论 -
BUUCTF内涵的软件 1
通过IDA字符串窗口一眼盯真原创 2023-09-10 18:35:20 · 172 阅读 · 0 评论 -
BUUCTF reverse2 1
使用die查看文件信息,发现是ELF64位程序, 也就是说这是linux上的运行程序。可以看到这里和flag进行对比。点击这个7Bh,然后按r。使用IDA64打开文件。原创 2023-09-10 16:14:17 · 173 阅读 · 0 评论 -
BUUCTF reverse1 1
通过输出来跟踪真确flag位置原创 2023-09-10 16:00:44 · 154 阅读 · 0 评论 -
BUUCTF easyre 1
使用IDA反汇编直接看到flag原创 2023-09-10 15:33:12 · 93 阅读 · 0 评论