NSSCTF_Re_[BJDCTF 2020]Easy
第三天,不会动调,鸽
32位
找到ques函数
int ques() { int v0; // edx int result; // eax int v2[50]; // [esp+20h] [ebp-128h] BYREF int v3; // [esp+E8h] [ebp-60h] int v4[10]; // [esp+ECh] [ebp-5Ch] int j; // [esp+114h] [ebp-34h] __int64 v6; // [esp+118h] [ebp-30h] int v7; // [esp+124h] [ebp-24h] int v8; // [esp+128h] [ebp-20h] int i; // [esp+12Ch] [ebp-1Ch] v3 = '\x7F\xFA~1'; v4[0] = '\x02$\xFC'; v4[1] = -2008399303; v4[2] = 141956; v4[3] = 139457077; v4[4] = 262023; v4[5] = -2008923597; v4[6] = 143749; v4[7] = 2118271985; v4[8] = 143868; for ( i = 0; i <= 4; ++i ) { memset(v2, 0, sizeof(v2)); v8 = 0; v7 = 0; v0 = v4[2 * i]; LODWORD(v6) = *(&v3 + 2 * i); HIDWORD(v6) = v0; while ( v6 > 0 ) { v2[v8++] = v6 % 2; v6 /= 2LL; } for ( j = 50; j >= 0; --j ) { if ( v2[j] ) { if ( v2[j] == 1 ) { putchar(42); ++v7; } } else { putchar(32); ++v7; } if ( !(v7 % 5) ) putchar(32); } result = putchar(10); } return result; }
然后使用od打开:
发现od里的和ida里的ques函数汇编一样的,所以od里这里的push应该就是ques函数了
然后在这里f2断点
右键
然后f9运行
flag:
NSSCTF{HACKIT4FUN}