`
yangyou230
  • 浏览: 1639471 次
文章分类
社区版块
存档分类

如何破解软件狗,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就可以在反汇编的结果中找到上述函数(如果有的话),接下来就看你的汇编语言工夫和思维是否清晰了。


分享到:
评论

相关推荐

    2011xiegou.rar_Dongle write_r2 dongle_飞天_飞天诚信_飞天诚信r2

    软件狗读写,支持飞天诚信R2狗,可以读写锁操作。。。

    nrf52840-mdk-usb-dongle:采用USB Dongle规格的小型低成本nRF52840微型开发套件

    nRF52840 MDK USB Dongle是一种小型低成本开发平台,由nRF52840多协议SoC以便利的USB软件狗形式实现。 该设计具有可编程用户按钮,RGB LED,板上最多12个GPIO和2.4G芯片天线。 它可以用作低成本的Bluetooth5 / ...

    SmartKey Dongle Dumper

    用于各类软件加密狗的复制,与其他软件配套使用

    加密狗查狗一具

    本软件可以查出日前大部分的狗。如果有需要的朋友们请和我联系。我的qq1124432711

    深思洛克加密狗系列产品驱动程序(1)

    深思洛克智能卡系列产品驱动程序 附带说明 因为太大了 所以分成两个传 超过60m了

    java-sdr:基于FUNcube Dongle的Java软件无线电

    基于FUNcube Dongle的Java软件无线电 对于那些尚不了解的人。我是FUNcube卫星软件团队的一员,这是我们原始遥测解码器逻辑的一部分,其中包括软件定义的无线电技术,用于解调来自FUNcube加密狗的原始IQ输入(或其他...

    fl2000_drm:Linux内核FL2000DXIT66121FN软件狗DRM驱动程序

    Linux内核FL2000DX / IT66121FN软件狗DRM驱动程序完全重新实现了FrescoLogic FL2000DX DRM驱动程序和ITE Tech IT66121F驱动程序,从而允许基于Linux中此类芯片的启用完整的显示控制器功能。建筑司机签出代码并输入 ...

    asterisk-dongle-setup:Playground项目,旨在通过GSM通道驱动程序设置Asterisk服务器

    该项目旨在使能够完成以下任务的软件配置自动化: 接收SMS消息并将其转发到Telegram聊天。 将语音呼叫转发到Telegram。 使用聊天机器人处理语音呼叫。 内容 设置 演练 安装。 请注意,它可以轻松地与您的本机...

    逆向破解工程中起到事半功倍的作用,逆向破解工程的20+下载地址方向

    【Android Tools】 安卓程序逆向所用到的相关工具 【Debuggers】 动态调试工具 【Disassemblers】 反编译工具(静态分析为主) ...【Dongle】 加密狗相关 【.NET】 微软.Net程序逆向相关工具 【OllyDbg 1.x Plugin】

    Rockey系列加密狗硬复制工具

    加密锁(Dongle)是一款智能型的软件和数据保护产品,它包含一个安装在计算机 USB 口或并口上的硬件,及一套内容丰富的SDK开发包,包含多种编程语言的API接口库、示例、用户手册及工具软件等。加密锁基于硬件保护...

    54种加密狗加密锁检测工具

    本工具无需解压缩即可检测54种常见加密狗类型,协助您分析软件加密类型、识别未知加密狗驱动,复制加密狗辅助工具。

    Rockey4狗改密码工具 驱动.rar

    软件介绍: Rockey4狗改密码工具为网友分享,请自行研究:Rockey4 Dongle驱动ROCKEY4改密码:NO1.txtR4硬复制R4专业驱动安官方原版驱动程序.exeRockey4硬复制系列改密码-可读无限版,可修改基本密码、高级密码。

    Nordic推出低成本nRF51-DK开发套件平台

    Nordic还宣布推出高度灵活的USB软件狗nRF51-Dongle,协助测试、分析,以及开发蓝牙智能、ANT和2.4GHz应用。  nRF51-DK基于Nordic的nRF51系列系统级芯片(SoC)。nRF51是结合了一个2.4GHz多协议无线电、一个32位ARM ...

    XiaoMiTool.exe

    这允许您下载为移动UMT闪存加密狗提供的UMT(终极多工具)团队的最新软件EXE SETUP包括所有最新设置的软件EXE,如UMTv2_UMTPro GSM 5.2国际,UMTv2设置v2 Int,UMTv2 UMTPro QcFire v3.4设置,UMTv2 UMTPro QcFire v...

    RISCAN1.7.2 三维激光扫描仪器软件

    RISCAN1.7.2 三维激光扫描仪器软件,能将点云数据显示,并且进行基本操作,其他操作需要利用加密狗,使用前记得License_WuHan Uni_RiSCAN PRO_Camera_MSA_SN S9998123_dongle1819_S1820.lic将这个导入licence ...

    6sense:在保护隐私的同时对设备进行计数

    该软件在设计时考虑了隐私,因为只能输出一系列信号电平和每天都在变化的不可追踪的ID。如何安装npm install 6sense先决条件是 具有监控功能的wifi接口。快速开始6sense每个部分基本上都是连接加密狗的有限状态机。...

    005tools:用于从 Nintendo DS、DSi 和 3DS 游戏卡中提取保存数据的开源软件

    因此,我开始使用加密狗的官方软件进行逆向工作,这样我就可以编写自己的跨平台实现。 005Tools当前仅与R4i Save Dongle一起使用,但在编写时要考虑到可扩展性。 由于这是我仅有的设备,因此我怀疑它是否会在不久的...

    I2Cpytools:用于处理来自 PC 和图形的 I2C 传感器的 Python 脚本-开源

    更新:带有传感器 BME280、TSL2591 的 ELV 软件现在也集成到 GeigerLog 中! 在 https://sourceforge.net/projects/geigerlog/ 下载! ---------- I2Cpytools 是用于在 PC 上使用 I2C 传感器的软件。 它使用 Python3...

    gqrx_fork:Gqrx 的分叉

    Gqrx 是使用 GNU Radio 和 Qt GUI 工具包实现的实验性软件定义无线电接收器。 目前它适用于 Linux 和 Mac,并支持以下设备: Funcube Dongle Pro 和 Pro+ 基于 RTL2832U 的 DVB-T 加密狗(通过 USB 和 TCP 的 rtl...

Global site tag (gtag.js) - Google Analytics