作者:庄晓立(liigo)
日期:2011-4-8
原创链接:http://blog.csdn.net/liigo/archive/2011/04/08/6310677.aspx
转换请注明出处:http://blog.csdn.net/liigo
天乐软件加密狗(JDProtect),貌似几年前的软件,也很久没人更新了,这个暂且不管。本文并非推荐软件,而是介绍软件用法。本人(liigo)也不对此软件的质量和使用效果做任何评价,因为我也不甚了解。
JDProtect本质上是一个加壳软件,同时又跟硬件加密狗用法比较相似,据说是一款结合了加壳和硬件加密狗双重优势的软件。其作者在文档中介绍说:
JDProtect软件给用户提供一个.lib文件、必要的头文件(C/C++的.h,汇编的.inc),和一个加壳加密加狗处理主程序(以下称为加狗程序)。其使用流程是,用户在自己的软件中调用.lib中的接口函数(进行必要的检测/核对),编译生成EXE后交给加狗程序处理生成新的EXE,后者即可对外发布了。加狗操作时可以指定用户ID、用户INFO、四个暗码(DWORD),还可以定义一个使用伪汇编编写的自定义算法(有诸多限制),用户通过接口函数操作以上数据和算法。
.h里的接口函数:
它的.lib文件是一个空壳导入库文件,并没有实质功能代码,可能只是充当一个占位符,实质的加壳加密保护代码,是在后来加狗程序处理EXE时加进去的。作者提供了汇编语言的头文件.inc和C/C++的.h,并附有VC++6.0调用示例,说明这个JDProtect是主要针对汇编、C/C++用户服务的。作者还在文档中期望Delphi、C++ Builder、VB也能使用JDProtect,并希望有用户协助编写例程。我(liigo)个人对此表示怀疑,因为.lib并不是一个被多种编程语言普遍支持的一项技术(DLL才是)。
易语言可以调用.lib。能被VC++调用的lib,易语言自然也不在话下。在易语言中调用.lib,只需准确填写好函数声明,除了需要填写基本的返回值类型、参数类型、所在lib文件外,最关键的是填写函数在.lib内的符号名称。怎么知道符号名称呢?一个方法是凭经验推断:stdcall的函数Func,其符号名称应该是_Func@n,其中n是函数参数入栈字节数(通常是4的倍数),例如上面GetHardID函数的符号就是_GetHardID@4;cdecl的函数Func的符号名称应该是_Func。更准确的方法是去.lib内部查询到底是什么符号,可以用VC++自带的dumpbin.exe这个小软件,命令行:dumpbin /all tlzj.lib > tlzj.txt,将tlzj.lib信息输出到tlzj.txt文本文件中,结果大致如下图:
有了具体的符号名称,在易语言中声明调用lib中的函数就很简单了,跟声明调用DLL如出一辙(符号名称填写到“在库中对应命令名”一栏):
现在你知道为什么我用“填写”这个词了吧?在易语言中是以填写表格的形式声明和定义函数(如上图)。易语言默认以stdcall调用约定调用lib/dll内的函数;如果被调用的函数是cdecl,可在上图中的“在库中对应命令名”一栏最前面添加字符@,以告知易语言以cdecl调用约定调用该函数。另外多说一句,对于.lib中不是以“extern "C"”导出的C++函数,其符号名称通常怪异如“?vc_time2@@YAHXZ”(参见C++名称修饰(Name mangling)),易语言也同样支持调用它——只要你把符号名称填对了就行。易语言对.LIB和.DLL的调用支持是比较完善的。
为了简化使用,我(liigo)为JDProtect开发了易语言调用模块“天乐软件狗(JDProtect)模块.ec”,易语言的普通用户不用任何技术前提,就可以很方便的调用JDProtect提供的开发接口了。下面是我(liigo)对此模块及其例程编写的简单的使用文档:
下载:JDProtect_0.90e,含易语言开发模块及其源码和例程——因为添加了易语言的内容,我(liigo)私自修改版本号为0.90e(原版本号是0.90b),在此向作者说抱歉啦。
全文完,谢谢收看。
分享到:
相关推荐
逆向编程 OD破解之路:跳过加密狗验证
加密狗,也被称为硬件锁或USB密钥,是一种物理设备,用于验证用户对特定软件的使用权。它们通过插入计算机的USB接口与电脑连接,内含特定的加密信息,只有当软件检测到正确的加密狗时才会运行。这种机制是为了防止...
ISP程序 USB加密狗已配套软件ISP程序 USB加密狗已配套软件ISP程序 USB加密狗已配套软件ISP程序 USB加密狗已配套软件ISP程序 USB加密狗已配套软件ISP程序 USB加密狗已配套软件ISP程序 USB加密狗已配套软件ISP程序 USB...
标签"ps"可能指的是Photoshop或其他类似的专业图像处理软件,因为这类软件常常使用加密狗来保护其昂贵的许可证。这也意味着这些驱动程序可能特别适用于那些使用此类软件的用户。 在压缩包子文件的文件名称列表中,...
软件加密狗破解的一般思路 不要被也些打着加密的软件骗了啊
加密狗是一种硬件安全模块,常用于软件保护,防止未经授权的复制和使用。它通常是一个物理设备,插入计算机的USB端口,与特定的软件应用程序配合工作。这些文件名表明我们可能在处理一个与加密狗相关的系统或工具: ...
【思迅软件加密狗驱动 v13.11 通用版】是一款专为思迅软件设计的硬件加密设备驱动程序,旨在确保软件的安全性和防止未经授权的非法使用。这个版本的驱动程序是v13.11,适用于各种操作系统,提供了一个全面的解决方案...
插上加密狗启动工具即可检测加密狗ID,根据加密狗型号对应表找到相应ID的加密狗,就能确认其型号。
在IT行业中,加密狗是一种硬件设备,通常被用来保护软件免受非法复制和盗版。鼎利加密狗是鼎利公司为确保其软件安全性而设计的一种专用设备,它通过插入计算机USB接口,验证用户是否有权运行特定的软件。这篇内容将...
在实际应用中,无驱加密狗的使用需要考虑几个关键点:首先,安全性是首要的,加密狗必须能够抵御各种破解尝试,如模拟、反编译等;其次,兼容性,无驱加密狗应能在不同操作系统和硬件环境中稳定运行;最后,易用性,...
为了确保安全性,我们需要对代码进行混淆,防止反编译。C#提供了多种混淆工具,如Dotfuscator或SmartAssembly,它们可以改变代码结构,使阅读和理解变得更加困难。同时,我们还可以使用IL(中间语言)级别的加密,...
在IT领域中,加密狗是一种常见的硬件设备,用于保护软件不被非法复制和滥用。圣天诺(Sentinel)加密狗就是这类产品中的佼佼者,广泛应用于各类商业软件的授权管理。本文将深入探讨圣天诺加密狗及其必需的驱动程序,...
【世纪星 V7.10 加密狗驱动程序】是一个专为世纪星软件V7.10版本设计的硬件加密设备驱动,它确保了软件的合法性和安全性,防止未经授权的复制和非法使用。驱动程序在计算机操作系统和硬件设备之间起到了桥梁的作用,...
加密狗是一种硬件设备,常用于软件保护,防止未经授权的复制或使用。在IT行业中,它是一种常见的版权保护机制,尤其在商业软件中广泛使用。"et99加密狗全套程序"是一个包含完整加密狗相关资源的集合,这些资源可能...
USB软件加密狗,用于软件开发,防止软件被非法破解
USB加密狗克隆工具软件狗UDA硬复制方法! 第一步:安装加密狗驱动“SoftDogInstdrv.exe” 第二步:启动程序“软件狗UDA硬复制.exe” 第三步:点击读狗,读取加密狗数据 第四步:保存加密狗数据“key...
这为软件开发商提供了一种有效的版权保护手段,防止未经授权的复制和非法使用。 在描述中提到的"下载解压安装即可",意味着用户需要进行以下步骤来使用EzCad加密狗: 1. **下载**:首先,你需要从可靠的来源下载...
在这款软件中,"写狗工具"是用于与硬件加密狗进行交互的程序,目的是保护软件不被非法复制和使用。加密狗是一种硬件设备,通常插入计算机的USB端口,作为软件授权的一种方式。在金蝶标准版12.0中,yt88加密狗起到了...
软件安装包需要使用加密狗
加密狗破解软件适合破解各类加密狗的破解,以及自制加密狗