![](https://img-blog.csdnimg.cn/20190927151053287.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
BUUCTF Reverse
文章平均质量分 51
BUUCTF Reverse
ofo300
1
展开
-
BUUCTF Reverse/[QCTF2018]Xman-babymips
一个移位和按位与操作,直接爆破就行。32位程序,代码很简单。原创 2023-09-12 20:49:39 · 237 阅读 · 0 评论 -
BUUCTF Reverse/[羊城杯 2020]login(python程序)
解码完成后用16进制编辑器打开,如010,将login.pyc中的第一行替换为struct.pyc的第一行,然后找个在线pyc反编译。动调了一下,该程序创建了一个线程来读入数据,而这个线程的代码应该是放在内存中直接执行的,本地看不到代码,很蛋疼。随便用个word做个替换,将a1-a14替换成code[]这样z3变量命名方便点。查看信息,python文件。工具来解包,可以参考这个。原创 2023-09-12 00:13:17 · 479 阅读 · 0 评论 -
BUUCTF Reverse/[2019红帽杯]childRE
C++的类成员函数(其调用方式是thiscall)。函数的名字修饰与非成员的C++函数稍有不同,首先就是在函数名字和參数表之间插入以“@”字 符引导的类名。可以先写脚本将outputstring中的值给求出来。感觉像个二叉树遍历,试了下还原二叉树但是咋搞都不对。然后就是这个函数了,可以参考。来分割,对应关系如下。直接在输入的时候使用。刚好对应每个数的下标。原创 2023-09-11 23:12:52 · 331 阅读 · 0 评论 -
BUUCTF Reverse/[CFI-CTF 2018]IntroToPE
无原创 2022-11-29 15:10:53 · 153 阅读 · 0 评论 -
BUUCTF Reverse/[2019红帽杯]xx
BUUCTF Reverse/[2019红帽杯]xx先看下文件信息:没有加壳、64位程序看别人wp时候发现个好东东,就是这个findcrypt插件,可以看加密算法的,具体安装可以看这个IDA7.5安装findcrypt3插件可以看到这是tea加密...原创 2022-11-28 22:22:37 · 549 阅读 · 0 评论 -
BUUCTF Reverse/firmware
firmware-mod-kit安装原创 2022-11-25 23:04:04 · 869 阅读 · 0 评论 -
BUUCTF Reverse/[GWCTF 2019]re3
无原创 2022-11-25 00:18:24 · 467 阅读 · 0 评论 -
BUUCTF Reverse/[GXYCTF2019]simple CPP
BUUCTF Reverse/[GXYCTF2019]simple CPP先看文件信息,是个64位的程序,且没有加壳IDA64位打开int __cdecl main(int argc, const char **argv, const char **envp){ bool v3; // si __int64 v4; // rax __int64 v5; // r8 __int64 v6; // r8 unsigned __int8 *v7; // rax unsi原创 2022-11-22 23:39:33 · 335 阅读 · 0 评论 -
BUUCTF Reverse/crackMe
BUUCTF crackme原创 2022-11-02 00:34:42 · 231 阅读 · 0 评论 -
[SWPU2019]ReverseMe
无原创 2022-06-05 01:11:36 · 607 阅读 · 0 评论 -
BUUCTF Reverse/equation (jsfuck)
下载得到一个html文件,打开可以看到代码,很简洁,只要满足if语句中的条件就行。flag就存放在 l 这个数组里面在控制台里面输入if语句中的条件,也只能得到false,不能直接得到完整的代码只输入一部分倒是可以,但是太繁琐了,网站解码也不能完全解码出来我在GitHub上找了下,看到个unjsfuck的脚本,用python实现的。也可以使用js脚本,来源于大佬的博客,js脚本要简洁很多进入你安装python的那个文件夹,比如我的就是 f:\Python\Scripts,然..原创 2022-02-13 17:49:51 · 883 阅读 · 0 评论 -
BUUCTF Reverse/[羊城杯 2020]easyre
IDA打开分析代码,又是一个字符串比较的问题,输入flag,对flag加密三次,flag的长度为38int __cdecl main(int argc, const char **argv, const char **envp){ int v3; // eax int v4; // eax int v5; // eax char flag[48]; // [rsp+20h] [rbp-60h] BYREF char flag_encode_3[..原创 2022-01-27 17:55:19 · 1253 阅读 · 1 评论 -
BUUCTF Reverse/[FlareOn1]Bob Doge
先看信息,64位程序,无壳然后我用IDA打开看了半天,啥也看不出来运行一下,发现是个安装程序安装完成安装后的程序为Challenge1.exe ,32位,用C#写的点击DECODE会变成一个狗头用IDA打开发现不行,无法反汇编,然后搜了下C#逆向,看到篇文章:推荐.Net、C# 逆向反编译四大工具利器改用NET打开,这里可以看到DECODE!这个按钮,点进去查看这个按钮的事件发现这里有三个for循环,取用了data_secret这个里面的资..原创 2022-01-10 12:19:55 · 678 阅读 · 0 评论 -
BUUCTF Reverse/Ultimate Minesweeper
BUUCTF Reverse/Ultimate Minesweeper先看文件信息,没有加壳,且为net编写的程序运行是一个扫雷游戏,只要点错一个就会自动退出(左上角显示的是雷的数目,一共有897个雷,总共900个格子,说明就三个数是能点的)一个小提示既然是net程序,分析软件的话可以参考这个推荐.Net、C# 逆向反编译四大工具利器我用的是dnSpy,这个可以看到程序的大概结构有main函数这个FaiurePopup和SuccessPopupj是设置窗口原创 2021-08-18 21:03:58 · 384 阅读 · 0 评论 -
BUUCTF Reverse/特殊的 BASE64
BUUCTF Reverse/特殊的 BASE64先看文件信息,没有加壳用IDA64位打开,看题目描述就知道这是base码表做了变换跟进查看base64加密有一个拷贝函数然后下面就是正常的加密了变换过的码表然后找个网站在线自定义base64编解码解出flagflag{Special_Base64_By_Lich}...原创 2021-08-18 15:19:56 · 286 阅读 · 0 评论 -
BUUCTF Reverse/[ACTF新生赛2020]SoulLike
BUUCTF Reverse/[ACTF新生赛2020]SoulLike看下文件信息,没有加壳IDA64位打开,还是字符串比较题目__int64 __fastcall main(int a1, char **a2, char **a3){ __int64 result; // rax char v5; // [rsp+7h] [rbp-B9h] int i; // [rsp+8h] [rbp-B8h] int j; // [rsp+Ch] [rbp-B4h] int原创 2021-08-16 21:07:51 · 398 阅读 · 0 评论 -
BUUCTF Reverse/[Zer0pts2020]easy strcmp
BUUCTF Reverse/[Zer0pts2020]easy strcmp先看文件信息,ELF文件,没有加壳拖入IDA64位打开应该没这么简单就给出flag__int64 __fastcall main(int a1, char **a2, char **a3){ if ( a1 > 1 ) { if ( !strcmp(a2[1], "zer0pts{********CENSORED********}") ) puts("Correct!"原创 2021-08-12 15:54:49 · 478 阅读 · 0 评论 -
BUUCTF Reverse/[网鼎杯 2020 青龙组]jocker
BUUCTF Reverse/[网鼎杯 2020 青龙组]jocker先看下文件信息,没有加壳,32位程序运行一下,又是一道字符串比较的题目用IDA32位打开,分析一下// positive sp value has been detected, the output may be wrong!int __cdecl main(int argc, const char **argv, const char **envp){ char Str[50]; // [esp+12h原创 2021-08-11 21:19:26 · 937 阅读 · 0 评论 -
BUUCTF Reverse/[FlareOn5]Minesweeper Championship Registration
BUUCTF Reverse/[FlareOn5]Minesweeper Championship Registration下载得到一个jar文件,运行一下随便输一个数里面还有一个hint用jd-gui-windows-1.4.0打开,直接就能看到源码,flag就在里面输入验证一下flag{GoldenTicket2018@flare-on.com}...原创 2021-08-09 15:10:07 · 271 阅读 · 0 评论 -
BUUCTF Reverse/findKey
BUUCTF Reverse/findKey先看文件信息:32位程序,没有加壳打开看看,标题为find flag,也没啥有用的信息IDA32位打开,找到start函数,看到有个main,跟随跳转看到几个函数,都跟进查看一下并没有什么有用的信息ATOM __cdecl sub_4011D0(HINSTANCE hInstance){ WNDCLASSEXA v2; // [esp+4Ch] [ebp-30h] BYREF v2.cbSize = 48;原创 2021-08-07 18:18:59 · 818 阅读 · 1 评论 -
BUUCTF Reverse/[GUET-CTF2019]number_game
BUUCTF Reverse/[GUET-CTF2019]number_game先看文件信息IDA64位打开unsigned __int64 __fastcall main(int a1, char **a2, char **a3){ __int64 v4; // [rsp+8h] [rbp-38h] __int64 v5; // [rsp+10h] [rbp-30h] BYREF __int16 v6; // [rsp+18h] [rbp-28h] __int64 v7原创 2021-08-03 19:59:23 · 326 阅读 · 0 评论 -
BUUCTF Reverse/[WUSTCTF2020]level4
BUUCTF Reverse/[WUSTCTF2020]level4先看文件信息,没有加壳IDA打开找到主函数,看描述说这是一个数据结构的算法,而且有left以及rleft,这不就是数据结构里面的左子树和右子树么跟进init看一下这两个输出运行一下这type1和type2就是中序遍历和后序遍历没跑,那么猜测type3就是前序遍历了,找到这个已知中序遍历和后序遍历求前序遍历 改下脚脚本#include <stdlib.h>#include原创 2021-08-02 21:48:27 · 611 阅读 · 0 评论 -
BUUCTF Reverse/[2019红帽杯]Snake
BUUCTF Reverse/[2019红帽杯]Snake下载解压缩后得到可执行文件,而且有一个unity的应用程序,应该是用unity编写的游戏打开是一个贪吃蛇游戏用.NET Reflector打开Assembly-CSharp.dll。(unity在打包后,会将所有的代码打进一个Assembly-CSharp.dll的文件里面,通过这个文件的反编译,就是详细看见里面的代码内容)再将Assembly-CSharp.dll拖入IDA中查看函数关系有个start函数,但原创 2021-07-31 10:00:45 · 937 阅读 · 0 评论 -
BUUCTF Reverse/[网鼎杯 2020 青龙组]singal
BUUCTF Reverse/[网鼎杯 2020 青龙组]singal先看文件信息,没有加壳运行,又是字符串比较的题目IDA32位打开,打开string窗口,跟随跳转读入字符串size_t __cdecl read(char *Str){ size_t result; // eax printf("string:"); scanf("%s", Str); result = strlen(Str); if ( result != 15 ) {原创 2021-07-31 09:11:44 · 562 阅读 · 0 评论 -
BUUCTF Reverse/[ACTF新生赛2020]Universe_final_answer
BUUCTF Reverse/[ACTF新生赛2020]Universe_final_answer先看文件信息,没有加壳用IDA64位打开,代码很简单,又是输入字符串比较__int64 __fastcall main(int a1, char **a2, char **a3){ char v4[32]; // [rsp+0h] [rbp-A8h] BYREF char v5[104]; // [rsp+20h] [rbp-88h] BYREF unsigned __int64原创 2021-07-29 16:38:16 · 444 阅读 · 0 评论 -
BUUCTF Reverse/[UTCTF2020]basic-re
BUUCTF Reverse/[UTCTF2020]basic-re先看文件信息IDA64位打开,主函数是一个计算器,没什么有用的信息打开string窗口,找到flagflag{str1ngs_1s_y0ur_fr13nd}原创 2021-07-28 16:51:19 · 377 阅读 · 0 评论 -
BUUCTF Reverse/[FlareOn3]Challenge1
BUUCTF Reverse/[FlareOn3]Challenge1先看文件信息,没有加壳,且为32位程序IDA32位打开,简洁明了的字符串比较题int __cdecl main(int argc, const char **argv, const char **envp){ char Buffer[128]; // [esp+0h] [ebp-94h] BYREF char *Str1; // [esp+80h] [ebp-14h] char *Str2; // [esp原创 2021-07-27 21:01:09 · 270 阅读 · 0 评论 -
BUUCTF Reverse/[ACTF新生赛2020]Oruga
BUUCTF Reverse/[ACTF新生赛2020]Oruga先看文件信息:没有加壳IDA64位打开,分析代码__int64 __fastcall main(int a1, char **a2, char **a3){ __int64 result; // rax int i; // [rsp+0h] [rbp-40h] char s1[6]; // [rsp+4h] [rbp-3Ch] BYREF char s2[6]; // [rsp+Ah] [rbp-36h]原创 2021-07-27 15:55:57 · 574 阅读 · 0 评论 -
BUUCTF Reverse/[WUSTCTF2020]Cr0ssfun
BUUCTF Reverse/[WUSTCTF2020]Cr0ssfun先看文件信息,IDA64位打开,很简单的题目,只要一个个输入就行都是返回的这种元素_BOOL8 __fastcall iven_is_handsome(_BYTE *a1){ return a1[10] == 112 && a1[13] == 64 && a1[3] == 102 && a1[26] == 114原创 2021-07-27 10:22:59 · 198 阅读 · 0 评论 -
BUUCTF Reverse/[FlareOn6]Overlong
BUUCTF Reverse/[FlareOn6]Overlong看文件信息,没有加壳且为32位程序运行一下看看用IDA32位打开int __stdcall start(int a1, int a2, int a3, int a4){ CHAR Text[128]; // [esp+0h] [ebp-84h] BYREF unsigned int v6; // [esp+80h] [ebp-4h] v6 = sub_401160(Text, (int)&un原创 2021-07-26 21:10:57 · 314 阅读 · 0 评论 -
BUUCTF Reverse/[WUSTCTF2020]level3
BUUCTF Reverse/[WUSTCTF2020]level3没有加壳用IDA64位打开,分析代码int __cdecl main(int argc, const char **argv, const char **envp){ char *v3; // rax char v5; // [rsp+Fh] [rbp-41h] char v6[56]; // [rsp+10h] [rbp-40h] BYREF unsigned __int64 v7; // [rsp+4原创 2021-07-26 18:52:23 · 255 阅读 · 0 评论 -
BUUCTF Reverse/[BJDCTF2020]BJD hamburger competition
BUUCTF Reverse/[BJDCTF2020]BJD hamburger competition下载得到一个unity3d游戏运行是一个老八吃汉堡小游戏(建议搭配耳机食用)打开这个目录 BJD hamburger competition_Data\Managed,然后找到Assembly-CSharp.dill这个文件,用NET-Reflector打开。(unity在打包后,会将所有的代码打进一个Assembly-CSharp.dll的文件里面,通过这个文件的反编译,就能详细看原创 2021-07-26 13:58:52 · 334 阅读 · 0 评论 -
BUUCTF Reverse/[MRCTF2020]hello_world_go
BUUCTF Reverse/[MRCTF2020]hello_world_go先看文件信息,没有加壳看到题目有go,推测这是go语言编写的程序下载好IDAGolangHelper,然后按alt + f7 选择 go_entry.py上面两个是查看go语言信息的检测到可能是这几个版本选择一个版本,然后点击剩下的三个按钮,然后点OK,但是我的IDA(7.5版本)加载失败了,然后找了好久的解决方法还是搞不定然后直接搜索字符串flag跟进这里按a原创 2021-07-26 10:47:30 · 552 阅读 · 0 评论 -
BUUCTF Reverse/[MRCTF2020]Xor
BUUCTF Reverse/[MRCTF2020]Xor没有加壳且为32位程序IDA32位打开发现主函数无法反编译根据这个解决IDA出现Decompilation failure: call analysis failed不可以F5的问题找到401095这个位置,双击跟进,按F5查看伪码,然后再返回到main函数中,就能正常查看伪码了int __cdecl main(int argc, const char **argv, const char **envp){ uns原创 2021-07-26 09:24:57 · 600 阅读 · 0 评论 -
BUUCTF Reverse/[FlareOn4]IgniteMe
BUUCTF Reverse/[FlareOn4]IgniteMe先查看文件信息:没有加壳且为32位程序运行,发现又是一道字符串比较的题目用IDA32位打开分析代码void __noreturn start(){ DWORD NumberOfBytesWritten; // [esp+0h] [ebp-4h] BYREF NumberOfBytesWritten = 0; hFile = GetStdHandle(0xFFFFFFF6); dword_40307原创 2021-07-25 21:00:14 · 967 阅读 · 1 评论 -
BUUCTF Reverse/[HDCTF2019]Maze
BUUCTF Reverse/[HDCTF2019]Maze原创 2021-07-24 21:43:56 · 311 阅读 · 0 评论 -
BUUCTF Reverse/[GWCTF 2019]xxor
BUUCTF Reverse/[GWCTF 2019]xxor查看文件信息发现没有加壳直接IDA查看代码__int64 __fastcall main(int a1, char **a2, char **a3){ int i; // [rsp+8h] [rbp-68h] int j; // [rsp+Ch] [rbp-64h] __int64 v6[6]; // [rsp+10h] [rbp-60h] __int64 v7[6]; // [rsp+40h] [rbp-30原创 2021-07-23 21:49:37 · 321 阅读 · 0 评论 -
BUUCTF Reverse/[WUSTCTF2020]level2
BUUCTF Reverse/[WUSTCTF2020]level2看一下文件信息,发现是UPX加壳kali里面脱壳IDA32位打开,搜索main函数,跟随跳转flag就直接写在这里。。。flag :flag{Just_upx_-d}原创 2021-07-23 16:10:55 · 542 阅读 · 0 评论 -
BUUCTF Reverse/[MRCTF2020]Transform
BUUCTF Reverse/[MRCTF2020]Transform先看文件属性,没有加壳且为64位程序又是一道字符串比较的题目IDA64打开int __cdecl main(int argc, const char **argv, const char **envp){ char Str[104]; // [rsp+20h] [rbp-70h] BYREF int j; // [rsp+88h] [rbp-8h] int i; // [rsp+8Ch] [rbp-原创 2021-07-23 11:22:00 · 164 阅读 · 0 评论 -
BUUCTF Reverse/[WUSTCTF2020]level1
BUUCTF Reverse/[WUSTCTF2020]level1查看信息,是ELF文件用IDA64打开,找到main函数查看伪代码int __cdecl main(int argc, const char **argv, const char **envp){ int i; // [rsp+4h] [rbp-2Ch] FILE *stream; // [rsp+8h] [rbp-28h] char ptr[24]; // [rsp+10h] [rbp-20h] BYREF原创 2021-07-23 10:19:44 · 170 阅读 · 0 评论