.net控件的破解
来源:互联网 发布:淘宝有趣的收货人名字 编辑:程序博客网 时间:2024/05/05 00:09
前言:前段时间寻找制作漂亮.net界面的方法,无意中发现一个皮肤dll:DotNetSkin.DLL,在一个网站上有它的破解文件,但是需要付费成为会员才能下载,象我这种穷人当然不肯花这钱,还不如自己破解.
第一次破.net程序,先准备好Reflector,ildasm,ilasm等工具,pediy里面介绍了几款不错的工具可惜都要工作在.net Frame2.0下面,而我一直都在用1.1写东西没装.net 2.0所以只能先用上述工具先凑合
分析这个dll,把时间调了好像没时间限制,控件里面有个Caption属性,当设置为true时,它就用自带的图片当作程序title,如果设置为flase,启动的时候就有个MessageBox的nag来提示你.先用Reflector来查看,发现代码已经混淆过了,不过仔细找,会发现有Caption属性
public void set_Caption(bool value){ this.x3909a0d091787c80 = value; if (!this.x3909a0d091787c80 && !base.DesignMode) { MessageBox.Show("This is DotNetSkin Demo!", "DontNetSkin", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); }}
但是这代码对应的hex在哪找呢,把代码切换成IL模式
.method public hidebysig specialname instance void set_Caption(bool value) cil managed{ .maxstack 8 L_0000: ldarg.0 L_0001: ldarg.1 L_0002: stfld bool DotNetSkin.SkinUI::x3909a0d091787c80 L_0007: ldarg.0 L_0008: ldfld bool DotNetSkin.SkinUI::x3909a0d091787c80 L_000d: brtrue.s L_002a L_000f: ldarg.0 L_0010: call instance bool [System]System.ComponentModel.Component::get_DesignMode() L_0015: brtrue.s L_002a L_0017: ldstr "This is DotNetSkin Demo!" L_001c: ldstr "DontNetSkin" L_0021: ldc.i4.0 L_0022: ldc.i4.s 48 L_0024: call [System.Windows.Forms]System.Windows.Forms.DialogResult [System.Windows.Forms]System.Windows.Forms.MessageBox::Show(string, string, [System.Windows.Forms]System.Windows.Forms.MessageBoxButtons, [System.Windows.Forms]System.Windows.Forms.MessageBoxIcon) L_0029: pop L_002a: ret }
鼠标移上去可以看到对应指令的机器码,但是指令并不是全连续的,中间又不知道用什么填充....,最后用UE智能加手工搜索了半天终于确定了代码位置在b660h处,本想简单的去掉,可是又不知道IL对应的NOP的机器码是多少........改了半天都未能成立,看来修改二进制代码的路走不通啊...
无意间又用ildasm反编译了一次,这次发现里面有个功能转储,试一下,导出了一个il文件一个res文件和若干图片文件,在il文件里面找到set_caption属性代码,修改为
.method public hidebysig specialname
instance void set_Caption(bool 'value') cil managed
{
// 代码大小 43 (0x2b)
.maxstack 8
IL_0000: ldarg.0
IL_0001: ldarg.1
IL_0002: stfld bool DotNetSkin.SkinUI::x3909a0d091787c80
IL_002a: ret
} // end of method SkinUI::set_Caption
然后再用.net自带的ilasm编译一下成功:),替换原来logo一式,已经没有MessageBox的nag了呵呵
看来.net的破解麻烦再于找到了代码位置却不知道如何修改,容易再于可以把他先变成中间语言修改后在重新编译.
- .net控件的破解
- net控件的破解
- 流金的碎月 - .NET控件破解
- .Net控件另类伟破解
- .net 程序的破解
- 【求勿删】【求助!!!】如何破解.net的viewerstate??如何将隐藏的服务器控件显示出来
- DotnetCharting控件的破解方法
- DotnetCharting控件的破解方法
- C1控件的破解步骤
- asp.net版的eWebEditor v4.6 完整破解,带控件版
- 破解NET的四大神器
- .net 破解的几个常用工具
- 破解NET的四大神器
- 破解NET的四大神器
- 破解NET的四大神器
- 最近破解的DotNet控件整理
- .net 的TreeView控件
- .net 的TreeView控件
- SCN
- 一种通过注册表简便修改IE代理服务器的方法
- 专访著名企业博客斯考伯:如何把博客写得更棒
- Linux系统下USB摄像头驱动开发
- 这是我第一篇文章,想问个关于java客户/服务器Socket的问题。
- .net控件的破解
- 软件测试在职人员问卷---来自智联招聘网--职业生涯--职场调查
- Linux下PCI设备驱动开发
- 英语学习网址收集
- Think in java读书笔记
- 《Web性能测试实战 》互动出版网总销售排行冲入前10名。
- 基于嵌入式Linux与S3C2410平台视频采集
- VC从注册表读取系统所有文件类型
- 搜索引擎定向广告策略--以百度为例