0x00 日常查壳
无壳64位
0x01 分析主函数?
想分析F8按烂掉,看WP说是ECC点加法…一开始认为着只是代码多了点,真正的逻辑不难,结果调麻了
直到现在才想起void师傅教我出题不要脑洞不要脑洞,所以题目名是就是这题的关键啊!
WER
Windows Error Report,Windows错误报告
ApplicationRecoveryCallback,当程序产生无响应或未处理进行处理
WerReportHang,让指定窗口启动未响应报告
那么如果简单看完这三篇文档可以理下逻辑
- 在初始化时注册ApplicationRecoveryCallback函数
- 在OnExit调用WerReportHang触发异常
- 之前注册的回调函数发挥作用,进行了真正的逻辑处理
问了Void师傅,OnExit函数就在main函数里,不过每次调用WerReportHang就会关闭调试器!!(所以为什么每次断不到
0x02 Real logic!
那么直接在import库里直接找,然后找调用即可
同样也可以找到回调函数(以后没思路一定去搜搜回调函数!!)
唯一的一个问题就是到底是哪调用的OnExit函数发生了异常?理清所有问题问问void师傅
那么真正的逻辑函数就在回调函数后的那个,有位师傅直接通过Messagebox函数找到这了,以后思路一定要打开!!
1 | int sub_7FF6DA5FF3B0() |
0x03 GetFlag
简答的异或脚本,我也很异或呢
1 | data = [ 0x05, 0x03, 0x55, 0x05, 0x04, 0x07, 0x5E, 0x54, 0x05, 0x07, 0x50, 0x02, 0x03, 0x53, 0x5F, 0x50, 0x53, 0x50, 0x53, 0x05, 0x55, 0x00, 0x54, 0x55, 0x57, 0x03, 0x05, 0x02, 0x52, 0x50, 0x51, 0x53] |
GetFlag!
🍬
🍪
About this Post
This post is written by P.Z, licensed under CC BY-NC 4.0.