-
如何使用dll进行验证注册加密狗的方式
分析某软件的注册验证, 发现它是通过调用一个dll来判断keyfile内容是否正确, 是否在使用期之内, 并且这个子程序作的很是复杂, 当然如果想找算法还是能找得到:) 如keyfile正确, 则返回eax=0, 并且内存某位置的8个字节应该为固定的一个值. 这样, 分析dll文件, 发现它仅有这一个导出的函数, 那么仿造这样一个dll是完全可行的。内容简单如下: .386 .model flat,stdcall option casemap:none include \masm32\inclu...
-
增强型加密狗破解方法
NLite-22F多功能加密锁是完全基于智能卡技术开发采用一颗高度集成化的智能芯片,芯片集成了其所有器件(包括CPU、RAM、EEPROM 以及USB 通讯模块),这极大提高了产品的安全性和稳定性。每个芯片上都具有全球唯一的序列号。 NLite-22F多功能加密锁在生产每个产品时都必须进行48小时老化测试及高低温测试,对加密锁的各种功能进行严格测试层层把关,确保产品的可靠性。 NLite-22F 功能特点 提供48位全球唯一硬件ID; 支持在同一台PC上插入多把加密锁; ...
-
数据加密与数据解密二
参数说明见下方 l rgbKey:用于对称算法的机密密钥。 l rgbIV:用于对称算法的IV。 l 返回值:对称的Rijndael解密器对象。 (1)CreateEncryptor( )方法 此方法使用指定的Key和初始化向量(IV)创建对称的Rijndael加密器对象。 语法格式为: public override ICryptoTransform ...
-
数据加密和数据解密的方法
这个例子实现对文件的机密数据进行加密的功能。运行程序,在文本框中输入要加密的数据,单击【加密】按钮,对数据进行加密,并将加密后的数据显示在“加密后的字符”文本框中。 技术要点 这个实例功能主要用到了System.Security.Cryptography命名空间下的MD5Crypto- ServiceProvider类的ComputeHash( )方法、System.Text命名空间下的ASCIIEncoding类的ASCII属性、GetBytes( )方法和GetStr...
-
如何使用加密狗进行硬件保护
现在的解密技术排除法律和道德因素,就从学术角度来说是门科学。它与加密技术一样是相辅相成不断提高。 以下为现如今软件开发商使用硬件加密狗(加密锁)进行软件保护时可以使用的几种切实可行的几种加密策略。 A)硬件复制 复制硬件,即解密者复制Sentinel Superpro相同的加密锁。由于加密锁采用了彩虹公司专用的ASIC芯片技术,因此复制该加密锁非常困难,且代价太大。 B)打印机共享器 将加密锁插在打印机共享器上,多台计算机共同使用打印机共享器上的一...
-
加密狗如何面向单机环境的低成本加密方案
软件狗的工作原理 开发商程序通过调用软件狗开发套件提供的接口模块对软件狗操作,软件狗响应该操作并通过接口模块将相应数据返回给开发商程序。开发商程序可以对返回值进行判定并采取相应的动作。如果返回无效的响应,表明没有正确的软件狗,开发商可以将应用程序终止运行。 软件狗开发套件提供了两种加密方案:使用 Obj 、 DLL 、 ActiveX 控件或者直接使用外壳工具,请根据您的需求选择方案。 加密方案一:使用 Obj 、 DLL 、 ActiveX 控件 Obj 、 DLL...
-
破解加密狗过程中的基本术语
如大家所知,windows下软件在调用硬件时要通过驱动程序来实现对硬件的操作,硬件对于软件来说仅是驱动程序所提供的接口。此驱动的接口通常是由软狗公司提供,而且一般是不改变的。而此接口具体如何实现软件是看不到的。模拟驱动就是通过模拟此软件和硬件之间的接口,而通过软件编程来实现此接口的功能,将加密狗的数据硬件编码在驱动程序内,将加密狗的算法移植到驱动程序内,如此对于软件而言就好像在操作一个真正的硬件一样。不管软件版本如何变化,驱动的接口并不改变,由于驱动和软件程序文件是分离的,不需要更改程序文件,实...
-
软件加密锁的编程技巧
本文将介绍软件加密锁的一些编程技巧,以及软件开发者将如何编写安全可靠的代码,如何对付各种各样的加密狗破解,编写加密程序时应该尽量避免的一些问题等等。 一、加密狗加密的基本原理 开发商程序通过调用硬件加密狗的接口模块对硬件加密狗操作,硬件加密狗响应该操作并通过接口模块将相应数据返回给开发商的应用程序。开发商的应用程序可以对返回值进行判定并采取相应的动作。如果返回无效的响应,表明没有正确的狗,开发商可以将应用程序终止运行,或者让应用程序以错误的方式执行。 二、常用的解密方法 1...
-
ESP定律法的基础知识
在我们开始讨论ESP定律之前,讲解一下一些简单的汇编知识。 1. call 这个命令是访问子程序的一个汇编基本指令。call真正的意义是什么呢?我们可以这样来理解: a) 向堆栈中压入下一行程序的地址; b)JMP到call的子程序地址处。 例如: 00401029.E8 DA240A00 call 004A3508 0040102E.5A pop edx 在执行了00401029以后,...
-
高强度加密狗宠狗
宏狗是SafeNet最新推出的一款功能强大的软件保护产品。宏狗的设计结合了软件开发商的需求与SafeNet软件安全发布模型中的先进理念,不仅产品自身具有很高的加密强度, 而且使加密产品的订购流程得到合理的控管。 适用的语言环境 Win32: C ( Visual C++, Borland, C++Builder ), VisualBasic, VisualFoxpro, Delphi, Java Builder, J2SDK, PowerBuilder, C#, VB...