如何破解软件狗,dongle
首先用一点儿时间来谈谈什么是加密狗(dongle),dongle经常被认为是硬件保护,它是一个可被附加在计算机并口、串口或USB上的小插件,它包含厂家烧制的EPROM和定制的专用集成电路。
dongle保护的的原理就是软件开发者在程序里经常检查dongle中的单元(Cell)的并对比返回值,这种检查可以是直接读单元或者是使用某种内部算法(此时单元受到保护无法直接读)。尽管任何称职的硬件工程师都能很容易地分析出dongle是如何实现的,但是实际上并不用那么麻烦,dongle保护最薄弱的环节在于应用程序要通过dongle厂家提供的函数库来访问dongle,而应用程序和这些函数的连接通常是很弱的,因为软件开发人员不管这些函数如何访问dongle,它只检查函数的返回值是表示成功还是失败,那么只要打补丁让所有函数返回成功即可,而且这些函数通常并不多,从厂家提供的API手册中很容易查到这些函数的定义(参数和返回值)。一般来说dongle解密不需要原来的正版狗。
必须指出从(西方)法律上来说,破解狗与调试独立的程序有一些细微的不同,后者是完全合法的,但前者在德国有被判为非法的案例(即使你已经购买了正版的软件),我不知道我国法律是如何规定的,这种涉嫌侵权的情况当然是民不告、官不纠,好在我们不讨论国产软件,你如果被引渡到美国或德国本站不负任何责任。
下面是一些著名dongle厂商的官方网站,从中可以下载用户手册,应用程序接口(API)和其它相关资料,也可以了解dongle技术的最新进展。
比如说,从彩虹公司提供的API文档中我们可以了解到Sentinel Superpro(以下简称 sspro)的一些情况,sspro有64个内存单元(memory cells),其中56个可以被用户使用,这些单元中的每一个都可以被用为三种类型之一:算法、数据值和计数器。
算法(algorithm)是这样一种技术,你用sproQuery(queryData)函数访问它,其中 queryData是查询值,上述函数有一个返回值,被加密的程序知道一组这样的查询值/返回值对,在需要加密的地方,用上述函数检查狗的存在和真伪。对于被指定为算法的单元,软件上是无法读和修改的,即使你是合法的用户也是如此,我理解这种技术除了增加程序复杂性以外,主要是为了对付使用模拟器技术的破解。
数据值和计数器就比较好理解了,数据值用户存储在可读写的单元中的数,用户可以用它存储自己的信息,计数器(counter)是这样一种单元,软件开发商在其软件中使用sproDecrement函数可以把其值减一,当计数器和某种活动的(active)算法关联时,计数器为零则会封闭(deactive) 这个算法。
下面是sspro的所有API函数:
RNBOsproActivate() 激活或反激活一个算法以便它能被RNBOsproQuery()函数使用。
RNBOsproDecrement() 把计数器或一个可读写的单元减一。
RNBOsproExtendedRead() 读任一非隐藏单元的值和连接码(access code)
RNBOsproFindFirstUnit() 查找指定的狗。
RNBOsproFindNextUnit() 查找同一ID的下一个狗。
RNBOsproFormatPacket() 初始化一些数据结构,这个函数必须在其他API函数之前调用。
RNBOsproGetVersion() 返回驱动程序的版本。
RNBOsproInitialize() 驱动程序初始化。
RNBOsproOverwrite() 可以修改除保留单元00–07之外的任何单元的值和连接码。
RNBOsproQuery() 提供一个查询值,给应用程序返回一个加密的返回值。
RNBOsproRead() 读非隐藏单元的值。
RNBOsproWrite() 改变某单元的值。
DesKey的API函数就更简单了: Dk2DriverInstalled 检查驱动程序是否安装
findDk2 检查DK2狗是否安装
dk2readmemory 读DK2某个单元的内容
dk2readdowncounter 读计数器的值
dk2decrementDowncounter 计数器减一
具体的函数细节可以查看sspro和Deskey的开发者指南(本站有下载)
了解了上述函数之后,你就可以使用IDA对你的目标进行分析,然后应用相应的sig符号表(本站有下载),IDA就可以在反汇编的结果中找到上述函数(如果有的话),接下来就看你的汇编语言工夫和思维是否清晰了。
如何破解软件狗,dongle相关推荐
- USB软件狗的设计及反破解技术
1 软件狗技术 近年来,软件狗技术在保护软件开发者利益.防止软件盗版方面起了很大作用.软件狗技术属于硬加密技术,它具有加密强度大.可靠性高等特点,已广泛应用于计算机软件保护.软件狗技术的发展经历了多次 ...
- 常见破解软件的优秀替代免费软件
题目真坳口,大致就是说,很多同志日常工作中会用到很多破解软件或者盗版软件.其实这些东东不是非用不可的,有很多优秀的免费软件可以来替代,甚至不夸张的说,这些免费软件的质量有些要高于收费的商业软件.所以说 ...
- 【WiFi密码破解详细图文教程】ZOL仅此一份 详细介绍从CDlinux U盘启动到设置扫描破解-破解软件论坛-ZOL中关村在线...
[WiFi密码破解详细图文教程]ZOL仅此一份 详细介绍从CDlinux U盘启动到设置扫描破解-破解软件论坛-ZOL中关村在线 好了,先说下提前要准备的东东吧: 1.U盘一枚,最小1G空间.需进行格 ...
- 【转帖】绝版破解软件教程就不信你学不会!!
绝版破解软件教程就不信你学不会!! www.hxhack.com 阅读: <script src="/Article/GetHits.asp?ArticleID=1191"& ...
- 编辑PDF【没有PDF编辑器的会员时,且无破解软件】
在没有PDF编辑器的会员时,且无破解软件时,可用以下方法编辑PDF文件: 在这个回答评论区发现妙方法: 使用"万兴PDF"编辑文件,保存[不开会员],这时保存的文件是带有水印的. ...
- OD破解软件找断点方法系列【2】----万能断点法(XP系统)
[文章标题]: OD 破解软件找断点方法系列[2]----万能断点法(XP系统) [文章作者]: HPKEr [软件名称]: MP3转换器 V5.2.0 [软件大小]: 3.20 MB [下载地址]: ...
- 工控 组态王6.60 SP3软件7.5 SP4 授权软件狗 USB 硬件狗 分享 下载
工控 组态王6.60 SP3软件 授权软件狗 USB 硬件狗 分享 下载 技术咨询QQ:3137723307 组态王6.60是一款非常好用的工业类自动化控制软件,此版本继承了前面几个版本的所有功能,可 ...
- 电脑安装破解软件跟杀毒软件冲突怎么办
拿联想小新为例 打开杀毒软件 添加信任文件(也就是老被杀毒软件隔离的文件) 然后,就可以流畅安装破解软件了~
- 外挂、破解软件理论与实战
外挂.破解软件理论与实战 1 理论 1.1 不同操作系统下的可执行文件 Windows[PE] PE 格式,可移植可执行格式(Portable Executable), 是 Windows 下的主要可 ...
最新文章
- 在Linux终端下查看GPU正常使用的情况
- 对几个submission文件迅速做voting操作
- JVM笔记详解之垃圾回收器
- Linux:tomcat安装/版本升级
- 一个简单的游戏服务器框架 .
- mysql 视图 局部变量_mysql创建视图和存储过程,变量
- 深度学习(二十六)Network In Network学习笔记
- [转载]手工安全测试方法修改建议
- 树莓派(Raspberry Pi)搭建简单的lamp服务
- 8s pod 查看 的yaml_k8s之深入解剖Pod(二)
- JavaWeb 敏感词汇过滤器
- 计算机网络自学指南,简直太全了!
- JavaScript基本语法
- 如何做好项目中的风险控制
- 分赛区决赛见!2021eBay全国跨境电商创新创业大赛分赛区决赛晋级名单
- thread.java 619_java jstack thread 映射 linux 线程(LWP) | 学步园
- wps excel 中将一行多列数据转换为一行两列的格式 的方法函数
- 2021最新苹果CMS影视站全站模板100+套模板分享下载
- @html.dropdownlist默认多选,Html.DropDownList()赋默认值
- 随手记——静态Flag变量使用不规范导致的重大流程错误
热门文章
- 【Processing】行走的行星 动态海报 processing艺术与科技
- oracle10g数据库复制,windows 下oracle 10G 数据库移植到 linux平台 (通过文件直接复制方法)...
- LPC1768 UART超时中断的使用
- 一块宝藏存储芯片【SD NAND】
- HLA(high level architecture) 高层体系结构
- 单链表的逆置算法解析
- 用Python求完美数
- php redis sadd 多个,Redis Sadd 命令
- else用法的一个小细节
- 输入法框无法正常显示问题