easyhook
HOOK技术
hook是一种windows下调用信息队列的机制(也就是记录交互和改变运行基底)
遇事不决,动态调试!
这个题动态调试动起来就会发现,最后的check函数是假的。然后通过流程二分定区间,最后可以锁定主体函数,是一个非常简单的加密,然后python脚本逆回去就好。
另外本题也要求了解一些内核机制,而且反编译中还有一句很有趣
1 | key = (char *)crypto - (char *)lpAddress - 5; |
这一句对应的反汇编是
1 | .text:004011FC lea eax, crypto |
估测是将函数放在了返回寄存器里,然后再通过函数回退去调用,不过具体细节还需要考证。