本帖最后由 爱飞的猫 于 2022-12-10 05:00 编辑
运行不了。附加调试器查看,报错是:
Last chance exception on 00007FFE15CB23C0 (C0000409, STATUS_STACK_BUFFER_OVERRUN)!
报错前执行的是这个指令:
00007FF6F2ED0D5A | 48:8D15 67610000 | lea rdx,qword ptr ds:[7FF6F2ED6EC8] |
00007FF6F2ED0D61 | 48:8D0D 38610000 | lea rcx,qword ptr ds:[7FF6F2ED6EA0] |
00007FF6F2ED0D68 | E8 93220000 | call <JMP.&_initterm> | <- 出错了
把这个 call 去掉后倒是能继续运行,但是… 这个函数是初始化自动调用的,估计启动时的字符串解密有栈溢出挂了?
不过问题不大,继续跑起来,随便输入一个数字,按下暂停键,然后回到终端随便输入一个数字回车,返回到用户层代码 -> 得到一个地址:
0000000140001247 | E8 046C0300 | call <ox3.ReadLine> |
000000014000124C | 48:89E0 | mov rax,rsp |
往下随便看了看,看到一个整数,再来试试:
0000000140001264 | 817C24 2C 39050000 | cmp dword ptr ss:[rsp+2C],539 | 0x539 = 1337
答案是 1337:
Please enter in the correct number:
1
Keep trying!
1337
Well done!
Press any key to continue . . .
|