对于在2000---2005 左右出的一些壳, ESP 定律无疑是他们的噩梦,它几乎能对他们进行秒杀哦。。。
当一个外国的高手提出 堆栈平衡 的时候,这种方法被用来对付加了壳的程序,秒杀当时的很多壳。。
回到正题,堆栈平衡,我想知道一点破解的人都应该知道,它可以用于脱绝大部分的压缩壳,一些早期的加密壳,
想 UPX, ASPACK,北斗这样的玩意。。
但是,我想,如果我的程序,怎么样来保护自己不被秒杀?
很重要的一点,堆栈的平衡被用于脱壳,是因为他能在我们的壳最后解压或处理完,跳向 OEP 时,中断下来。
我想,我们可以通过修改程序跳向 OEP 前的几个字节,不让cracker 能在我们的大门口停下,我们可以在程序入站的
时候,将环境的变量多复制几份,保存在几个不同的地址,当程序出站时,随即的调用恢复环境的函数,让断点远离
我们的OEP ,经过我的测试,程序可能会段在程序的领空,对于破解者,这个可不是有用的东西。。。
当然,修改程序,让堆栈不平衡,也是可以达到这样的效果,但是,程序的稳定性就不好说了。。。