.NET加密狗程序破解(一)

我把软件分为开源软件和商业软件,开源软件功能相对较弱,源码开放,可以看到底层实现,适合学习研究;商业软件正好相反。但如果我们能看到商业软件的源码或者至少能够免费使用,这就是我理解的破解。

由于本软件是商业软件,所以不能涉及具体名称,这里只是示范演示之用,禁止以此来进行商业使用!

1.安装使用

不管怎样,先安装程序使用,即使卡在某一步,在使用时或卡住时,也许就是破解的关键,运行主程序后,需要网络锁(要插入加密狗)

2.查壳侦壳

这应该是破解的第一步,查是什么壳,我现在只知道.NET的怎么破,而且现在基本是工具党,IL语言不会,不要见笑,新手都是这样走过来的,下面是查壳后,发现并没有壳,窃喜:

3.加载程序

使用.NET Reflector 8.3加载exe后,出现"索引超出了数据界限",在吾爱中,出找到了类似的问题,有人说是代码混淆

百度百科:将代码中的各种元素,如变量,函数,类的名字改写成无意义的名字。比如改写成单个字母,或是简短的无意义字母组合,甚至改写成"__"这样的符号,使得阅读的人无法根据名字猜测其用途。重写代码中的部分逻辑,将其变成功能上等价,但是更难理解的形式。比如将for循环改写成while循环,将循环改写成递归,精简中间变量,等等。打乱代码的格式。比如删除空格,将多行代码挤到一行中,或者将一行代码断成多行等等。被混淆的代码难于理解,因此调试除错也变得困难起来。开发人员通常需要保留原始的未混淆的代码用于调试。

所以,得反混淆。

4.反混淆

反混淆的神器当然数de4dot,直接拖放即可,我以前还在Cmd中傻傻地操作。反混淆结果会新生成一个后缀名为-cleaned的同名文件。


5.加载程序x2

再次使用.NET Reflector 8.3加载反混淆后的exe,就没有出现问题了。

6.寻找关键点

找关键点进行破解这需要经验,现在我都去找登陆窗体,主窗体,主函数,加载函数,许可函数等。幸运的是,我找到了MainFrm中的Form1_Load函数,还有一个CheckDog()函数。

7.深入挖掘

在Load函数函数中,我们看到有一个条件判断,即CheckDog()返回一个Bool值,如果为F,那就完了,必定要调用ProjectData.EndApp();函数,EndApp不就是结束程序吗?都结束了,还破啥呀!再看EndApp函数,做得真绝,关闭所有。


8.不能结束

打开Reflexil插件,看看它的IL代码,实际上调用CheckDog方法(callvirt), 推送一个0(Ldc.i4.0),将0与CheckDog返回的值进行比较(ceq),如果相等则返回1,如果不等则返回0。这里:如果检查加密狗失败,CheckDog会返回Flase,Flase取反(!),实际上是将它与0(Flase)进行比较,相等则跳转调用EndApp()。

这里的修改方法有很多种,目的是让它不调用EndApp函数。

(1)修改CheckDog的返回值,这个方法后面讲;

(2)CheckDog的返回值与0比较,改为与1比较,即改Ldc.i4.0为Ldc.i4.1;

(3)修改比较符号,即将ceq改为cgt;

(4)修改跳转条件,即将brfalse.s改为brtrue.s;

(5)删除跳转后的调用语句,即删除037行;

(6)修改EndApp函数,最好的办法,删除其中代码。

当然,选择其中一种即可,不要做两种,可能造成负负得正的情况。

9.修改保存

我们使用了第三种修改方法,选择exe右键保存。

10.测试问题

将修改后的结果进行测试,发现虽然可以进入主程序,可还是要弹出这个窗口,不好看,我有点强迫症。使用反混淆后的exe重新来(未进行第9步修改的exe)。

11.再次深入

这下,我们来看CheckDog函数,不长,来分析:条件判断如果加密狗检查成功,我们则返回为True,否则,弹出错误窗口(GUsbDogClient.mDogForm),并返回为False。

这里我们的改法很显然:

(1)可以删除所有,只返回一个true即可;

(2)将条件判断==修改,使它能够执行条件语句;

(3)删除ShowDialog的语句,修改最后一个return的值(不修改的话,可修改Load函数的if判断)。

如果按(2),我们需要把==修改成>还是<呢?来看下枚举型UdbSoftKeyStatus,它是枚举常量,不同的值,代表着不同的类型,其中成功的值是2012(16进制是0x7e0),我发现,其他值都大于2012,它最小,所以我就知道怎么修改了。

修改后,果然在程序初始化过程没有任何问题了,像有加密狗一样顺利。

12.不完美

可软件使用中的几个功能点击后还是弹出"请先连接服务器"的警示,且相应功能不能使用。

说明我们还没有找到根源,我们要找到检查软件狗的函数进行修改才行。

13.寻找根本点

CheckDog函数,我们可能要找的函数在GUsbDogClient,而它在另外一个dll中(不在exe中),打开这个dll的函数,发现里面为空,又得脱一下壳吧。

脱壳后的函数便有了内容,如果我们把这里的return返回成功(2012)的话,这又是治标不治本的方法。

(未完等续……)

时间: 2024-10-11 12:46:27

.NET加密狗程序破解(一)的相关文章

.NET加密狗程序破解(二)

接.NET加密狗程序破解(一) 14.GUsbDogClient检查函数 现在的关键是修改GUsbDogClient.Connect()和GUsbDogClient.ChkMapSoftKey()函数,通过一级一级下去,分别找到ConnectNet()和CheckSoftKey()函数,将其的返回值都改为UsbSoftKeyStatus.成功. 修改后,则找不开程序了,说明两个条件并不同时为真,我估计第二个条件有问题,于是,我把第二个条件的==改为!=后测试,能够成功,证明第二个条件GUsbDo

