Category: nctf_2018

nctf_2018 re方向 第三题 Some Boxes

环境配置 系统 : Windows xp 程序 : re300 要求 : 输入口令 使用工具 :IDA 开始分析 在ida中载入程序并查看其伪c代码: __int64 __fastcall main(__int64 a1, char **a2, char **a3) { signed int tmp_ch; // eax@2 int index; // [sp+8h] [bp-8h]@1 int len_mystr; // [sp+Ch] [bp-4h]@1 init_and_output_4007D9(); read(0, my_str, 1000uLL); len_mystr = strlen(my_str); for ( index = 0; index < len_mystr; ++index […]

nctf_2018 re方向 第五题 基本操作 ~Reverse Version.~

环境配置 系统 : Windows xp 程序 : ds 要求 : 输入口令 使用工具 :IDA / gdb-peda 开始分析 在ida中载入程序并查看其伪c代码: __int64 __fastcall main(__int64 a1, char **a2, char **a3) { __int64 result; // rax@3 puts(“Input flag:”); __isoc99_scanf(“%64s”, my_str601100); tmp_601064 = 0; sub_400666(0); if ( !strcmp(&s1, “bcec8d7dcda25d91ed3e0b720cbb6cf202b09fedbc3e017774273ef5d5581794”) ) { memset(&s1, 0, 0x80uLL); tmp_601064 = 0; sub_4006BE(0, 0LL); if ( !strcmp(&s1, […]

nctf_2018 re方向 第二题 后门后门后门

环境配置 系统 : Windows xp 程序 : re0.exe_021a92d31ba30b216736eabbd9919f7b 要求 : 输入口令 使用工具 :IDA 开始分析 拖入ida查看反汇编伪c代码: __int64 __fastcall main(__int64 a1, __int64 a2) { __int64 v2; // rdx@1 __int64 v3; // rdx@2 __int64 v4; // rcx@2 __int64 v5; // r8@2 int c; // [sp+24h] [bp-Ch]@2 int b; // [sp+28h] [bp-8h]@2 int a; // [sp+2Ch] [bp-4h]@2 _main(); welcome(); […]

nctf_2018 re方向 第一题 Our 16bit wars

环境配置 系统 : Windows xp 程序 : asm.exe 要求 : 输入口令 使用工具 :IDA / vc6 / c32asm 开始分析 这是一个16位的汇编语言小程序,在xp可以直接打开。我们将程序拖入ida: dseg:0000 dseg segment para stack ‘DATA’ use16 dseg:0000 assume cs:dseg dseg:0000 aInputFlagCorre db 0Dh,0Ah dseg:0000 db ‘$Input Flag:$Correct!$Wrong Flag!$@’,0 dseg:0076 db 0C9h ; dseg:0077 db 68h ; h dseg:0078 db 8Ah dseg:0079 db 0C8h ; dseg:007A […]

nctf2018 pwn方向 第一题 sendyouflag

环境配置 系统 : Windows xp / Kali 程序 : sendflag 要求 : 输入口令 使用工具 :IDA 开始分析 这是一个简单的题目,直接在ida中查看其伪c代码: int __cdecl main() { char v1; // [sp+8h] [bp-10h]@1 int v2; // [sp+Ch] [bp-Ch]@1 puts(“WELCOME TO PWN”); puts(“I WILL SEND YOU FLAG”); puts(“BUT YOU SHOULD SEND ME SOME ‘a'”); __isoc99_scanf(“%9s”, &v1); if ( v2 == ‘aaaa’ ) { […]