在国外论坛闲逛,无意间看到一个.NET 加密工具。看了官网的介绍,感觉挺有意思,于是下载下来研(破)究(解)了一番。

官网地址:http://www.infralution.com/products/dotnet_encryptor.html

破解版下载地址: https://pan.baidu.com/s/1kV1On23 密码: eqct

该软件以命令行方式执行,没有GUI图形界面,感兴趣的同学可以自行开发一个图形界面来使用。

运行界面如下:

红色框中是使用示例,值得注意的是,被加密的目标.NET程序集必须要有强名称(Strong Name)保护,不会的同学请Baidu ,Google.

工作原理:

1,将程序集以加密、压缩后以资源的形式内嵌到引导程序中
2,由引导程序调用C++.NET库进行资源解密并运行。

以下是官方描述,更多信息见官网

Why do I need code encryption?

Microsoft's .NET platform is a wonderful development environment. However the ease with which your compiled assemblies can be decompiled, using tools such as .NET Reflector, is disturbing if you value your Intellectual Property. Infralution .NET Encryptor provides a solution to this problem.

How does it work?

.NET Encryptor encrypts your application assemblies using your own unique strong name. The encrypted assemblies are added as embedded resources to a small "bootstrap" application project (written in VB.NET or C#). The bootstrap application displays a splash screen and calls the AssemblyLoaderx86 or AssemblyLoaderx64 DLL to decrypt and execute the main assembly of your application. The "bootstrap" project builds the application executable that you distribute to your customers. You can fully customize the assembly attributes (version, icon, name etc) and splash screen of the bootstrap application to match your requirements. The encryption process can be fully automated by adding a "Pre-build" event to the bootstrap project that calls NetEncryptor.exe to encrypt each of the application assemblies. The sample projects demonstrate this technique.

Is .NET Encryptor right for me?

If you are looking for a way of protecting your .NET code from decompilation without the hassles of obfuscation then .NET Encryptor may be the solution you are looking for.

.NET Encryptor is designed for protecting .NET desktop applications and associated assemblies. It does not protect ASP.NET apps or standalone .NET library assemblies that are not distributed as part of an application.

How is it different to other code protection products?

Unlike obfuscators and some protectors .NET Encryptor does not modify your assemblies. It encrypts them and then decrypts and loads them dynamically when your application is run. A major issue with obfuscators and other protectors is that code that relies on .NET Reflection (as much data binding and serialization code does) will often not work correctly or behave differently when protected. This means that often bugs will only show up after the code has been protected. Because the code is obfuscated/protected this can make debugging the source of the problem very difficult.

Many code protection products wrap your .NET assemblies up into a native Win32 bootstrap application. While this can seem like a good thing it actually has the potential to cause problems because the entry .NET assembly (returned by Assembly.GetEntryAssembly) may be null or not associated with a file location. This can cause code that relies on this (such as settings code or control licensing) to fail when the code is protected. Another issue with this approach is that you can not compile a single AnyCPU application that will run on both Win32 and Win64 platforms in the appropriate mode (ie 32 bit on Win32 platforms and 64 bit on Win64 platforms). Many protectors don't even support managed x64 applications at all. The entry point for .NET Encryptor applications is a small bootstrap assembly written in either VB.NET or C#. You can fully customize this bootstrap assembly as required for your application. You can create x86 specific applications (that will also run on Win64 platforms using WOW64), x64 specific applications or Any CPU applications.

When evaluating code protection software it is important to try it on your real application. Some code protection products that work well on small sample projects can cause major issues when used for real, complex applications that use data binding, serialization or reflection. In particular you should consider how the product handles error reporting. If you are using an obfuscator then, unless it provides a stack decryption mechanism, the stack trace will be meaningless.

How Secure is it?

All code encryption products are vulnerable to attack at the point at which the code is decrypted and executed. If a cracker is able to intercept your code at this point they can dump the unencrypted code. Infralution .NET Encryptor employs anti-debugging techniques to make this more difficult and prevent the use of generic cracking/dumping tools. Beware of code protection tools that promise 100% code security as there is simply no way to achieve this when the code is executed on a computer that you don't have control over. You may end up paying a lot more for a solution that offers no real increase in security.

.NET Encryptor can be used in conjunction with an obfuscator to provide a double layer of protection. In this case you would obfuscate your assemblies first and then encrypt them using .NET Encryptor.

分享一个.NET加密工具NetEncryptor v2.1.6(破解版)的更多相关文章

  1. 分享一个MD5加密工具类

    来自:http://blog.csdn.net/zranye/article/details/8234480 Es:http://blog.csdn.net/longxibendi/article/d ...

  2. Android 分享一个SharedPreferences的工具类,方便保存数据

    我们平常保存一些数据,都会用到SharedPreferences,他是保存在手机里面的,具体路径是data/data/你的包名/shared_prefs/保存的文件名.xml, SharedPrefe ...

  3. 分享一个JavaScript嗅探工具Tracker

    今天发现一个好用的JS侦测工具,实时监测JS代码的使用效率,运行状态等. 期待插件作者添加更好的功能. 运行效果 运行效果如下(我把它放到标签里了): 1.点击Tracker书签工具 2.选择查看选项 ...

  4. 分享一个php加密字符串类。

    class base64{ /** * 加密字符串 * @access static * @param string $data 字符串 * @param string $key 加密key * @r ...

  5. 分享一个js加密的几种方法

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. 分享一个14年写的用户管理类-swift版

    AccountManager类 14年设计,从swift 0.9开始,迭代到现在swift4.0版本,总体几乎没什么改动,简单稳定. 其实现的思路主要还是借助之前net反射的经验,实现了自动保存用户信 ...

  7. Windows系统重装工具 WinToHDD Enterprise v2.8 企业破解版

    WinToHDD 是一款实用的 Windows 系统硬盘安装工具,有点类似于NT6 HDD Installer,它能不依靠光驱和U盘,让你直接通过本机硬盘来新装.重装和克隆 Windows 系统,支持 ...

  8. Advanced Find and Replace(文件内容搜索替换工具)v7.8.1简体中文破解版

    Advanced Find and Replace是一款文件内容搜索工具,同时也是文件内容批量替换工具.支持通配符和正则表达式,方便快捷强大! 显示中文的方法:第二个菜单-Language-选 下载地 ...

  9. 带偏移量的AES加密工具

    自定义的一个对称加密工具类AESUtil.java public static final String ENCRYPTION_ALGORITHM = "AES"; public ...

随机推荐

  1. 201521123025《java程序设计》第11周学习总结

    1. 本周学习总结 2. 书面作业 Q1.互斥访问与同步访问 完成题集4-4(互斥访问)与4-5(同步访问) 1.1 除了使用synchronized修饰方法实现互斥同步访问,还有什么办法实现互斥同步 ...

  2. JAVA课程设计-计算器(201521123028 李家俊)

    1.团队课程设计博客链接 http://www.cnblogs.com/DevilRay/p/7064482.html 2.个人负责模板或任务说明 主要负责计算器图形界面 包括操作按钮,菜单项以及输出 ...

  3. 【干货篇】步步为营,带你轻松掌握jQuery!

    写在前面:经过系统的学习了原生JS之后,会发现其具有以下三个特点: 1.是一种解释性脚本语言(代码不进行预编译). 2.主要用来向 HTML 页面添加交互行为. 3.可以直接嵌入 HTML 页面,但写 ...

  4. SublimeTest3设置【中文乱码】

    SublimeTest出现乱码! 使用Ctrl+`快捷键或者通过View->Show Console菜单打开命令行,粘贴如下代码 import urllib.request,os; pf = ' ...

  5. JDBC操作数据库之批处理

    JDBC开发中,操作数据库需要和数据库建立连接,然后将要执行的SQL语句发送到数据库服务器,最后关闭数据库连接,都是按照这样的操做的,如果按照此流程要执行多条SQL语句,那么就要建立多个数据库连接,将 ...

  6. angular directive自定义指令

    先来看一下自定义指令的写法 app.directive('', ['', function(){ // Runs during compile return { // name: '', // pri ...

  7. vue 父组件向子组件传递事件/调用事件

    方法一:子组件监听父组件发送的方法 方法二:父组件调用子组件方法 子组件: export default { mounted: function () { this.$nextTick(functio ...

  8. Angularjs-Forms(表单)

    点击查看AngularJS系列目录 转载请注明出处:http://www.cnblogs.com/leosx/ Angular表单 input, select, textarea控件都是给用户输入数据 ...

  9. Redis介绍——Linux环境Redis安装全过程和遇到的问题及解决方案

    一:redis的入门介绍: 首先贴出官网; 英文:https://redis.io/ 中文:http://www.redis.cn/ 1.是什么 --REmote DIctionary Server( ...

  10. java集合系列——Map介绍(七)

    一.Map概述 0.前言 首先介绍Map集合,因为Set的实现类都是基于Map来实现的(如,HashSet是通过HashMap实现的,TreeSet是通过TreeMap实现的). 1:介绍 将键映射到 ...