偶然的机会,看到某测量软件,需要加密狗啊,序列号的,我已经很久不关注破解程序了
不过,好奇心之下,尝试下载了一些破解工具,都看得不太明白,内存驻留啊,KEY生成之类的,也没想它是什么原理了
万变不离其宗吧,最简单的方式,就是反汇编出来,我看汇编源码很在行
其中有一些代码,有一些注释,中文字能看懂就能猜出来大体的意思
一个反汇编的工具,看代码,一个UEDIT32,可以修其中的一部分字节,其实所有的狗,KEY,都是在汇编语言中做一些判断
比如jnz,从机器码来看,只不过是2个字节,如果是短跳,修改一位足矣。比如jnz,跳转,改成jz,或者干脆90 90 90 空指令就短路掉了。
于是,看源码,用UEDIT修改了20多处判断的地方,整个程序分为南方地区每个省有限制,还有狗的限制,还有日期限制,还有KEY的限制,一个晚上,搞定
现在的年青人啊,没编写过汇编程序,读起来自然要费劲,不过即使不编写汇编程序,还是希望更多的人能读懂汇编代码,这样其实更理解高级语言的内涵。