内存注册机,就是专门用来对付加壳的,也不用知道密码,内存注册机的原理可以是动态修改程序的指令,即检测密码与正式执行之间的指令(例如 jz/jnz等等),这时候程序已经解壳正式运行,并且已经检测完密码,正在选择继续运行或者终止运行之间,即执行
if ** then
之类的语句,实际就是执行类似jz/jnz之类的汇编指令,内存注册机检测并修改为jmp或者反向修改,程序就继续执行,很有意思,反向修改之后,输入正确密码反而无法运行了,所以加壳或者强力保护密码都是没有用的,如果将上面的指令的地址经常发生变化,或者检测是否被修改,或者仿效内存注册机的方法保护这段地址,还有使用花指令迷惑破解者等等很多方法,可以说有多少破解方法,就有多少反破解方法,反破解方法在先,破解在后,一对孪生兄弟。