-
-
[原创]Asprotect SDK编写硬件绑定注册机详细教程
-
发表于:
2012-3-30 23:46
21755
-
[原创]Asprotect SDK编写硬件绑定注册机详细教程
Asprotect SDK 编写硬件绑定注册机详细教程
By Lygisxj 2012年3月30日
图像显示不出来,请见附件!
一、 以下教程软件环境
WindowsXP_32
Asprotect SEK 2.4 Build 02.26 Beta
notepad.exe
二、 AsProtect激活步骤
1、 获取硬件码,选择在线激活,即可获取硬件码。
2、 使用注册机获得注册码,离线激活。
三、 新建工程保护NotePad.exe,将工程文件存储为Notepad.aspr2
模块设置如下,个人认为硬件识别的选项没有用,因为无论选择什么相同机器获取的硬件码都一样。
运行加密后程序,即出现注册对话框。
四、 利用工程文件生成加密函数GenerateKey模版
运行 这个程序,从工程中提取加密所用参数,并生成VC中生成注册码函数GenerateKey的模版。选择OpenProject,打开三生成的Notepad.aspr2工程。打开后输入本机硬件码,用户名,Create注册码,然后点击验证,可看到加密所用信息。这个注册码就是正确的注册码,可以让加密的程序运行起来。要是自己向外分法注册码的话,可以使用这个程序当作注册机,优点是不用另外编写注册机,缺点就是需要使用工程文件。
点击Generate Template,源代码模版根据需要选择,这里选择VC,可看到程序自动提取工程参数生成GenerateKey函数,将这个函数拷贝到下面的注册及模版中即可生成自己的注册机,唯一需要替换的行就是机器码行,详细见后。
五、 编写注册机MyKeygen
主要参考Examples\KeyGen\VC中的例子编写,不过,我对资源进行了汉化,增加了硬件码部分,大家可直接使用,每次替换GenerateKey函数即可。需要注意的就是第四步生成的函数模版中没有硬件码参数,所以我增加了硬件码参数,如下:
BOOL GenerateKey( LPSTR* KeyStr, LPSTR NameStr, LPSTR HardIDStr, DWORD& Res )
{
P.HardwareID = HardIDStr;
}
六、 编写获取机器码工具GetHardID。
这个函数应该嵌入自己的代码,如果是对别人的程序进行二次加密,可像下面这样写个单独的工具, 具体参考附件
SetDlgItemText(hwnd, IDC_HardID_EDIT, GetHardwareID());
七、 让MyKeygen注册机和GetHardwareID脱离aspr_ide.dll调试环境运行。
其实,非常简单,就是把生成的exe文件用Asproject加密以下即可。添加一个模块,选中Active即可,然后保护即可。
八、 完成绑定硬件码的注册机编写工作。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)