`
pcajax
  • 浏览: 2192995 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

如何保护.net中的dll文件(防破解、反编译)

阅读更多

.net是一种建立在虚拟机上执行的语言,它直接生成 MSIL 的中间语言,再由.net编译器 JIT 解释映象为本机代码并交付CPU执行。中间语言很容易被反编译,所以研究下如何有效的保护dll文件。

我大致的方法为 :强签名+混淆+加密。

强签名

强命名程序集,可以确保你的程序集唯一,而不被篡改、冒用等;即使相同名字的程序集如果签名也会不同。

强签名很简单,本站另一文章已经详细进行了讲解,请参考:http://www.cn-web.com/shtml/article/net/fxsj/2009/06/16/913.shtml

注:未签名的主程序可以引用已签名或未签名的程序集;而已签名的主程序不能引用未签名的程序集。(上述文章有相应解决办法)

混淆

混淆就是对编译生成的MSIL中间代码进行模糊处理,最简单的混淆是名称混淆,即将 命名空间名、类名、方法名、字段名等统统换成特殊符号或其它符号,目的就是让人看到晕为止,但是并不改变程序执行逻辑。

我这里使用的Dotfuscator进行混淆。

Dotfuscator混淆方法:

1.创建新工程;

2.选择要混淆的dll、exe文件;

3.在属性里选择Library属性(很重要,因为我这里要混淆的是dll文件,如果不选中,混淆后将不能被正确调用!),如下图所示:

4.选择bulid标签,点击bulid按钮进行混淆。

我们也可以选择其它标签进行加密字符串、增加水印等操作,我这里加密工作用另外的方法,所以没有选择操作。

OK,混淆完成后,我们可以用Reflector.exe来反编译下混淆后的dll文件,可以对比源码看下效果。

加密

接下来我们继续对混淆过的dll文件进行加密处理,进一步保护dll文件。

我使用的加密工具是MaxtoCode。

打开软件后,切换到中文,可以看到非常简单,添加上dll文件后,直接点击执行加密就可以。其他选项比如:加密字符串、强名称等都很简单,大家一试就知道,而且MaxtoCode的帮助做的非常友好,一看就会使用。

加密后的dll文件比先前大了一倍,用Reflector.exe反编译后,发现dll文件加密的更彻底,因为主体函数内容都隐藏了。

通过以上三步,使您的dll文件可免于一般人的破解,当然,不可能绝对防止被破解。

分享到:
评论

相关推荐

    ab-ch60.apk

    ab-ch60.apk

    基于SpringBoot的儿童性教育网站(源码+数据库)396

    儿童性教育网站,系统包含两种角色:管理员、用户,系统分为前台和后台两大模块,主要功能如下。 前台: 1. 首页:展示网站的概况和最新资讯。 2. 教育文章:提供儿童性教育相关的文章。 3. 交流论坛:提供用户间交流的平台。 4. 公告资讯:发布关于网站更新、活动通知等重要信息。 5. 留言板:用户可以留言交流,提出建议或反馈问题。 6. 个人中心:用户可以管理个人信息、查看自己的帖子和留言记录等。 后台: 1. 管理员个人中心:管理员可以管理个人信息,包括修改密码、查看个人资料等。 2. 用户管理:管理员可以对用户进行管理,包括查看用户列表、禁用用户等操作。 3. 文章分类管理:管理员可以管理文章的分类,包括新增、编辑、删除分类等。 4. 教育文章管理:管理员可以管理教育文章,包括发布、编辑、删除文章等。 5. 留言板:管理员可以查看用户留言,并进行回复和删除操作。 6. 交流论坛:管理员可以查看用户发布的帖子,进行删除、置顶等操作。 7. 系统管理:包括网站设置、日志管理等系统级别的管理功能。 二、项目技术 编程语言:Java 数据库:MySQL 项目管理工具:Maven 前

    最新更新!上市公司-供应链风险数据测算+dofile(2008-2023年)

    ## 介绍 A股上市公司企业供应链风险是指在企业运营过程中,由于供应链各环节的波动和不稳定,导致企业面临的生产、销售和财务风险。随着市场环境的变化,A股上市公司在全球化竞争中暴露出越来越多的供应链风险问题。 ## 一、A股上市公司企业供应链风险的介绍 A股上市公司企业供应链风险主要源自上下游供需关系的波动。随着市场需求的不确定性增加,企业在生产、库存和销售环节的风险逐步上升。 本分享数据集合2008-2023年5024家A股上市公司数据,共4.3万样本,为各位学者研究A股上市公司在供应链管理方面面临的风险变化提供数据支持。 ## 二、数据指标

    基于SpringBoot的企业员工薪酬关系系统(源码+数据库+万字文档)318

    企业员工薪酬关系系统,系统包含两种角色:管理员、用户,系统分为前台和后台两大模块,主要功能如下。 管理员: - 个人中心:管理员可以管理个人信息。 - 基础数据管理:管理员可以管理系统的基础数据。 - 公告管理:管理员可以发布公告。 - 留言管理:管理员可以查看所有的留言,并可以进行回复和删除留言。 - 员工管理:管理员可以对员工信息进行增加、编辑、删除等操作。 员工: - 个人中心:员工可以管理个人信息。 - 公告管理:员工可以查看所有公告。 - 留言管理:员工可以查看所有的留言。 - 薪资管理:员工可以查看自己的薪资信息。 二、项目技术 编程语言:Java 数据库:MySQL 项目管理工具:Maven 前端技术:Vue 后端技术:SpringBoot 三、运行环境 操作系统:Windows、macOS都可以 JDK版本:JDK1.8以上都可以 开发工具:IDEA、Ecplise、Myecplise都可以 数据库: MySQL5.7以上都可以 Maven:任意版本都可以

    最新更新!企业数字化转型对ESG表现的影响研究(2009-2023年)

    ## 介绍 文章利用我国沪深A股上市企业的数据分析了企业数字化转型对ESG表现的影响效应,并检验了投资者关注度在其中的调节作用。结果显示,企业进行数字化转型能够显著提升企业的ESG表现 参照戚琳琳(2024)的做法,对来自统计与决策《企业数字化转型对ESG表现的影响研究》一文中的基准回归部分进行复刻 ## 一、数据介绍 数据名称:企业数字化转型对ESG表现的影响研究 数据范围:A股上市公司 数据年份:2009-2023年 有效样本:4.2万条 数据说明:ESG表现用华证ESG年均值衡量,数字化转型采用MD&A词频的3种方式衡量 ## 二、数据指标

    人工智能产品经理的关键认知与发展路径详解及200页PPT分享

    内容概要:本文由一位拥有丰富经验的人工智能产品专家分享,在2小时、200页PPT的演讲中探讨了人工智能产品经理(AI PM)的工作职责及其重要性、如何从互联网PM转型到AI PM、以及对未来AI发展趋势的理解与思考。作者特别强调了AI PM作为目前AI行业中真正稀缺的角色,应该重点关注AI行业的时代背景、行业方向选择、应用场景的痛点把握及对话产品的用户体验等方面。文中提及了不少有关AI技术的知识和技术实现,并介绍了AI PM所需的能力模型和发展路径,并展望了AI的发展瓶颈和破局思路。此外,还列举了一系列与AI相关的参考书、公众号和电影。 适用人群:对人工智能产品设计有兴趣,尤其是考虑从事AI产品经理这一职业或已经从业的相关人士,同时也适合作为高校教师、研究生等学术界人士了解行业动态的重要资料。 使用场景及目标:① 帮助互联网PM或其他专业人士了解成为AI PM所需的技能转变和个人发展规划;② 向行业从业者展示最新技术和应用场景的变化趋势,提供前沿思维启发和技术见解;③ 提供详尽的教学指导材料,帮助学生深入理解人工智能背后的逻辑。 其他说明:文中附带了200页PPT的内容概述,对于想进一

    网络安全工程师第一次笔记

    网络安全工程师第一次笔记

    基于SpringBoot的当代中国获奖的知名作家信息管理系统(源码+数据库+万字文档)393

    当代中国获奖的知名作家信息管理系统,系统包含两种角色:管理员、用户,系统分为前台和后台两大模块,主要功能如下。 前台功能: - 首页:展示平台的概况、热门作家和作品等内容。 - 论坛:提供用户进行讨论和交流的平台。 - 公告:展示平台的最新公告和通知。 - 作家:展示当代中国获奖的知名作家的个人信息和作品列表。 - 作品:展示各位作家的作品信息和评论。 - 个人中心:用户可以管理个人信息、查看已发布的帖子、收藏作品等。 后台功能: 管理员: - 个人中心:管理个人信息和账户。 - 管理员管理:管理系统管理员账号,包括新增、编辑、删除管理员账号。 - 用户管理:管理用户账号,包括查看用户列表、禁用用户账号等操作。 - 作家管理:管理知名作家的信息,包括新增、编辑、删除作家信息。 - 作品管理:管理作家的作品信息,包括新增、编辑、删除作品信息。 - 论坛管理:管理论坛的帖子和评论,包括审核、删除帖子和评论等操作。 - 公告管理:管理平台的公告和通知,包括发布、编辑、删除公告等操作。 - 基础数据管理:管理系统的基础数据,例如作家类型、作品分类等信息。 - 轮播图管理:管理首页轮播图的展

    ASK调制FPGA实现仿真工程代码

    这里是用vivadi2020.2版本的,我也不是很会,互相学习吧。

    基于SpringBoot的大学生平时成绩量化管理系统(源码+数据库+万字文档)388

    大学生平时成绩量化管理系统,系统包含三种角色:管理员、教师、用户,系统分为前台和后台两大模块,主要功能如下。 前台功能: - 首页:展示系统的概况、热门课程、公告信息等内容。 - 论坛:提供用户间的交流和讨论平台。 - 课程资源:提供学生查看和下载课程相关的资源文件。 - 公告信息:展示与学生平时成绩量化管理相关的公告信息。 - 个人中心:学生个人信息管理、成绩查询等功能。 后台功能: 教师: - 个人中心:管理个人信息和账户。 - 学生管理:对学生信息进行管理,包括新增、编辑、删除等操作。 - 课程资源管理:上传、编辑和删除课程相关的资源文件。 - 教案信息管理:发布和管理教案信息,包括新增、编辑、删除等操作。 - 学生成绩管理:录入和管理学生成绩,支持成绩的查询和统计功能。 - 论坛管理:管理论坛的帖子和评论。 - 公告信息管理:发布和管理公告信息。 管理员: - 个人中心:管理个人信息和账户。 - 管理员管理:对系统中的管理员账号进行管理和权限设置。 - 教师管理:管理系统中的教师信息,包括新增、编辑、删除等操作。 - 学生管理:管理系统中的学生信息,包括新增、编辑、删

    基于深度学习的纽约出租车流量预测python源码+数据集.zip

    基于深度学习的纽约出租车流量预测python源码+数据集.zip

    深度学习 + 长短时记忆网络(LSTM)+ 自注意力机制、注意力机制、双层注意力机制 + 时间序列预测

    内容概要: 内容包括 3 个文件夹,`LSTM + CNN_SelfAttention` 、 `LSTM + 注意力机制` 、 `双层 LSTM` ,分别包含 LSTM 结合自注意力机制代码 + 数据、LSTM 结合注意力机制代码 + 数据、双 LSTM 代码 + 数据 适用人群: LSTM 学习者、深度学习学习者、时间序列预测学习者 使用场景及目标: 使用 LSTM 网络进行时间序列预测,并保存训练后的网络权重 其他说明: 程序需要至少 MATLAB 2023a 才能运行,其他的扩展包均已包含在文件中

    基于python使用Point Transformers复现点云分割任务,并使用HAQ算法进行自动量化压缩,几乎不影响精度+源码+项目文档(毕业设计&课程设计&项目开发)

    基于python使用Point Transformers复现点云分割任务,并使用HAQ算法进行自动量化压缩,几乎不影响精度+源码+项目文档,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用,详情见md文档 基于python使用Point Transformers复现点云分割任务,并使用HAQ算法进行自动量化压缩,几乎不影响精度+源码+项目文档,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用,详情见md文档 基于python使用Point Transformers复现点云分割任务,并使用HAQ算法进行自动量化压缩,几乎不影响精度+源码+项目文档,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用,详情见md文档~

    52-图解分布式训练(八)—— ZeRO 学习.pdf

    面试题关注有更多资源,私信免费的

    奔图P3305固件P3305DN固件

    解决间歇性不上纸

    Delphi 12.3控件之unidac-10.4.0-d29pro.exe

    unidac_10.4.0_d29pro.exe

    基于SpringBoot的校园外卖服务系统(源码+数据库+万字文档)333

    校园外卖服务系统,系统包含两种角色:管理员、用户,系统分为前台和后台两大模块,主要功能如下。 前台: 首页:展示校园外卖服务系统的相关内容。 公告信息:展示校园内外卖服务的公告信息。 外卖:浏览并订购外卖,包括浏览菜单、添加到购物车等操作。 个人中心:管理个人信息,包括订单记录、个人设置等。 购物车:管理用户选购的商品,包括添加、删除、结算等操作。 后台(管理员): 个人中心:管理个人信息。 基础数据管理:管理系统中的基础数据。 公告信息管理:管理外卖服务的公告信息。 外卖管理:管理外卖信息,包括菜品管理、商家管理等操作。 用户管理:管理用户账号信息。 轮播图信息:管理系统的轮播图信息,包括添加、编辑、删除等操作。 用户后台: 个人中心:用户可以查看和管理个人信息,包括订单记录、个人设置等。 公告信息管理:用户可以查看系统发布的公告信息。 外卖管理:用户可以查看外卖菜单,管理收货地址。

    MCS-51单片机硬件结构20140213.pptx

    MCS-51单片机硬件结构20140213.pptx

    企业局域网(RIP,OSPF)

    企业局域网配置路由器,交换机,服务器

Global site tag (gtag.js) - Google Analytics