-
-
[原创]看雪.纽盾 KCTF晋级赛2019 Q2 第一题 神秘来信
-
发表于: 2019-6-18 14:20 2205
-
用IDA找到main函数,查看伪代码
int __cdecl main(int argc, const char **argv, const char **envp) { int v3; // esi unsigned int v4; // kr00_4 unsigned int v6; // ecx unsigned __int8 v9; // [esp+10h] [ebp-3Ch] unsigned __int8 v10; // [esp+11h] [ebp-3Bh] unsigned __int8 v11; // [esp+12h] [ebp-3Ah] char v12; // [esp+13h] [ebp-39h] char v13; // [esp+14h] [ebp-38h] char v14; // [esp+15h] [ebp-37h] CPPEH_RECORD ms_exc; // [esp+34h] [ebp-18h] v3 = 0; sub_401410("请输入序列号:\n"); sub_4013D0("%s", &v9); v4 = strlen((const char *)&v9); if ( v4 < 7 && v14 == '3' && v13 == '5' && v12 == '3' && v11 + v10 + v9 == 0x95 ) { v6 = 0; if ( v4 ) { do v3 = *(&v9 + v6++) + 16 * v3 - '0'; while ( v6 < v4 ); } ms_exc.registration.TryLevel = 0; MEMORY[0] = 'A'; sub_401410("error!\n"); while ( 1 ) ; } sub_401410("error\n"); return 0; }
我们可以得知key是6位,前三位相加等于0x95,
后三位是"353"
伪代码里面还有ms_exc.registration.TryLevel,说明这里可能会产生异常。
那答案就显而易见了,key就是401353
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
赞赏
他的文章
看原图
赞赏
雪币:
留言: