XCTF 进阶 RE
一天一道CTF题目,能多不能少
key
下载文件,运行,发现运行不动
直接用ida打开找主函数,太简洁不可能:
进入sub_401100:
int sub_401100()
{
signed int v0; // esi
signed int v1; // esi
unsigned int v2; // edi
void **v3; // ebx
void **v4; // eax
int v5; // ecx
int v6; // ST04_4
int v7; // ST08_4
int v8; // ST0C_4
int v9; // eax
int v10; // ST0C_4
char *v11; // esi
int v12; // ecx
void **v13; // eax
int v14; // eax
int v15; // ST0C_4
int v16; // eax
int v17; // ST0C_4
int v18; // eax
int v19; // ST0C_4
int v20; // eax
int v21; // ST0C_4
int v22; // eax
int v23; // ST0C_4
int v24; // eax
int v25; // ST0C_4
int v26; // eax
int v27; // ST0C_4
int v28; // eax
int result; // eax
int v30; // [esp-4h] [ebp-13Ch]
int Dst; // [esp+14h] [ebp-124h]
char v32[4]; // [esp+20h] [ebp-118h]
char v33; // [esp+24h] [ebp-114h]
int v34; // [esp+5Ch] [ebp-DCh]
char v35; // [esp+61h] [ebp-D7h]
int v36; // [esp+64h] [ebp-D4h]
int v37; // [esp+68h] [ebp-D0h]
char v38; // [esp+6Ch] [ebp-CCh]
FILE *File; // [esp+70h] [ebp-C8h]
char v40; // [esp+84h] [ebp-B4h]
void *v41; // [esp+CCh] [ebp-6Ch]
int v42; // [esp+DCh] [ebp-5Ch]
unsigned int v43; // [esp+E0h] [ebp-58h]
void *v44; // [esp+E4h] [ebp-54h]
int v45; // [esp+F4h] [ebp-44h]
unsigned int v46; // [esp+F8h] [ebp-40h]
void *Memory[4]; // [esp+FCh] [ebp-3Ch]
int v48; // [esp+10Ch] [ebp-2Ch]
unsigned int v49; // [esp+110h] [ebp-28h]
__int128 v50; // [esp+114h] [ebp-24h]
__int16 v51; // [esp+124h] [ebp-14h]
char v52; // [esp+126h] [ebp-12h]
int v53; // [esp+134h] [ebp-4h]
v46 = 15;
v45 = 0;
LOBYTE(v44) = 0;
v53 = 0;
v43 = 15;
v42 = 0;
LOBYTE(v41) = 0;
LOBYTE(v53) = 1;
v0 = 0;
v48 = 1684630885;
LOWORD(v49) = 97;
*(_OWORD *)Memory = xmmword_40528C;
v51 = 11836;
v52 = 0;
v50 = xmmword_4052A4;
do
{
sub_402