1、教你注册机和补丁的制作一、概念介绍 何为注册机?注册机就是针对某一软件,通过一定算法算出注册码的程序。我们写注册机时,一般 都要了解注册码的算法(这当然是通过跟踪调试了解的),之后用汇编语言或其它高级语言来把算法还原。这样大家可根据自己的要求输入注册码,如根据自一、概念介绍何为注册机?注册机就是针对某一软件,通过一定算法算出注册码的程序。我们写注册机时,一般都要了解注册码的算法(这当然是通过跟踪调试了解的),之后用汇编语言或其它高级语言来把算法还原。这样大家可根据自己的要求输入注册码,如根据自己的姓名,公司的名称注册。目前共享软件有两种注册方式: 一 种是交费后,作者给寄有全部功能的 Regi
2、ster 软件,原来的Shareware 根本没有某些功能; 第二种交费后, 作者给你个注册码(Register Number ),注册后功能就无限制了 。 共享软件注册前后基本相同 , 只是功能受限制 ,或者使用时间受限制 ,或者经常出现要求注册的画面 , 等等 。 我们平时所接触的共享软件是第二种,通过算出注册码或打补丁使该软件有注册后的功能。 软件的破解也分两种: 一是、补丁( patches ), 这些小程序的功能是用来改变某种软件内某些特定的部位, 因此它们的作用通常只限于某一个软件的版本。请勿使用针对不同版本所设计的 patch,必须注意所使用软件版本的版本号与 patch 是否相
3、同 。倘若使用不当,将导至错误信息,会破坏程序,严重时也有可能死机!二是、序列号 (serial number) 和注册码 (key generator) 就显的安全多了。有时候旧版的序号亦适用于新出的版本,就算不能用也毫无伤害。只有在极少数的情况下软件作者会设下某些陷阱,当使用者输入黑名单上的序号后 , 软件会自动销毁而无法使用。通过补丁和注册机可以大大方便用户的注册,就是目前有不少的程序,它的注册码都与硬件有关,就是在每一台机上安装都有一个机器码,要把这个机器码 E-MAIL 给作者, 作者把收到的机器码用注册程序算出注册码后再寄回给用户,这样做使得软件的防复制方面加强了,但造成了不少用户
4、的麻烦,因为只要用户一重装系统或升级主板 ,就要重新去注册了。对于这种程序,一般初学者只能在内存中找到自己机器的注册码,但这种注册码到了其它的机器上又不能用了。所以要求大家能自己写出注册机来。而有的软件注册码计算很复杂,或只是试用版,到期就停止使用,根本无法输入注册码。对这类软件只能通过改动原程序代码指令,但如何让大家很方便地解除限制,当然你可把改动的字节告诉大家,用二进制编辑工具修改,但很不方便。所以大家有必要自己制作补丁程序,只要用户运行该补丁程序,让它帮你改动指定的代码,就可解除原软件限制,是不是很方便。二、补丁制作1、文件补丁制作今天我们接触补丁制作工具是 CodeFusion,界面制
5、作也不错,它有以下功能:1、可以自动比较补丁前后的差别2、可以对字节逐个补丁,也可以使用普通和模板两种查找、替换;3、补丁前后的文件尺寸可以不同;4、可以对单个文件补丁,也可以处理多个不同盘、不同目录、甚至名字并不匹配的多个文件;5、界面文字和链接等完全定制;6、可以使用内置和外部的压缩器;也可以不压缩自行修改窗体;为了使初学者能更快掌握这一工具使用,我就把一补丁最常用的制作过作写下来。首先建立一个临时目录 C:TEMP(只是为了下面讲述的方便罢了).并在其下建立两个子目录,分别为 C:TEMP1以及 C:TEMP2. 以网络吸血鬼 NET VAMPIRE 3.2 为例: 将没有 CRACK
6、的主程序 VAMPIRE.EXE 拷到 C:TEMP1目录下. 将已经 CRACK 的主程序 VAMPIRE.EXE 拷到 C:TEMP2目录下.(图一)是用 CodeFusion 制成的补丁程序运行的界面。(图一)界面还是不错的,只要你用用 CodeFusion,你就发现它很容易上手。第一步、运行 CodeFusion,界面如图二:(图二)图一和图二中的数字 1、2、3、4、5 是彼此对应的,要得到(图一)结果只需在(图二)中键入你自己的说明即可。你自己定制好界面可以存盘,存盘名是*.cfp,以后你只要打开该文件,就可出现所要的界面。很简单,自己摸索一下就能掌握。第二步、定制好界面后,可以按
7、预览按钮(就是上面的眼睛图标)看看界面自己是否满意,满意后按下一步。(图三)在图三中,按(1)处的绿色的十字,以添加原文件(在这里是吸血鬼的原主文件),按 1 后出现左边的一窗口,按 2 选择吸血鬼的原主文,选好按 Ok 即可。第三步、这一步按图四的 1 处的绿色十字,出现如下结果:(图四)按上图中的 2 处是文件比较。第 3 处是 Byte-path offset,在原文件中指定的地址处打字节补丁。第 4 处是 Find 注释符号 , 跟着的只是些说明 , 不会执行的 , 直到下一行 . T= 表示对内存的检测次数, T=1000: 意味着对内存检测 1000 次,在放弃之前,告诉你的应用程
8、序是 不正确的版本。 注意:在脚本文件里,默认值 T=8000 。 F= 需要补丁的文件名 O= 生成的补丁文件名 , 如你没指定文件名,默认为 LOAD.EXE P= 如何在内存补丁 , 格式:内存地址 / 原码 / 补码 具体看看脚本的例子 R: 把前面需要补的全部补好后 , 再继续 , 可以看看 azpr243.rpp 这个例子 : 每一行都要以冒号结尾 , 相当于回车 $ 脚本结束标志 所有数字采用 16 进制内存地址和原码都符合才会进行补丁 , 字节间请用逗号分开。脚本文件不能大于 40K, 被补的字节有限为 1f0h 字节,被处理的原文件不小于 30h 字节。 脚本例子 ;scri
9、pt.rpp T=1000: ; 对内存尝试 1000 次补丁 , 不行则放弃 , 如果不设默认为 8000 F=test.exe: ; 要补丁的程序 P=40101D/74,60/74,00: ; 将命令 jz xx 改为 jz next instruction P=4024A6/46,52,45,45,20/52,21,53,43,00: ; 将字符 FREE 替换成 R!SC $ ; 结束 具体的脚本范例大家可参考其自带的 Scripts.zip 。 一些问题 下面是一有趣的试验,写一脚本文件,输入输出名一样,产生一执行文件,该文件将不断装载其自身 最后导致 windows 崩溃,你只好
10、重新启动了。 P=401000/68/B8: F=fun.exe: O=fun.exe:, 然后运行 fun.exe 不一会你只好重新启动微机了 :) 2.2 如何写 Loader 作者:夜月 E-mail: 写作日期:31th, August 2001 使用的工具 Trw2000 V1.23-Win9X Debugger Masm32 V5.00-Loader Compiler 难易程度 Easy( ) Medium(X) Hard( ) Pro( ) -=Declare=- 未经作者同意,不得修改、引用原文,一切权利保留。 本教程只供教学用,其他一切用途皆被禁止。 -=Begin=- 以
11、Director 7.0 为例,和大家谈谈如何写 Loader。当然,破解 Director 7.0 并不一定需要 Loader, 它既没加壳,也没有 CRC 校验,完全可以用 Patch 的方法。但我这篇文章的目的不是教你如何破解 Director, 而是教你如何写 Loader。Clearly? Ready? Go! Director 7.0 也是一个狗保护的软件,和 Authorware 差不多。跟踪过程并不复杂,在此略去。 程序判断的关键点: * Referenced by a CALL at Address: |:00445A24 | :0058CC24 53 push ebx :0
12、058CC25 32DB xor bl, bl :0058CC27 E835000000 call 0058CC61 :0058CC2C 83F852 cmp eax, 00000052 :0058CC2F 741D je 0058CC4E :0058CC31 83F856 cmp eax, 00000056 :0058CC34 7418 je 0058CC4E :0058CC36 3D76030000 cmp eax, 00000376 :0058CC3B 7411 je 0058CC4E :0058CC3D 3D54030000 cmp eax, 00000354 :0058CC42 740A je 0058CC4E :0058CC44 83F841 cmp eax, 00000041
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。