无痕软件 发表于 2015-3-17 15:54

[.NET破解]x云系列软件破解及简单美化

本帖最后由 无痕软件 于 2015-6-30 13:04 编辑

2015年6月30日 12:37:49修复了CAD批量打印只能打前三张的问题。链接:http://pan.baidu.com/s/1nt24iet 密码:wq86
2015年4月14日14:20:41感谢论坛网友反馈的破解BUG,现已经修复。新的下载地址:http://pan.baidu.com/s/1nt9lNAx 密码:8j62若还有BUG,请跟帖反馈,谢谢。
前言:   在论坛混了很久,看了很多优秀的文章,最近也刚刚开始接触.NET破解,写这个文章完全是为了帮助和我一样初入门的朋友,教程很简单和基础,完全可以零基础操作,写的不好请大家海涵,另外大神请直接飞过。 工具:   1、.NET Reflector 8.3-反编译   2、reflexil IL-修改   3、ScanId-查壳   4、de4dot -脱壳知识点:   1、.NET Reflector的简单使用   2、IL语法的简单使用软件来源:      受@damgda文章:http://www.52pojie.cn/thread-339252-1-1.html 启发,在学习练手的过程中决定一锅踹了这一系列软件。软件官网大家自己百度。 正文:   以下所提到的待破解程序都使用ScanId-查壳后,de4dot去混淆。         将待破解文件直接拖到de4dot的exe程序上就可以脱壳,不用敲命令行。       一、CAD批量打图精灵   需要CAD环境才可以测试,正好折腾装修的图纸,所以装了CAD2010,嘿嘿,真是天时地利啊,软件安装以后,找到了2个核心的dll,脱壳。               直接.NET Reflector打开,寻找主窗口,一般以frm,fr等打头(编程习惯),从frm_load事件开始,我们看能找到些什么。         果然,第一个函数就是彩头,从这个窗体载入事件的逻辑我们可以看到,,再怎么折腾注册也会是个未注册版,除非替换这个文件。从作者的演示视频中我们也可以看到,确实注册以后作者会发给你2个dll文件替换。pprivate void method_5(){int num = this.method_85(); //获取剩余天数this.Text = this.Text + "(剩余" + Conversions.ToString(num) + "天)";this.vmethod_68().Text = "未注册";}   跟踪到:this.method_85()         直接修改返回天数,改个够用的数,因为后面还有很多地方都会调用这个函数,所以不能直接XX掉。具体方法:(后面修改同这,不再赘述)。              这里需要大家了解下IL,有汇编经验的应该学得很快,我也是边用边学,我菜鸟中的战斗公鸡,嘿嘿。(学习地址:http://www.cnblogs.com/flyingbirds123/archive/2011/01/29/1947626.html)使用Ldc.I4指令,将所提供的 int32 类型的值作为 int32 推送到计算堆栈上。给100年,哈哈,够用。记得ret返回,任何程序片段的结束都要返回哦。       this.vmethod_68().Text = "未注册"; //改成已注册,给我们伟大的52破解论坛。       接下来搜索字符串“注册”,看看还有什么。       终于,找到了主要的注册判断函数。从这个函数的逻辑上来看,只要调用这个函数就会有提示框弹出,但是试用的时候没有弹出,可能哪个地方有优化吧,暂时没找到。下面对这个函数进行简单的分析。有源码就是简单易懂,呵呵。比ASM强多了。private void method_2(){this.Visible = false;//自己不可见,可能是什么界面吧,没仔细看。if ((((Class57.smethod_0().eliHanIaHC() > Class57.smethod_0().ExpirationDays) || (DateTime.Compare(DateTime.Now.Date, Class57.smethod_0().ExpirationDate) > 0)) || (this.method_85() == 0)) && (Interaction.MsgBox("您使用的\"CAD批量打图精灵\"已超过试用期限,点\"确认\"查看注册流程。", MsgBoxStyle.OkCancel, "注册提示") == MsgBoxResult.Ok)){Class18.smethod_0();//跟踪了下,会转到作者主页,修改时上面全部干掉,防止弹框}if (((Class57.smethod_0().eliHanIaHC() <= Class57.smethod_0().ExpirationDays) && (DateTime.Compare(DateTime.Now.Date, Class57.smethod_0().ExpirationDate) <= 0)) && (this.method_85() != 0)){string str = Assembly.GetExecutingAssembly().GetName().Version.ToString();this.bool_0 = new Class34("QuickPlot", Class19.smethod_0(), 20, str, false/*重点,打开的版本,FALSE=试用,TRUE注册*/, "cMbOpAivS6Gq61eR4SGkrNlz", "TQbLakcydsU0DknBkKCHnLn0XalLyrCl").method_0();//method_0()关键方法,返回真,有戏,假,就直接OVERif (!this.bool_0){Interaction.MsgBox("您使用的\"CAD批量打图精灵\"已失效!", MsgBoxStyle.Critical, "提示");}if (this.bool_0){int num = 0;num = Conversions.ToInteger(Application.GetSystemVariable("BACKGROUNDPLOT"));Application.SetSystemVariable("BACKGROUNDPLOT", 0);try{this.method_4();this.method_3();this.method_82();}catch (Exception exception1){ProjectData.SetProjectError(exception1);ProjectData.ClearProjectError();}finally{Application.SetSystemVariable("BACKGROUNDPLOT", num);Class5.frProgress_0.Close();}}}if (Class5.bool_0){this.Visible = true;}else{this.Close();}}
   查看下这个.method_0()方法。internal bool method_0(){    string str;    bool? nullable = null;    Random random = new Random();    if (random.Next(this.int_0) == 0)    {      nullable = this.method_1();//好像是从xml取注册数据,从上下文看的,图省事,这里直接改成True即可,我们往下跟踪了下他的实现    }    if (this.bool_0)// 版本区分,注册和试用版    {      str = "tlic";    }    else    {      str = "rlic";    }    if (nullable == true)    {      Registry.SetValue(@"HKEY_CURRENT_USER\Software\YiyunSoftware\" + this.string_0, str, "true", RegistryValueKind.String);      return true;    }    if (nullable == false)    {      Registry.SetValue(@"HKEY_CURRENT_USER\Software\YiyunSoftware\" + this.string_0, str, "false", RegistryValueKind.String);      return false;    }    object obj2 = Registry.GetValue(@"HKEY_CURRENT_USER\Software\YiyunSoftware\" + this.string_0, str, true);    return ((obj2 != null) && Convert.ToBoolean(obj2));}    往下看到一个线程的委托函数,是nullable的返回值,既然需要nullable返回true,那我们干脆将每个分支都改成true,修改2处      前面提到的new Class34()构造函数中一个参数需要改成true,注册判断的时候这个True决定了版本      关于这些指令的修改位置是怎么找到的,需要大家对IL指令、程序流程的熟悉。我也是边改边蒙的,嘿嘿。   注册失效时,打开软件主页,以防万一,使用BR指令修改(无条件地将控制转移到目标指令)。      前面提到了这个程序有点demo的性质,在后面发现了一处demo的特征,找了很久没找到限制打印的代码在哪里,不管了,先干掉意淫下。后面也测试了,没有发现只打印3页的问题,可能是注册了的缘故,有问题大家跟帖。            用软件查看,lb存在,但是隐藏了,不可见。   经过以上的修改,其实这里完全可以把标题写专业版了。从作则网站的注册流程看到,注册以后会发个重新打包的版本给你,这个demo也就这样了,起码里面的核心功能没有缺失。    二、Office批量打印精灵软件打开:      去混淆程序,用.NET Reflector 8.3打开,按F3,搜索字符串 “注册”,经过分析发现注册授权检测类ObpgLicChecker,其中的成员函数BaseCheck(),程序会多次调用进行注册检测,我们需要直接从源头解决。(也可以改if中函数的结果哦,后面有用到)      主要是移除一个if判断,并且在对类的私有成员赋值按成以后就返回,后面的垃圾代码就不用执行了。      打开reflexil,查看IL,直接删除掉不需要的判断,并在适当位置加入ret返回。修改好以后如上图。   下面顺便分析下哪些地方用到了这个类,选中这个类,Ctrl+R,打开分析窗口,直接展开到Used By,作者还是蛮上心的,基本上主要的功能处都有是否注册的判断,但是我们不怕,因为我们堵住了源头,一切高枕无忧。      已改以上一处以后,保存,不处意外,已经注册成功。      接下来我们做些美化,并查看一些其他代码,是否有值得关注的地方。   注册按钮,判断method_0()是否返回1,返回1,注册成功。      修改method_0()的返回值,直接给1.       网络KEY注册的按钮      IL修改:      改完的效果      最后:加个破解的LOGO。      字符串搜索:“如果您有”       修改location主要是让标签创建的时候移动下位置,好看点,因为我们改了label中的内容,就不对中了。选中,右键,Edit      修改标签单击事件,打开52破解论坛      修改结果:      至此,这个软件就完全破解完成。
三、MagicTable   这个软件给做机械制图的朋友,那真是牛逼哄哄啊。(因为我以前就是做大型机械结构件设计的,提取材料清单真的好方便)      老规矩,载入,查找“注册”字符串。      查看了下,发现会反复调用这个函数检测是否注册,跟第二个程序如出一辙。    改掉第一个判断。前面几个赋值完成就返回。              本来想加个LOGO给52,找了半天字符串都在资源里,就没改了,不知道怎么改,有人会的回帖哦,谢谢。(用HEX改就没试了)    CAD相关的2个软件需要在CAD中用命令行打开哦。破解文件直接覆盖就可以了。请对准以下版本覆盖。   
    写教程打字上图不易,且行且珍惜。    大家多给点热心和CB。


dlzc 发表于 2015-4-15 12:32

老大,再次试验。下原文件安装后没打补丁的情况下。魔术表格点注册的位置能够跳出来提示要注册和试用几天,但是打过补丁后一点注册就跳出"JIT编译器受限制。。。"与上图一致,我想是否是系统的哪个文件安装少了,或是文件升级不足。另外一个原因是否是补丁文件是在WIN7下调试,若在XP系统下调试会解决此问题。求真像。

taocitc 发表于 2015-10-15 10:51

本帖最后由 taocitc 于 2015-10-15 11:26 编辑

只要修改他的判断,让他恒等于1就完了,不需要改其他地方,而且改完点注册不会假死。暂时没发现其他不良症状,64位win10可用











无痕软件 发表于 2015-3-17 16:06

沙发。{:17_1055:} 嘿嘿。。占楼

左岸麦田 发表于 2015-3-17 16:14

感谢楼主破解分享了?

pyyyc 发表于 2015-3-17 16:21

分析全面,教程详细,    +1

sxlixiaoyang 发表于 2015-3-17 16:22

能整net的都是高端………………

2937 发表于 2015-3-17 16:54

顶一个 .net太高端 手里有个软件都半年了 自己没搞定

无痕软件 发表于 2015-3-17 17:16

2937 发表于 2015-3-17 16:54
顶一个 .net太高端 手里有个软件都半年了 自己没搞定

发出来试试,呵呵。不一定搞的定。

2937 发表于 2015-3-17 17:21

本帖最后由 2937 于 2015-3-17 17:29 编辑

无痕软件 发表于 2015-3-17 17:16
发出来试试,呵呵。不一定搞的定。
http://yun.baidu.com/share/link?shareid=1068659811&uk=1899703784&third=0

要搞定了真的谢谢你呢 你肯定能搞定

HZ小彬彬 发表于 2015-3-17 17:25

感谢发布原创作品,吾爱破解论坛因你更精彩.

YoungBai 发表于 2015-3-17 17:42

感谢分享.技术贴.
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: [.NET破解]x云系列软件破解及简单美化