头几篇文章似乎有点划水,最近项目考虑到软件安全性,于是自己尝试了一下反编译公司软件,居然成功了,中间踩了一些坑,看到网上很多博文都是复制粘贴,还缺少步骤,因而写下这篇博客。

.net reflector是一款很强大的反编译工具,只限于.NET平台的反编译,这里安装及破解过程跳过,直接从破解软件的步骤开始吧,这里我安装的版本是8.3.3.115,安装后左边程序集列表中,会默认添加一些.NET基础程序集。同时,我们选择反编译版本为.NET4.0。

1.首先打开.net reflector,如果是绿色版,直接导入所有exe和dll。如果是软件安装压缩包的话,那么需要先解压后安装,并找到安装路径,再导入所有关联exe和dll。

2.导入成功后将看到左边列表中,已存在刚刚导入的exe和dll程序集,如下图。这里注意必须导入该软件所有程序集,不然后面会出现"不明确的匹配项"错误,这个错误,一定是因为缺少关联的程序集。

3.鉴于上面提到的注意事项,这里有必要查看该软件的程序集引用,所以我们展开References,查看里面引用到的程序集是否在左边列表都存在,如下图。这里提一点,我最初没有这步骤,导致一直报“不明确匹配”错误,后来才知道,还差一些基础程序集。一对比发现少System.configuration.dll没有添加到列表中,这个在基础程序集在.net reflector安装后,并没有默认添加进来,于是手动添加。

4.导入并检查完程序集后,鼠标右键选中程序所在程序集,然后选择“Export Source Code”导出代码,如下图,选择文件夹即可开始导出代码。

5.导出代码成功后,将弹出提示框,告知0个错误,这说明我们的代码已经反编译成功了,如下图。

6.打开我们导出代码的文件夹,看到带出代码文件,如下图。里面Client文件夹下的代码文件,才是真正的原代码,AssemblyInfo.cs和Global.cs里面是有关程序集和全局信息,这里可以删除,因为Client里面在添加到项目后,包含有此信息,会冲突,如果不删除,提示冲突代码行再删除也可以。另外,这么多.resoources后缀的文件是什么呢,其实是资源文件,二进制的,需要我们将其转换为图片文件。

7.打开cmd命令行窗口,进入,C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools目录,然后用目录下的resgen.exe将上面的.resoources文件转换为.resx文件,这种类型的文件才是我们项目,用vs编译器打开时需要的资源文件。cmd命令格式: resgen “*.resources”“*.resx”,注意不要忘记加“”号,我看很多网友不知哪里copy的,好多都没有加“”导致转换不成功。

8.资源文件转换成功后,将其放到Client下的WinForm文件夹下,总之跟窗体代码文件同级。然后vs新建一个项目,导入刚刚反编译项目,设为启动项。这个时候如果编译项目的话会失败,还需要做一些后续操作。将刚刚的窗体文件先卸载,然后重新包括到项目中,这时资源文件可以在编译器中显示出来了。还需要将InitializeComponent方法中的对象manager替换为resources,以便编译时代码找得到上面的资源文件。

       9.对于个别涉及全局资源的窗体,如果还是找不到资源文件的话,报错:System.Resources.MissingManifestResourceException:未能找到任何适合于指定的区域性或非特定区域性的资源。请确保在编译时已将“xxxx.Properties.Resources.resources”正确嵌入或链接到程序集“xxxx”,或者确保所有需要的附属程序集都可加载并已进行了完全签名。

可以在编译器中打开资源文件,另存为图片,然后鼠标右击项目属性,找到“资源”,添加项目资源,将刚刚另存为的图片添加进来,替换原来的全局资源文件,如下图。然后项目下就有了Resources.resx文件,以及Resources文件夹下的图片。

10.最后,由于这个版本对属性的反编译还不够完善,存在bug。形如private Encoding <Encoding>k__BackingField需要修改为private Encoding _Encoding即可,如果是属性中存在<Encoding>k__BackingField字样,直接改为属性设置,去掉该变量就是。枚举类是不能反编译成功的,所以有些地方整数类型,需要你强制转换成枚举类型,不然编译无法通过。另外,有些窗体InitializeComponent方法中,属性的设置也需要修改,需要添加“System.Windows.Forms.”,不然找不到该属性值变量。至于是哪一行需要添加,在编译器中打开窗体界面类,设计视图会提示哪些行报错,单击后跳转,添加即可。还有反编译的项目默认为2.0版本,需要你选中项目,找到“生成”,更改其版本,以使整个项目的编译版本一致。

11.操作完以上步骤后,大功告成,编译运行,成功!由于是公司项目,这里我就不截图了。至此,你可以根据源代码进行修改,发步破解版了。例如,我就去掉了注册权限验证的那部分代码,从而可以直接运行于本机上。