破解加密狗之维达软件清单计价2008

我爸老早就让我破解这款软件,因为官网上下载的都是未注册版的,部分功能如报表打印都是被限制使用的,他用起来很麻烦,而买一个加密狗要2000大洋,这回终于得空回家给破了. 打开软件运行看看打印报表的功能是灰的,直接就想到了enableMenuItem这个函数, 于是直接bp EnableMenuItem ,在程序中也找到了这处函数的调用,如下图 但是无论怎么修改都还是灰的.遍寻软件也没发现有unregister的字符串. 之后借来一个加密狗,几番测试发现这个加密狗仅仅做了验证是否注册,而没有什么镂空

加密狗复制备份 订制写狗程序 算法注册机 OEM信息 二次封装

加密狗复制备份.模拟  行业软件批发零售 定制写狗程序.注册机 软件破解 逆向工程   酒店客房管理.餐饮娱乐管理.美容美发管理.汽车行业.会员管理.医疗软件.客户管理.财务进销存系统 .OA办公 .服装设计 等大量行业软件批发零售 合作联系QQ: 844256300 =========================================================================================== 企发会员积分系统3.5 冠唐仓库管理网络版 凤

行业软件 加密狗复制 加密狗数据 加密狗备份 加密狗破解 写狗数据 OEM信息

加密狗复制备份.定制写狗程序.算法注册机.OEM信息.二次封装.行业软件破解.酒店客房管理.餐饮娱乐管理.美容美发管理.会员管理.口腔管理.商超POS收银.服装鞋帽.家具生产设计.家具数控.家居设计及销售设计.药店管理.汽车行业管理.财务进销存系统 .OA办公 .服装设计.积分管理.电脑行业管理系统.客户管理.洗浴足浴.等各行业管理系统.批发零售.量大价优.欢迎选购.合作联系QQ:309889372 部分产品分类展示: 家具厂:海迅家具设计拆单管理系统 海迅家具数控生产管理系统 凯恩家美橱衣柜销

加密狗复制备份 克隆 破解 OEM信息 二次封装 行业软件破解 批发零售

加密狗复制备份 加密狗模拟   加密狗破解  定制写狗程序 算法注册机 OEM信息 二次封装 汉化  行业软件破解   酒店客房管理  餐饮娱乐 美容美发  会员管理  口腔诊所 口腔医院管理 商超POS 服装鞋帽 家具生产数控 家具设计拆单 排料优化 家居设计销售 药店管理 汽配汽修汽贸4S店管理 财务进销存 OA办公 企业积分制管理 电脑行业管理系统 客户管理...等各行业管理软件批发零售 合作联系QQ:309889372 部分产品列表展示 部分产品分类展示: 服装设计类行业: 主要针对服装

软件USB加密狗(锁)复制克隆解密破解多少钱?

加密狗(dongle),经常被认为是软件保护,它是一个可被附加在计算机并口.串口或USB上的小插件,它包含厂家烧制的EPROM和定制的专用集成电路.dongle保护的的原理就是软件开发者在程序里经常检查dongle中的单元(Cell)的并对比返回值,这种检查可以是直接读单元或者是使用某种内部算法(此时单元受到保护无法直接读). 深圳凯基迪科技,在软件开发和加密狗复制方面拥有丰富的实践经验,现可解密复制各种软件狗USB加密锁,并承诺100%包成功!如有需要欢迎来电咨询! [132-6677-824

简单介绍:软件加密狗(加密锁)复制破解原理!

大家都认为U盘可读可写,而加密狗(加密锁)内的数据是无法复制和破解的. 其实,加密狗(加密锁)也不是绝对不能复制,因为加密狗复制不像好多人想象的那样把加密狗中的数据读出来再复制到一个新的加密狗中,实际情况可不是这样简单,加密狗不像U盘,加密狗内部其实是一部完整的计算机,也有自己的cpu.内存等,只是计算速度相对较慢而已,因此可以完成一些简单的任务,但是即使是一些简单的任务对于我们来说也是非常复杂的,如果想从中获取全部的数据困难程度可想而知.一般只能分析加密狗和软件之间的通讯数据.其实这一步就是破

老王教您怎么做cass7.1 8.0 9.1所有系列的复制狗 加密狗 破解狗

cass7.1 8.0 9.1所有系列的复制狗 加密狗 破解狗本来是出于好奇看到网上有这样的东西,学了下感觉挺简单的,如果你是cass的初学者想仅仅是想学习这个软件,不想花大价格购买正版的,这个是可以学习用的. 需要喜欢的版本cad,和cass(这里我选择cad2006和cass9.1,cad2006安装快) 第一步安装cad 安装cad2006,不选择高版本的是因为cass9.1适合cad2010以下,cad2010安装慢,cad2006很快. 但是cad2006安装在win7 8上需要兼容安

他乡脱壳系列教程之狗世界加密狗破解

课程目录:第1课加密狗破解介绍第2课破解域天狗并脱壳第3课无狗打狗软件狗第4课无狗打狗usb狗第5课加密狗复制与模拟实战第6课无狗打狗深思2(ROCKEY2)第7课无狗打狗软件狗第8课无狗打狗网络狗第9课无狗打狗硬件狗第10课无狗打狗深思4(ROCKEY4)第11课无狗打狗深思6(ROCKEY6 SMART)第12课无狗打狗思维尔狗第13课无狗打狗---杀微狗第14课无狗打狗---广联达狗(宏狗)第15课无狗打狗---未知狗(宏狗+网络狗)第16课通杀域天狗 本文转载自:盘友之家http://w