逆向攻防世界CTF系列44-happyctf
发表于|更新于|Re
逆向攻防世界CTF系列44-happyctf
是个C++风格的代码
不用关心这些乱七八糟的,其实都是对象,仔细看一下跟进第一个operator(add)
异或
直接猜出来了…
1 | key = 'rxusoCqxw{yqK`{KZqag{r`i' |
flag{Welcome_to_Neusoft}
文章作者: Matriy
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Matriy's blog!
相关推荐
2024-11-09
逆向攻防世界CTF系列1-Hello,CTF
逆向CTF系列1-Hello,CTF下载文件首先查壳 是32位的。 上面的图看到了没有。说明这个软件是没有加壳的。是用Microsoft Visual C++ 6.0软件编写的。如果查到了是aspack的。那就说明是加了aspack的壳。您可以用专门脱aspack脱壳机来脱壳。很多高手都是用OllyDBG V1.10 手工来脱壳的。 可以先运行一下源程序,输入123,发现输出wrong 可能是要我们输出success才行。在ida中再看看,果断F5。 1234567891011121314151617181920212223242526272829303132333435363738int __cdecl main(int argc, const char **argv, const char **envp) { int i; // ebx char v4; // al int result; // eax int v6; // [esp+0h] [ebp-70h] int v7; // [esp+0h] [ebp-70h] char...
2025-01-21
逆向攻防世界CTF系列10-csaw2013reversing2
逆向攻防世界CTF系列10-csaw2013reversing232位无壳 提示:听说运行就能拿到Flag,不过菜鸡运行的结果不知道为什么是乱码 运行果然出乱码… 解法1:静态分析 大概是要MessageBoxA输出结果flag,但是我们输出的是乱码,可能是if语句没有执行,此外,if 语句中还有个exit函数 我们没输出flag的原因是因为sub_401000没有执行,我们想办法让他执行 左侧的MessageBoxA:一个没有被调用的弹框函数 修改点1:红框1处jzn改为jmp就是无条件跳转, 修改点2:jmp short loc_4010EF改为 jmp short loc_4010B9,避免让他执行exit函数。 修改点3:int 3(__debugbreak();) 改为 nop __debugbreak () 是一个内置函数,用于在程序运行时生成一个软件断点,从而暂停程序执行并等待调试器连接。 一旦你的进程执行到int 3指令时,操作系统就将它暂停。在Linux上,这会给该进程发送一个SIGTRAP信号。 NOP(No...
2025-01-25
逆向攻防世界CTF系列11-maze
逆向攻防世界CTF系列11-maze迷宫问题:迷宫问题 - CTF Wiki (ctf-wiki.org) 64位无壳 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667__int64 __fastcall main(__int64 a1, char **a2, char **a3){ const char *v3; // rsi signed __int64 v4; // rbx signed int v5; // eax char v6; // bp char v7; // al const char *v8; // rdi __int64 v10; // [rsp+0h] [rbp-28h] v10 = 0LL; puts("Input flag:"); scanf("%s", &s1, 0LL);...
2025-01-27
逆向攻防世界CTF系列12-666
逆向攻防世界CTF系列12-666 123456789101112131415161718int __fastcall main(int argc, const char **argv, const char **envp){ char s[240]; // [rsp+0h] [rbp-1E0h] BYREF char v5[240]; // [rsp+F0h] [rbp-F0h] BYREF memset(s, 0, 0x1EuLL); printf("Please Input Key: "); __isoc99_scanf("%s", v5); encode(v5, s); if ( strlen(v5) == key ) { if ( !strcmp(s, enflag) ) puts("You are Right"); else puts("flag{This_1s_f4cker_flag}"); ...
2025-01-29
逆向攻防世界CTF系列13-Reversing-x64Elf-100
逆向攻防世界CTF系列13-Reversing-x64Elf-100无壳64位 1234567891011121314151617181920__int64 __fastcall main(int a1, char **a2, char **a3){ char s[264]; // [rsp+0h] [rbp-110h] BYREF unsigned __int64 v5; // [rsp+108h] [rbp-8h] v5 = __readfsqword(0x28u); printf("Enter the password: "); if ( !fgets(s, 255, stdin) ) return 0LL; if ( (unsigned int)sub_4006FD(s) ) { puts("Incorrect password!"); return 1LL; } else { puts("Nice!"); return...
2025-01-31
逆向攻防世界CTF系列14-easyRE1-100
逆向攻防世界CTF系列14-easyRE1-100给了两个文件,一个32位,一个64位 先看看32位 再看64 试了一下,假的 最后还是没做出来 看了题解… flag{db2f62a36a018bce28e46d976e3f9864} 吃一堑长一智….
评论
公告
我是一个网安小白,一名安卓逆向工程师,Web安全开发工程师,二进制学习者