• 标 题:软件采用非明码比较的KEYMAKE内存注册机制作 (754字)
  • 作 者:lajiaolz
  • 时 间:2002-8-10 11:15:52
  • 链 接:http://bbs.pediy.com

注册码大家都知道保护方式有明码和非明码方式,我们用数学函数来表达:
A=FUN1(用户名,机器码);
B=FUN2(注册码);
IF A=B THEN PROC1("注册成功") ELSE PROC2("注册失败")
1.若"B=注册码"即为明码方式,这样只要找到合适的断点,用KEYMAKE可轻松搞定。
2.若"B<>注册码"即为非明码方式,要想用KEYMAKE制作内存注册机就要动脑筋了。
(1).需要分析写出函数FUN2的反函数FUN3,这样FUN3(A)=FUN3(FUN1(用户名,机器码))=真注册码
(2).我们可利用KEYMAKE修改内存功能以及程序本身空间PROC1来编写反函数FUN3,
把结果FUN3(A)写入一寄存器(或内存地址),设置断点轻松获取注册码。
(3).由于修改了PROC1程序,注册不会成功,但我们的目的已经到达,得到了真的注册码,把它
粘贴拷贝到一临时文件,这时我们不必急于注册。退出后,运行原来程序,输入注册码即可成功。

                    LAJIAOLZ 2002/08/10