.net reflector反编译破解软件相关推荐

  1. NET程序集反编译/破解

    NET程序集反编译/破解 作者: Tomex Ou .NET程序在执行时,会先编译成中介语言IL,再转成Native执行,因此中间IL阶段就很容易被反编译,甚至修改后达到程序破解目的.您可以参考文献# ...

  2. 弥补Reflector反编译对中文支持的不足

    Reflector是我目前用的最多的反编译工具,他可能不时最好的,但以它的更新速度,我相信他会成为最好的哦~~     国外的软件,对中文支持还是有问题,虽然我们都Unicode了,可是老外还是不一定 ...

  3. 共享一个对Reflector 反编译支持中文的修正FileGenerator文件

    共享一个对Reflector 反编译支持中文的修正FileGenerator文件 文件生成插件 转载于:https://www.cnblogs.com/LifelongLearning/archive ...

  4. 【原创】用 Python 反编译 Python 软件

    [原创]用 Python 反编译 Python 软件 标 题: [原创]用 Python 反编译 Python 软件 作 者: Ptero 时 间: 2010-04-21,16:28:27 链 接: ...

  5. Unity3d 反编译破解游戏 简单示例 使用ildasm反编译DLL修改然后重新编译DLL

    因为这几天碰到一个Unity的Bug,不得不去反编译DLL看看C#代码的生成中间件代码.这也用到了一些反编译以及重新编译DLL的一些知识,意味到Unity是如此的不安全. 首先我们新建一个工程,创建一 ...

  6. Reflector反编译winform心得

    Reflactor就不介绍了,.net下的免费反编译工具.Reflactor在某些情况下是很必须的,当遇到bug的时候,可以通过Reflactor看其内部的实现机制,从而找到真正的bug所在.或者可以 ...

  7. .NET Reflector反编译的方法

    首先启动.NET Reflector,然后添加进入dll或exe.然后选择Export Source Code...,将反编译后的代码文件,生成到指定目录. 到这一步骤时,稍等一会,就能够在指定目录就 ...

  8. 文件签名魔塔50层android反编译破解

    发一下牢骚和主题无关: 缘由:该游戏作者有点可爱,原来就是拿别人的游戏,还在游戏中参加积分的轨制,打到20层后,需要积分.看不惯,就把它破解了,打到20层后,直接跳过要积分进程. 本文不提供破解后的安 ...

  9. 恢复Reflector反编译后资源文件的办法

    反编译问题: 1.路径问题:如果遇到了Path.Combine,有错误改下即可 2.资源文件问题: 在Reflector下,对左边的资源管理窗口的Resources文件夹下的资源文件,进行右键点击,选 ...

  10. 反编译exe软件_【娱乐向】exe逆向工程(破译《游戏开发课》老师的成绩程序)...

    第一幕 我们的游戏老师有一个自己的网站,他很喜欢在他网站上发布各种各样的消息,也包括我们的成绩. 我们第一次小测的成绩他就放了一个链接,链接里面是个exe文件,只要你输入了你的学号,就可以查到你的成绩 ...

最新文章

  1. 激光标记舱口轮廓生成_宣城国产圆管激光切割机-利晟激光
  2. python中数字是常量吗,【python】常量与变量
  3. Spark SQL 1.x之Hive Context
  4. 中set无效是怎么回事_一起认识下,那些我们应该知道的mysql中的变量知识点
  5. 关于C语言中的'\?'和%%
  6. 华为鸿蒙电脑操作系统测试版,华为鸿蒙测试版下载 华为鸿蒙测试版电脑版下载...
  7. 吴恩达深度学习 —— 2.18(选修)逻辑回归损失函数的解释
  8. 亚马逊云科技张文翊:云让初创公司不输在起跑线上
  9. RecycleView添加适配器的监听事件
  10. 科普web前端开发如何学习,图文全面解析
  11. ucc编译器(优化)
  12. 安卓EventBus的使用方法
  13. java反射机制面试_java反射机制面试题及答案整理,java反射面试题
  14. java计算器模拟程序_模拟计算器java程序
  15. matlab编制刚度矩阵,单元刚度矩阵MATLAB编程.docx
  16. 软件工程教程:第7章软件维护 课后习题
  17. 交通流量预测数据集解读
  18. 怎么格式化云服务器,云服务器磁盘怎么格式化
  19. 【SearchString Algorithm Training】谭爷剪花布条
  20. 用户登录 默认 计算机 用户文件,guest登录系统默认禁止guest访问本地计算机(组图)...

热门文章

  1. 在对HDFS格式化,执行hadoop namenode -format命令时
  2. flyaway mysql_graylog2.3日志服务器
  3. 李华明Himi 游戏开发
  4. 你好Linux!第一篇——Linux的前世今生和应用
  5. MySQL 权限操作
  6. 调整report_timing输出格式
  7. Widows下通过CMD创建磁盘
  8. 公告模块phpcms
  9. 高性能JSON框架之FastJson的简单使用
  10. Android手游3d模型导出,楚留香手游3D模型怎么提取 提取教程