-
-
[原创]2019 Q2 第一题 神秘来信 分析
-
发表于: 2019-6-23 12:40 2241
-
签到题,F5一下。
输入长度为6,最后3位为353,前3位的和为149。
int __cdecl main(int argc, const char **argv, const char **envp) { int val; // esi unsigned int v4; // kr00_4 unsigned int i; // ecx unsigned __int8 input[6]; // [esp+10h] [ebp-3Ch] CPPEH_RECORD ms_exc; // [esp+34h] [ebp-18h] val = 0; printf((int)"请输入序列号:\n"); scanf("%s", input); v4 = strlen((const char *)input); if ( v4 < 7 && input[5] == '3' && input[4] == '5' && input[3] == '3' && input[2] + input[1] + input[0] == 149 ) { i = 0; if ( v4 ) { do val = input[i++] + 16 * val - 48; while ( i < v4 ); } ms_exc.registration.TryLevel = 0; printf((int)"error!\n"); while ( 1 ) ; } printf((int)"error\n"); return 0; }
F5的代码不完整,直接看汇编
函数开头设置异常处理函数:
.text:00401260 push ebp .text:00401261 mov ebp, esp .text:00401263 push 0FFFFFFFEh .text:00401265 push offset stru_41CC98 .text:0040126A push offset __except_handler4 .text:0040126F mov eax, large fs:0 .text:00401275 push eax
处理函数显示"success",所以需要产生异常
.rdata:0041CC98 stru_41CC98 dd 0FFFFFFE4h ; GSCookieOffset .rdata:0041CC98 ; DATA XREF: _main+5↑o .rdata:0041CC98 dd 0 ; GSCookieXOROffset ; SEH scope table for function 401260 .rdata:0041CC98 dd 0FFFFFFB4h ; EHCookieOffset .rdata:0041CC98 dd 0 ; EHCookieXOROffset .rdata:0041CC98 dd 0FFFFFFFEh ; ScopeRecord.EnclosingLevel .rdata:0041CC98 dd offset loc_401373 ; ScopeRecord.FilterFunc .rdata:0041CC98 dd offset sucesss ; ScopeRecord.HandlerFunc
6位数字转化为16进制数:
.text:00401330 movzx eax, [ebp+ecx+input] .text:00401335 shl esi, 4 .text:00401338 add esi, 0FFFFFFD0h .text:0040133B add esi, eax .text:0040133D inc ecx .text:0040133E cmp ec
16进制数与地址0x401353相减,作为除数,让除数等于0就能产生异常
.text:0040134E call loc_401354 .text:0040134E ; --------------------------------------------------------------------------- .text:00401353 db 0EBh .text:00401354 ; --------------------------------------------------------------------------- .text:00401354 .text:00401354 loc_401354: ; CODE XREF: _main+EE↑j .text:00401354 pop eax .text:00401355 sub eax, 0 .text:00401358 sub esi, eax .text:0040135A div esi
故key为401353
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
最后于 2019-6-23 13:07
被mratlatsn编辑
,原因:
赞赏
他的文章
看原图
赞赏
雪币:
留言: