您的位置: 首页 >> 新闻中心 >> 计算机 >> 软件开发
理解软件保护技术之Key File保护
■ 最新课程推荐更多课程>>
学校培训课程开课时间上课地点精英价报名
正辰培训 微软软件测试工程师电话预约西直门教学区¥4704
新 科 海 软件测试工程师就业班电话预约海淀长远天地¥6280
北师大IT 软件工程与测试实战班电话预约北京师范大学¥1800
北师大IT 高级网络工程师就业班电话预约北京师范大学¥13000
金 同 方 网络工程师就业周末班电话预约人大总部¥7000
  Key File(注册文件)是一种利用文件来注册软件的保护方式。Key File一般是一个小文件,可以是纯文本文件,也可以是包含不可显示字符的二进制文件,其内容是一些加密过或未加密的数据,其中可能有用户名、注册码等信息。文件格式则由软件作者自己定义。试用版软件没有注册文件,当用户向作者付费注册之后,会收到作者寄来的注册文件,其中可能包含用户的个人信息。用户只要将该文件放入指定的目录,就可以让软件成为正式版。该文件一般是放在软件的安装目录中或系统目录下。软件每次启动时,从该文件中读取数据,然后利用某种算法进行处理,根据处理的结果判断是否为正确的注册文件,如果正确则以注册版模式来运行。

  (1)破解Key File一般思路

  1. 最好分析Key File的工具是十六进制工具,普通的文本编辑工具不太适合。

  2. 对付这类程序,你首先建立一假的Key File文件。一般的软件容许Key File有不同的大小和文件名,你建立的文件内容必须易读,跟据情况调整Key File的大小和文件名。为什么要易读呢?因为目标程序从Key File中读取数据,然后进行处理,易读有利于你分析其运算过程。

  3. Key File文件在大多数情况下,是以'*.key'形式存在的。

  4. Key File文件名可用W32DASM或十六进制工具打开程序用查找字符串方式确定;

  5. 读用户手册(有时作者可能会提到);

  6. 用Filemon 这一工具,它能实时监视系统各文件的状态,因此运行程序时,如它去读指定文件名的Key File时,会在Filemon显示Key File文件名。一但你发现Key File文件名,就建立一假的Key File到要被crack软件目录下,然后去crack。

  (2)Windows下破解Key File几个常用的函数:

  函数ReadFile

  作用:从文件中读出数据

  参数:其中Long,非零表示成功,零表示失败。

BOOL ReadFile(
HANDLE hFile, // Long,文件的句柄
LPVOID lpBuffer, // Any,用于保存读入数据的一个缓冲区
DWORD nNumberOfBytesToRead, //Long,要读入的字符数
LPDWORD lpNumberOfBytesRead, // Long,从文件中实际读入的字符数
LPOVERLAPPED lpOverlapped // address of structure for data
);

  函数CreateFileA

  作用:可打开和创建文件、管道、邮槽、通信服务、设备以及控制台

HANDLE CreateFileA(

LPCTSTR lpFileName, // String,要打开的文件的名字
DWORD dwDesiredAccess, // 允许对设备进行读写访问;
DWORD dwShareMode, // 共享模式
LPSECURITY_ATTRIBUTES lpSecurityAttributes// 指向一个SECURITY_ATTRIBUTES结构的指针,定义了文件的安全特性(如果操作系统支持的)
DWORD dwCreationDistribution, // 如何创建文件
DWORD dwFlagsAndAttributes, // file attributes
HANDLE hTemplateFile //Long,如果不为零,则指定一个文件句柄。新文件将从这个文件中复制 扩展属性
);

  函数_lopen( )

  作用:以二进制模式打开指定的文件

HFILE _lopen(

LPCSTR lpPathName, // 欲打开文件的名字
int iReadWrite // 访问模式和共享模式常数的一个组合
);

  函数FindFirstFileA( )

  作用:根据文件名查找文件

HANDLE FindFirstFile(

LPCTSTR lpFileName, // 欲搜索的文件名。可包含通配符,并可包含一个路径或相对路径名
LPWIN32_FIND_DATA lpFindFileData // WIN32_FIND_DATA,这个结构用于装载与找到的文件有关的信息。该结构可用于后续的搜索
);

 

下一篇:理解软件保护技术之功能限制的程序

  这种程序一般是DEMO版或菜单中部分选项是灰色。有些DEMO版本的部分功能里面根本就没有。而有些程序功能全有,只要注册后就正常了。

  你使用这些DEMO程序部分被禁止的功能时,会跳出提示框,说这是DEMO版等话,它们一般都是调用MessageBox[A] 或 DialogBox[A]等函数。你可在W32DASM反汇编它,一般能找到如下字符串:"Function Not Avaible in Demo" 或 "Command Not Avaible" 或 "Can't save in Shareware/Demo"等,这些CALL会被相应的调用,可作为你破解的一指示器。

  另外,就是菜单中部分选项是灰色的不能用,...[查看详情]

  影视动画培训   北大BEC培训官方报名网站   2008美国夏令营启航官方指定报名网站   2008留学第一站!  
  北师大 火星时代
共举影视动画培训之鼎
  北大BEC培训官方报名网站
现在报名独享95折!
  2008年国家职业资格考试
一次过关完全备考手册
  2008留学第一站
留学资讯尽在精英留学站!
 
上一篇:C程序实现汉字内码与GB码
下一篇:理解软件保护技术之功能限制的程序
 相关新闻
·用VisualStudio2005生成浏览器帮助对象·J2ME中使用缓存将屏幕内容存储为Image
·使用J2ME程序测试MIDlet的生命周期·Java基础:JVM(Java 虚拟机)的详细讲解
·ASP.NET实现投票结果的图片进度条显示·Delphi 中动态链接库(dll)的建立和使用
·破解网站发布系统 ASP生成静态页面方法·为自己的ASP网站系统构建一套标记语言
·基于JSP技术的网络教学平台设计·浅析JSP开发中的对象和范围属性
·经验分享:做软件测试三四年后的感想·熊猫烧香核心源码(Delphi模仿版本)
·Delphi中Hash表的使用方法·在Delphi编程中使用C语言代码
·关于Java23种设计模式的有趣见解·理解软件保护技术之功能限制的程序
 
◇ 重点栏目导航
◇ 精英服务承诺
教育顾问:010-51660910
QQ交流:138660910
相关资料
·软件测试新手的修炼之路
·Smarty简体中文参考手册
·Struts中文手册
·Struts快速学习指南
·ultradev动态网页制作教程
·UML工具箱
·《设计模式》中文版
·学友Flash伴侣 1.11
·阿须图像水印(AssureMark)V2.0
·超级语霸
相关试题
·2007年全国CPA考试试卷及答案解析之《会
·2007年CPA试卷及答案解析之《财务成本管
·2008年注会考前模拟试题之《财务成本管理
·2007年全国CPA《税法》考试试卷及答案解
·2008年中级会计职称《经济法》试题及答案
·2008年注册会计师考前模拟试题参考答案之
·2008年注册会计师考前模拟试题之《会计》
·2008年注册会计师考前模拟试题之《税法》
·2008年高校招生全国统考理数试题(四川延
·2008年全国高考物理科试题参考答案(上海
相关热贴
·如何改QQ IP地址!
·恰当选择软件测试自动化方案
·ADO.NET学习总结
·.net操纵xml文件类(c#)
·Log4net教程
·VPN技术详解
·高手必读 网络端口安全防护技巧放送
·访问XP共享出现的问题解决办法
·Web2.0时代,RSS你会用了吗?(技术实现总
·.NET下正则表达式应用的四个示例