热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

C#防反编译工具

链接:https:pan.baidu.coms1r6x_2aQQzKheXrNHZDCWyA提取码:w0brDotfuscator的定位:

链接:https://pan.baidu.com/s/1r6x_2aQQzKheXrNHZDCWyA
提取码:w0br                              


Dotfuscator的定位:                                     

        是一种用于doNet应用程序的开发后重编译系统,是一款功能强大的NET混淆器和压缩器。它可以混淆流程、密字符串、加入水印、程序签名等。


Dotfuscator的优点:

        增强了代码安全性?

        采用了最先进的反编译技术,可以有效的保护您的程序代码,防止您的应用程序被反编译。

        减小doNet程序的体积?

        Dotfuscator Professional Edition 分析应用程序并精确计算出您真正需要使用的应用程序部分。据此,它可以剥离出这部分,使您得到尽可能小的可执行文件。

        提高运行时性能?

        通过移除不需要的程序元素并将标识符重命名为短小的名称,Dotfuscator可切实提高程序运行速度。

防反编译之模糊处理:

模糊处理这种技术能够对程序几中的符号进行无痕迹可寻的重命名,dotfuscator还提供很多其他手段,从而阻止进行反编译。

       模糊处理(obfuscation)意在引起混淆。原始的模糊处理程序实质上是将在代码中找到的标识符重命名为不可读的内容。他们可能使用哈希技术,或者对字符集进行算术偏移,将字符变为不可读字符或不可输出字符。这些技术虽然表面上很有效,但是它是可逆的技术,因此很难起到保护作用。

        PreEmptive的模糊处理工具远远超过了这种原始的重命名方法,它使用很多其他颇具独创性的“引起混淆”的方法,使得几乎不可能对他人的知识产权进行反向处理。


模糊处理过程:

模糊处理这一过程应用于已编译的MSIL代码而不是应用源代码,理解这一点十分重要。开发环境和工具无需更改就可以适应重命名技术。源代码不会以任何方式被更改,甚至不会被读取。经过模糊处理的MSIL代码在功能上等效于传统的MSIL代码,它在公共语言运行库(CLR)上执行并产生与原始MSIL代码相同的结果。(但是,不能进行逆向操作。即使可能将经过高度模糊处理的MSIL进行反编译,和原始的源代码相比,它在语义上也有重大不同。)下图说明使用Dotfuscator进行模糊处理的流程。


Dotfuscator 4.9的使用过程:

1.打开Dotfuscator软件,选择Create New Project,然后点击OK。

2.点击如下图所示的文件夹图标。

3.点击Browse按钮选择要要加密的可执行文件(.exe),然后点击OK。

4.勾选需要混淆的文件,默认是全选。着重说下下图红色框中的这个选项,Library选项是对类名进行加密混淆,如果勾选它则对类名、方法名等进行混淆。

6.点击Settings选项,将Disable String Encryption选项改为No。(意思是对字符串进行加密)

7.选择Rename下的Options选项,将Use Enhanced Overload induction打勾,Renaming Scheme选Unprintable(不能打印的)。

8.点击String Encryption,选择要加密的文件,然后点击运行(绿色三角)。

9.如果你的项目是用的.Net Framwork4.0以上版本,运行后编辑就会不通过。

解决办法:

在Settings选项卡下的Project Properties选项

点击“Create New Property”,创建一个属性。依次添加

ILASM_v4.0.30319 

C:\Windows\Microsoft.NET\Framework\v4.0.30319\ilasm.exe(注意:我的ilasm.exe是在这个路径下,因个人安装位置而定)

再次点击“Create New Property”,创建一个属性。依次添加

ILDASM_v4.0.30319

C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\ildasm.exe(注意:我的ildasm.exe是在这个路径下,因个人安装位置而定)

添加好之后再次点击运行(绿色三角)就可以编辑了。如下图:

此时就可以在该文件夹下找到加密混淆后的可执行文件了。


我遇到过使用Dotfuscator打开可执行文件时的异常解决,如下图:

添加要混淆程序时报“Invalid Input Assembly”。startIndex不能大于字符串长度。

