荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: samba (木星), 信区: Hacker
标 题: 拷贝心得(1)
发信站: BBS 荔园晨风站 (Thu Sep 9 07:42:53 1999), 转信
发展一套品质优良的套装软体是要花很多的时间与精力的 ,所以必须要
让软体的作者感到他的心血没有白费 ,而能获得广大人群的爱用。
我们认为防拷措施只能对软体盗版者造成一些障碍 ,而正当的使用者却
会对此种防拷 ,在使用上造成一些困扰 ,且防拷又会与硬体(磁碟机)不相容
使得软体无法使用 ,也因此合法使用者无法备份其软体。
使得软体无法使用 ,也因此合法使用者无法备份其软体。
在科学鼎盛的今日 ,拷贝机的诞生 ,廉价的拷贝卡的出版再版 ,使得软
体之盗版已不再有所困扰 ,但一般使用者会去买"拷贝工具"吗 ,所以软体保
护已不再是一般厂商所采用 ,而改用『密码锁』诈看之下似乎没啥不对 ,但
一但使用者密码表遗失 ,或脏掉是否意味著 "你的使用期过了" 呢 ?
要学会解保护之前 ,您必须了解什么是保护 ,如何保护 ,以及追踪程式
这样对於解保护就再也不是梦想 ,使用的工具只有 DEBUG.COM ,不过现在的
程式一般都会侦测有无载入 DEBUG ,若有则当机 ,至於如何避免则看个人玩
的时间与经验了 ,好啦不多说了 !!
┌━━━━━━━━━━┐
┃ 1-2 DEBUG 与档案 ┃
└━━━━━━━━━━┘
玩过 DEBUG 的人都知道以下的指令 :
T --- 单步执行 ,一次执行一个指令
G <Address> --- 执行到 <Address> 就停下来
G --- 执行完载入的程式
N <Filesname>--- 定义档名 (配合 "L" 或 "W" 用)
L --- 载入档案(LOAD)
W --- 写入档案(SAVE)
W --- 写入档案(SAVE)
大部份破解过程只用到上列指令.....
==================================================
档案分为.COM 与.EXE ,因为.COM 最大只能有 64K 所以
演生出.EXE 档。但是.EXE又有个档头 ,记录档案放在那儿
所以 DEBUG 无法写回此种档案 ,而产生错误讯息。
※因此EXE档必须用 PCTOOLS 将指令码找出来改....
==== 第二章 磁片格式与保护 ====
┌━━━━━━━━━━┐
┃ 2-1 磁片格式 ┃
└━━━━━━━━━━┘
大多数人认为磁片只有分几轨、两面而已 ,其实又细分了更多的东西
2D 的磁片有 39 轨 ,2HD 的磁片有 80 轨 ,每一轨又分为9个磁区 ,每个
磁区又再分 512 个位元组 ,因此要做保护只要和正常轨不同即可。
(PS: DOS2.0每轨8个磁区 ,DOS3.1以上版本才是9个磁区)
磁轨(TRACK) : 磁片上分成数个同心圆环 ,便称磁轨
面(Head) : 软碟分为 0/1 面 ,但硬碟可能超过此数字
磁区(SECTOR) : 磁轨上储存资料区域之一
N 值 : 磁区大小 ,正常为2 (N=1 256Bytes ,N=2 512Bytes)
2的N次方乘以256,即为该磁区的大小
2的N次方乘以256,即为该磁区的大小
因此正常的磁轨 ID 栏应该为 :
T H S N
1 02 00 01 02 10.4% 这是第二轨第零面的状况
2 02 00 02 02 10.4% "%" 代表这磁区占该轨的
3 02 00 03 02 10.4% 百分比 ,每次皆会有少许
4 02 00 04 02 10.4% 差异。
5 02 00 05 02 10.4%
6 02 00 06 02 10.4%
7 02 00 07 02 10.4%
8 02 00 08 02 10.4%
9 02 00 09 02 13.7%
----------------------------
若 N=3 则必需有 17.8% 以上的空间才能制造出正常磁轨 ,不然都会
造出坏轨(CRC ERROR) ,所以该轨只能有 5 个磁区 ,否则就变成坏轨。
这是因磁碟控制卡之故 ,无法要求小又好(NO ERROR)的磁区。
┌━━━━━━━━━━━━━┐
┃ 2-2 保护的种类与介绍 ┃
└━━━━━━━━━━━━━┘
空白磁区 : 该轨不具磁区 ,也就是某一轨不做 FORMAT ,这样当读写
空白磁区 : 该轨不具磁区 ,也就是某一轨不做 FORMAT ,这样当读写
这个磁轨就会造成错误 ,但只能防标准的 DISKCOPY 的
拷贝程式 ,是早期的保护方式 『如 疯狂大家乐』
非标准磁区 : 就是乱改 T H S N 值 ,变成与正常轨不同 ,早期的保护
也是利用此法 『如 卡诺夫将 S 值乱改』
异常大小的磁区 : 占该磁轨大小百分比异常 『如 快打砖块』
隐藏磁区 : 用 ID 栏错误法 ,使得该磁区必须要用 READ ID 法才能
找到该磁区 ,所以可骗过早期的 COPYWRIT or COPYIIPC
『如 名车大赛』
增加额外磁区 : 让某一轨磁区超过正常数目 『如 名车二代』
磁碟控制卡若能制造出 20h 个磁区就算不错了,但有些却
制造甚多个使之无法用软体拷贝 『如 图腾抓图软体』
虚拟磁区 : 又名 WEAK BIT ,就是将资料写入时以介於 0 与 1 的磁性
写入 ,於是读出来的资料每次都不一样 ,正常磁碟机无法
做出(碰运气可作出,但百分比越大越难做出) ,只能靠外来
硬体做拷贝 『如 冲破火网』
长轨 : 利用转速慢的磁碟机写入 ,这样写入的资料比较多 ,除非
长轨 : 利用转速慢的磁碟机写入 ,这样写入的资料比较多 ,除非
拷贝的磁碟机转速相同 ,不然拷不下(拷贝卡也无法)
无缝锁 : 利用 N 值为 6 的磁区 ,因为超过该轨所能容纳的空间 ,
所以当您读取该磁区时就会顺便将头尾的资料读出 ,任何
磁碟机都无法处理该区 ,造成不能被拷贝 ,因此市面使用
此保护者 ,每片都不一样保护轨资料 ,不可能拷贝 ,同时
该法会挑磁碟机 ,故少人用之 『如 风云麻将』
额外磁轨 : 正常磁片假如有 39 轨 ,但可读写的还有 40 41 轨 ,因
此有人就在该轨做手脚 ,然後以正常方式读写该轨
『例如 冲风飞车』
┌━━━━━━━━━━━━━━━┐
┃ 2-3 非正常磁区的保护范例 ┃
└━━━━━━━━━━━━━━━┘
FORMAT 磁轨的程式 验证该轨
CS:100 MOV AX,0000 \ 重置磁碟 CS:100 MOV AX,0000 \ 重置磁碟
INT 13 / 读写前的准备 INT 13 / 读写前的准备
MOV AX,0501 - FORMAT 1个磁区 MOV AX,0201 - 读一个磁区
MOV BX,0200 - ID 资料放在 ES:BX MOV BX,0200 - 将资料放在 ES:BX
MOV BX,0200 - ID 资料放在 ES:BX MOV BX,0200 - 将资料放在 ES:BX
MOV CX,2901 - 29h轨 MOV CX,29FF - 第29h轨,FFh磁区
MOV DX,0001 - 零面,B磁碟机 MOV DX,0001 - 零面,B磁碟机
INT 13 - 起动磁碟 I/O INT 13 - 磁碟 I/O 起动
JB 0100 - 失败再重作 JB TEST ERROR 无特殊轨
INT 20 - 结束程式 JMP TEST OK 有特殊轨
ES:200 DB 29 00 FF 02 (ID栏资料)
上例利用到额外磁区 ,DOS 只用到 27h轨,而该程式用到 29h轨,於是不怕
有人 FORMAT 该磁片 ,因为 FORMAT 不会洗到该轨资料 。
在 29h 轨制造一个编号为 FFh 的磁区 ,所以就算能拷到该轨 ,也可防一般
拷贝软体 ,能防 COPYIIPC(因只拷到28h轨) ,但仍不能防 COPYWRIT。
--
※ 来源:.BBS 荔园晨风站 bbs.szu.edu.cn.[FROM: 202.202.37.146]
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店