代码保护加密,解决方案_第1页
代码保护加密,解决方案_第2页
代码保护加密,解决方案_第3页
代码保护加密,解决方案_第4页
代码保护加密,解决方案_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

代码保护加密,解决方案篇一:加密狗-软件保护解决方案软件狗.面向单机环境的低成本加密方案 软件狗开发套件适用于 DOS 、 Windows 3X/9X/ME/NT/XX/XP 、 Linux 操作系统,支持几乎所有主流编程语言、开发工具。软件狗的主要特点如下: ? ? 数据交换随机噪声技术 有效地对抗逻辑分析仪及各种调试工具的攻击,完全禁止软件仿真程序模拟并口的数据。 迷宫技术 在 RC-DL 函数入口和出口之间包含大量复杂的判断跳转干扰代码,动态改变执行次序,提升 RC-DL 的抗跟踪能力。 ? 时间闸 硬件狗内部设有时间闸,各种操作必须在规定的时间内完成。硬件狗正常操作用时很短,但跟踪时用时较长,超过规定时间,硬件狗将返回错误结果。 ? AS 技术 API 函数调用与 SHELL 外壳加密相结合的方式,同时使用能够达到极高的加密强度。 RC-DL 开发套件在外壳加密工具中与调用的 API 函数建立了对应关系。这样处理后,程序中调用的 API 函数只有在有外壳的情况下才能正确运行,而外壳本身隐蔽了对 API 函数的调用。 ? ? 抗共享 可以通过编程的方式实现对抗并口共享器。存储器 提供 100 字节掉电保持数据存储区供开发商存放关键数据、配置参数等信息,可通过 RC-DL 开发商工具或接口函数对存储区进行读写。 ? 改良的硬件驱动程序 驱动程序的安装及发布更加方便、快捷,开发商只需使用 安装驱动程序,硬件即可正常工作。 ? 崭新的硬件狗编辑工具 集成了原有 、 、 三个工具,并新增错误码查询功能,令硬件狗编辑调试过程更趋简捷、顺畅。 ? 高强度动态库加密方式 在原有加密方式基础上,新增 C 语言高强度动态库加密方式,并有效运用动态库认证安全机制,确保动态库调用具有无与伦比的安全可靠性。 ? 支持 ActiveX 控件 开发商可以在网页中或 VB 、 VC 中使用 ActiveX 控件对硬件狗进行操作。 Linux 模块 提供了针对 Linux 内核 和 版本驱动程序,开发商可以使用 Linux 模块保护运行于 Linux 操作系统上的应用程序。 新增功能 软件狗开发套件 版新增功能 在软件狗开发套件 中,新增了与原并口硬件完全兼容的 UDA 型 USB 软件狗。 USB 软件狗也提供了 100 字节的用户存储区。新的开发商工具( )或接口函数既可以老的并口硬件,也可以对新的 USB 硬件进行操作。已安装了软件狗开发套件 的老用户如要使用 UDA 型 USB 软件狗,必须重新安装软件狗开发套件 ,以安装 UDA 型 USB 软件狗的驱动程序并更新开发套件的 OBJ 。 开发商如果使用 WIN32 模块,在 Windows98 或更高版本( WindowsME/2K/XP )下既可以使用 USB 软件狗也可以使用并口软件狗。目前暂不提供 USB 软件狗在 Windows NT4 上的驱动程序,即在 Windows NT4 操作系统上,目前只能使用并口软件狗。 在安装 以上内核的 Linux 系统中,既可以使用并口软件狗也可以使用 USB 软件狗。 WIN16 、 DOS16 、 DOS32 模块本次没有改动,仍只支持并口软件狗。 软件狗开发套件 目前最新版本为 支持并口硬件 RC-DL (现已更名为 PDL ) , 支持 USB 口硬件 UDA 微狗 ? 微处理器 内置单片机,并提供 200 字节掉电保持存储器,用特殊手段一次性写入程序,固化的单片机不可读出或改写,保证了微狗不可仿制。 ? 加密算法 开发商可以自选加密算法,并可以自定义加密算法因子( 256 种算法, 24 位算法因子,共有 1600 万种因子变化可供选择) 。 ? ? 抗共享 内置对抗并口共享器,由开发商选择是否共享微狗。 反跟踪 采用独创的数据交换随机噪声技术,有效对抗逻辑分析仪及各种调试工具的攻击,完全禁止软件仿真程序模拟的数据。 ? ? 口令 微狗可以由软件开发商设置口令,口令错误将不能对数据区进行读写。 流水号 每只微狗都有唯一的序号,即流水号。软件开发商可通过读流水号区分每一只微狗。同号狗的流水号也是不相同的。 ? AS 技术 API 函数调用与 SHELL 外壳加密相结合的方式,同时使用能够达到极高的加密强度。微狗在外壳加密工具中与调用的 API 函数建立了对应关系。这样,程序中调用的 API 函数只有在有外壳的情况下才能正确运行,而外壳本身隐蔽了对 API 函数的调用。 ? ? 可级联 微狗可多个级联,体积更小,使用更方便。支持多模块远程升级 微狗开发套件为开发商提供远程更改硬件狗中多模块设置的方法。 ? 支持 LINUX提供了针对 LINUX 内核 和 版本驱动程序,开发商可以使用 LINUX 模块保护运行在 LINUX 操作系统上的应用程序 ? 高强度动态库加密方式 在原有加密方式基础上,新增 C 语言高强度动态库加密方式,并有效运行于动态库认证安全机制,确保动态库调用具有无与伦比的安全可靠性 ? 支持 ActiveX 控件 微处理器 内置单片机,并提供 200 字节掉电保持存储器,用特殊手段一次性写入程序,固化的单片机不可读出或改写,保证了微狗不可仿制。 ? 加密算法 开发商可以自选加密算法,并可以自定义加密算法因子( 256 种算法, 24 位算法因子,共有 1600 万种因子变化可供选择) 。 ? ? 抗共享 内置对抗并口共享器,由开发商选择是否共享微狗。 反跟踪 采用独创的数据交换随机噪声技术,有效对抗逻辑分析仪及各种调试工具的攻击,完全禁止软件仿真程序模拟的数据。 ? ? 口令 微狗可以由软件开发商设置口令,口令错误将不能对数据区进行读写。 流水号 每只微狗都有唯一的序号,即流水号。软件开发商可通过读流水号区分每一只微狗。同号狗的流水号也是不相同的。 ? AS 技术 API 函数调用与 SHELL 外壳加密相结合的方式,同时使用能够达到极高的加密强度。微狗在外壳加密工具中与调用的 API 函数建立了对应关系。这样,程序中调用的 API 函数只有在有外壳的情况下才能正确运行,而外壳本身隐蔽了对 API 函数的调用。 ? ? ? 可级联 微狗可多个级联,体积更小,使用更方便。支持多模块远程升级 微狗开发套件为开发商提供远程更改硬件狗中多模块设置的方法。 支持 LINUX 提供了针对 LINUX 内核 和 版本驱动程序,开发商可以使用 LINUX 模块保护运行在 LINUX 操作系统上的应用程序 ? 高强度动态库加密方式 在原有加密方式基础上,新增 C 语言高强度动态库加密方式,并有效运行于动态库认证安全机制,确保动态库调用具有无与伦比的安全可靠性 ? ? 支持 ActiveX 控件 开发商可以在网页中或 VB , VC 中使用 ActiveX 控件对硬件狗进行操作。 改良的硬件驱动程序 new! 驱动程序的安装及发布更加方便、快捷,开发商只需使用 安装驱动程序,硬件即可正常工作。 ? 崭新的硬件狗编辑工具 new! 集成了原有 、 、 三个工具,并新增多模块存储区 编辑、多模块远程升级、错误码查询、接口函数测试功能,令硬件狗编辑调试过程更趋简捷、顺畅。多模块加密方式 new! 微狗 USB 型 UMC ? ? 对其他 USB 设备完全透明: 遵守 USB 标准,兼容性极好,不与标准外设产生冲突。 具有更好的稳定性:USB 接口本身具有电源线,可为外设提供稳定的工作电源,从而对 USB 狗的工作电压、功耗等要求大大降低,狗的工作条件得到很大改善。 具有与微狗并口型绝大多数相同的功能与特性 微狗 MicroDog 升级到 版本 微狗开发套件 采用了彩虹天地公司自主研发的最新一代安全加密引擎,集成了最新的密码学理论和高强度加密算法。与原有产品相比, 最新增加了 6 大功能,不但极大提升了受保护软件的防破解能力,还大大增加了驱动程序的稳定性。与同类产品相比,微狗开发套件 抗解密强度高,兼容性、稳定性好, 使用方便,是目前软件开发商最为理想的选择。 微狗开发套件 包括如下新增功能: ? UMC/PA10 硬件升级 对于大于 871440 系列号的 UMC/PA10 硬件, 微狗开发套件 支持同号级联,用户可以订购小于 871440 系列号的 UMC/PA10 硬件,它密码长度为 2 字节,遵循 MF 硬件标准。 ? ? ? 加密接口模块升级 微狗 更新了 Win32/Linux 下的所有加密接口模块。 诊断工具 微狗 V3. 新增一个诊断工具,它类似于软件狗 中的 工具。 Linux 加密模块支持 最新的微狗 增加了对 Linux 环境下开发软件的加密支持,新 增 Kylix 加密模块,其中包括对 Linux 下 Cbuilder 开发工具的支持 Cbuilder(Kylix) 模块和 Delphi 开发工具的支持 Delphi(Kylix) 模块。 ? 外壳工具 微狗 V3.(来自: 小龙文 档网:代码保护加密,解决方案)4 新增对 VFP 程序的支持。 自动判断优先顺序功能 在安装套件过程中,微狗 不需要选择访问狗硬件的优先顺序, OBJ 中自动判断加密狗类型( USB 口狗或并口狗) ,从而提高了加密软件的运行速度。 网络狗.并口与 USB 口兼容的自由加密方案 网络狗 适用于 Windows 、 NetWare 和 Linux 网络,只需要安装一个狗服务器,整个网络中所有客户机即可使用加密软件。网络狗支持 DOS 、 Windows /9X/ME/NT/XX/XP 和 Linux 操作系统,支持几乎所有主流编程语言、开发工具。网络狗主要特点有: 单片机网络狗内置单片机,固化的单片机软件外部不可读,从而不可仿制。 存储器 网络狗内部有 200 字节的掉电保持存储器,开发商可用来存放程序的关键数据、配置参数等信息。 服务程序 独立服务程序,多个网络狗只需运行一个服务程序。 客户机 客户机可以同时运行在DOS、 、Windows9x、WindowsXX、Windows NT、Linux 操作系统上,客户机之间不会相互干扰。 多网卡 服务程序和客户机支持多网卡。 多进程 客户机允许同时运行最多 50 个客户进程。 协议 支持 TCP/IP、IPX、NETBIOS 协议,可穿透路由器、交换机、集线器等。 密码 开发商可以对网络狗设置密码,密码错误将不能对存储区进行读写和更改最大用户数。 反跟踪 彩虹天地公司独有的数据交换随机噪声技术,可有效地对抗逻辑分析仪分析及各种调试工具的攻击。 可级联 网络狗支持多个不同号狗级联,体积更小,使用方便。时间闸 网络狗内部设有时间闸,各种操作必须在规定的时间内完成。网络狗正常操作用时很短,但跟踪时用时较长,超过规定时间网络狗将返回错误结果。 工具 一组完善的开发工具:狗的编辑工具、网络测试工具、安装工具等。 新增功能 全新的硬件服务程序 支持 windows、linux、netware 三大操作系统 支持两种网络狗硬件 1、不含时钟芯片硬件:并口网络狗(PNH) ;USB 口网络狗(UNC) 2、含时钟芯片硬件:并口网络狗(PNI) ; 篇二:加密第一段代码存在问题解决方案如果你的运行老师的代码的时候存在无法读入gets(str1)的问题,即红色代码无效,请在程序中加上黄色部分,事实上黄色代码没有起到任何作用,但是红色的无效代码变得有效了,以前遇到这类问题,翻来找去,找到了原来胡乱解决的办法,谨解燃眉之急! #define M 100 main() int s,i,a; char str1M=0, str2M=0,str3M; printf(“menun“); printf(“1. lockn“); printf(“2. unlockn“); printf(“the way you choose:“); scanf(“%d“, switch(a) case 1: printf(“primary textn“); gets(str3); gets(str1); s=strlen(str1); for(i=0;i str2i=219-str1i; printf(“the secret is:n“); puts(str2); break; case 2: printf(“the sectet is:n“); gets(str1); s=strlen(str1); for(i=0;i str2i=219-str1i; printf(“the primary text is:n“); puts(str2); break; default:printf(“error“); 徐施福 1:08:17 在第一 scanf 的“”里面加n 看行吗 第一个 scanf() 徐施福 1:09:20 写成“%dn, puts(str3); 是对的 输出了一行回车 陈鹤文 (532531210) 1:17:58也就是说原来的代码是将回车毫无征兆地送给了gets(str1) 徐施福 1:18:45嗯嗯,可能就是键盘缓冲区的问题 所以你还可以这样解决: #define M 100 main() int s,i,a; char str1M=0, str2M=0; printf(“menun“); printf(“1. lockn“); printf(“2. unlockn“); printf(“the way you choose:“); scanf(“%dn“, switch(a) case 1: printf(“primary textn“); gets(str1); s=strlen(str1); for(i=0;i str2i=219-str1i; printf(“the secret is:n“); puts(str2); break; case 2: printf(“the sectet is:n“); gets(str1); s=strlen(str1); for(i=0;i str2i=219-str1i; printf(“the primary text is:n“); puts(str2); break; default:printf(“error“); 篇三:DEX 加壳加密解决方案的设计与实现一、什么是加壳?加壳是在二进制的程序中植入一段代码,在运行的时候优先取得程序的控制权,做一些额外的工作。大多数病毒就是基于此原理。PC EXE 文件加壳的过程如下: 二、加壳作用 加壳的程序可以有效阻止对程序的反汇编分析,以达到它不可告人的目的。这种技术也常用来保护软件版权,防止被软件破解。 三、Android Dex 文件加壳原理 PC 平台现在已存在大量的标准的加壳和解壳工具,但是 Android 作为新兴平台还未出现 APK 加壳工具。Android Dex 文件大量使用引用给加壳带来了一定的难度,但是从理论上讲,Android APK 加壳也是可行的。 在这个过程中,牵扯到三个角色: 1、加壳程序:加密源程序为解壳数据、组装解壳程序和解壳数据 2、解壳程序:解密解壳数据,并运行时通过DexClassLoader 动态加载 3、源程序:需要加壳处理的被保护代码 阅读该文章,需要您对 DEX 文件结构有所了解,您可以通过以下网址了解相关信息:article/details/8664 根据解壳数据在解壳程序 DEX 文件中的不同分布,本文将提出两种 Android Dex 加壳的实现方案。 (一)解壳数据位于解壳程序文件尾部 该种方式简单实用,合并后的 DEX 文件结构如下。加壳程序工作流程: 1、加密源程序 APK 文件为解壳数据 2、把解壳数据写入解壳程序 Dex 文件末尾,并在文件尾部添加解壳数据的大小。 3、修改解壳程序 DEX 头中 checksum、signature 和file_size 头信息。 4、修改源程序文件并覆盖解壳程序 文件。 解壳 DEX 程序工作流程: 1、读取 DEX 文件末尾数据获取借壳数据长度。 2、从 DEX 文件读取解壳数据,解密解壳数据。以文件形式保存解密数据到文件 3、通过 DexClassLoader 动态加载。 (二)解壳数据位于解壳程序文件头 该种方式相对比较复杂, 合并后 DEX 文件结构如下:加壳程序工作流程: 1、加密源程序 APK 文件为解壳数据 2、计算解壳数据长度,并添加该长度到解壳 DEX 文件头末尾,并继续解壳数据到文件头末尾。 (插入数据的位置为 0x70 处) 3、修改解壳程序 DEX 头中checksum、signature、file_size、header_size、string_ids_off、type_ids_off、proto_ids_off、field_ids_off、method_ids_off、class_defs_off 和 data_off 相关项。 分析 map_off 数据,修改相关的数据偏移量。 4、修改源程序文件并覆盖解壳程序 文件。 解壳 DEX 程序工作流程: 1、从 0x70 处读取解壳数据长度。 2、从 DEX 文件读取解壳数据,解密解壳数据。以文件形式保存解密数据到 3、通过 DexClassLoader 动态加载。 一、序言 在上篇“Android APK 加壳技术方案” 博文中,根据加壳数据在解壳程序 Dex 文件所处的位置,我提出了两种 Android Dex 加壳技术实现方案,本片博文将对方案 1 代码实现进行讲解。博友可以根据方案 1的代码实现原理对方案 2 自行实现。 在方案 1 的代码实现过程中,各种不同的问题接踵出现,最初的方案也在不同问题的出现、解决过程中不断的得到调整、优化。 本文的代码实现了对整个 APK 包的加壳处理。加壳程序不会对源程序有任何的影响。 二、代码实现 本程序基于代码实现,因为牵扯到系统代码的反射修改,本程序不保证在其它 android 版本正常工作,博友可以根据实现原理,自行实现对其它 Android 版本的兼容性开发。 1、 加壳程序流程及代码实现 1、加密源程序 APK 为解壳数据 2、把解壳数据写入解壳程序 DEX 文件末尾,并在文件尾部添加解壳数据的大小。 3、修改解壳程序 DEX 头中 checksum、signature 和file_size 头信息。 代码实现如下: java view plaincopy 1. package ; 2. import ; 3. import ; 4. import ; 5. import ; 6. import ; 7. import ; 8. impo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论