出现这个错误的原因因为我程序中对象名使用了中文。我在程序中将所有中文部分全部替换成英文就可以加载进来了,所以在程序设计时尽量不要使用中文作为程序部分。


推荐阅读
  • Cosmos生态系统为何迅速崛起,波卡作为跨链巨头应如何应对挑战?
    Cosmos生态系统为何迅速崛起,波卡作为跨链巨头应如何应对挑战? ... [详细]
  • 应用链时代,详解 Avalanche 与 Cosmos 的差异 ... [详细]
  • 过去查询Mysql的时候,都见3306对所有端口开放着,感觉不安全。netstat -anlp | grep mysqltcp 0&am ... [详细]
  • IOS Run loop详解
    为什么80%的码农都做不了架构师?转自http:blog.csdn.netztp800201articledetails9240913感谢作者分享Objecti ... [详细]
  • 本章介绍了TCP/IP协议族中的链路层,其主要功能是为IP模块发送和接收IP数据报。链路层还支持一些辅助性协议,如ARP。此外,本文详细探讨了不同类型的链路层技术及其应用。 ... [详细]
  • 本文详细介绍了MySQL数据库的基础语法与核心操作,涵盖从基础概念到具体应用的多个方面。首先,文章从基础知识入手,逐步深入到创建和修改数据表的操作。接着,详细讲解了如何进行数据的插入、更新与删除。在查询部分,不仅介绍了DISTINCT和LIMIT的使用方法,还探讨了排序、过滤和通配符的应用。此外,文章还涵盖了计算字段以及多种函数的使用,包括文本处理、日期和时间处理及数值处理等。通过这些内容,读者可以全面掌握MySQL数据库的核心操作技巧。 ... [详细]
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
  • 卓盟科技:动态资源加载技术的兼容性优化与升级 | Android 开发者案例分享
    随着游戏内容日益复杂,资源加载过程已不仅仅是简单的进度显示,而是连接玩家与开发者的桥梁。玩家对快速加载的需求越来越高,这意味着开发者需要不断优化和提升动态资源加载技术的兼容性和性能。卓盟科技通过一系列的技术创新,不仅提高了加载速度,还确保了不同设备和系统的兼容性,为用户提供更加流畅的游戏体验。 ... [详细]
  • 深入解析 Android 中 EditText 的 getLayoutParams 方法及其代码应用实例 ... [详细]
  • Android中将独立SO库封装进JAR包并实现SO库的加载与调用
    在Android开发中,将独立的SO库封装进JAR包并实现其加载与调用是一个常见的需求。本文详细介绍了如何将SO库嵌入到JAR包中,并确保在外部应用调用该JAR包时能够正确加载和使用这些SO库。通过这种方式,开发者可以更方便地管理和分发包含原生代码的库文件,提高开发效率和代码复用性。文章还探讨了常见的问题及其解决方案,帮助开发者避免在实际应用中遇到的坑。 ... [详细]
  • 微信平台通过盛派SDK(sdk.weixin.senparc.com)允许服务号和订阅号使用appId和token读取关注用户的个人信息。然而,这一过程需严格遵守隐私保护和数据安全的相关规定,确保用户数据的安全性和隐私性。 ... [详细]
  • 本文详细介绍了如何在Java Web服务器上部署音视频服务,并提供了完整的验证流程。以AnyChat为例,这是一款跨平台的音视频解决方案,广泛应用于需要实时音视频交互的项目中。通过具体的部署步骤和测试方法,确保了音视频服务的稳定性和可靠性。 ... [详细]
  • 在Android 4.4系统中,通过使用 `Intent` 对象并设置动作 `ACTION_GET_CONTENT` 或 `ACTION_OPEN_DOCUMENT`,可以从相册中选择图片并获取其路径。具体实现时,需要为 `Intent` 添加相应的类别,并处理返回的 Uri 以提取图片的文件路径。此方法适用于需要从用户相册中选择图片的应用场景,能够确保兼容性和用户体验。 ... [详细]
  • 解决Android应用在手机安装时出现安全风险提示的方法与对策
    解决Android应用在手机安装时出现安全风险提示的方法与对策 ... [详细]
author-avatar
伊雅曦1
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有