首页
社区
课程
招聘
[旧帖] Key File保护 0.00雪花
发表于: 2012-1-11 13:32 1065

[旧帖] Key File保护 0.00雪花

2012-1-11 13:32
1065
Key Files 是一种利用文件来注册的保护方式。KEY FILE是一个小文件,其内容是包含一些加密了的数据,软件注册时,从这文件中读取数据,然后跟据一定算法,进行处理,跟据结果判断是否注册版。
对付这种保护有以下几种方法:

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

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

3. Key File文件在大多数情况下,是以'*.key'形式存在的。Key File文件名可用W32DASM或十六进制工具打开程序用查找字符串方式确定;二是读用户手册(有时作者可能会提到);三是在DEBUG下观察,在DOS下INT 21 if ah==3d 用D (E)DX来看文件名。在 Windows下用BPX CreatFile, ReadFile, GetFileAttributesA, 等等。最后一招是用Filemon 这一工具,它能实时监视系统各文件的状态,因此运行程序时,如它去读指定文件名的Key File时,会在Filemon显示Key File文件名。一但你发现Key File文件名,就建立一假的Key File到要被crack软件目录下。

4.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
);

函数CreateFile
作用:可打开和创建文件、管道、邮槽、通信服务、设备以及控制台
参数:其中Long,非零表示成功,零表示失败。

HANDLE CreateFile(

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

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//