1)MaxtoCode(收费)加密后,Reflector不能反编译。轮贺宏
不知道现在是否支持加密dll文件。
2)XenoCode混淆器
类库混淆时,只选择私拍胡有方法进行混淆,应该可以编译使用的。
类库函数写法:
public int fn()//混淆后这个函数名不变,便于调用程序识别
{
return fnEx()
}
private int fnEx() //混淆后这个函数名及大部分的内容会编腊册码
{
return 100
}
若是涉及保密的算法,改用其它语言写DLL。
.Net软件特点,
些强
编译工具
.Net
执行文件进行反编译 *** 作,并
相应
IL代码甚至
即使
采用混淆工具
及强命名工具
能
根本
解决问题,代码依
容易
Reflectoer等工具反编译源代码
软件加密狗:威步(WIBU)
CodeMeter,AxProtector(for.net)两款软件加密狗性能非
错
反编译
问题,与传统
代码混淆工具(Obfuscator)
同,AxProtector
完全阻止
.NET
程序集(由
C#,
VB.NET,
Delphi.NET,
ASP.Net…
等语言编写)
反编译
通俗
讲,AxProtector
破解者
您
.NET
代码
间构建
强
防破解保护屏障,
基于
Windows
基于
MSIL
兼容格式文件
原始
.NET
代码完整
加密
封装
本
代码内,
论何
都
释放
硬盘,
于破扮伍解者
见
与单纯
.net加密软件
同,AxProtector与CodeMeter硬件加密狗配套餐使用,采用
更
严密
密钥管理,及
先进
AES、RSA、ECC等加密算
存储或传输密钥,保证通讯安全
.Net代码编译
.class
包含
源代码
所
信息(
包括注释),尤其
其
保存
调试信息
候
所
按照
式编译
.class
文件
非
轻易
反编译
般软件
发商
采用
种叫做混淆器
工具
混淆器
作用
编译
代码进行混淆,使
其
反编译或者反编译
代码混乱难懂
由于混淆器
混淆
名称或流程,
能防止源代码
反编译,
混淆器
作用
增加
反编译
难度,
终
结
治标
治本
于
些掌握工具
说几乎
透明
AxProtector
款真
意纳配义
加密源代码、防止反编译
.net软件加密软件
AxProtector加密
.net原代码,任何
候原代码都
能
原
硬盘
采用AxProtector加密
.net代码
程序调用或执行某
段函数
候,才能通
AxProtectorClass
内存
解密
返
程序
执行,运行
迅速立即加密厅茄或
种随机加密、按需解密原代码
功能,能
防止.Net程序
反编译,同
能够
防止API加密点
摘除
效
保证
源代码
执行效率
安全性
string text1 = "123456"//尘粗帆方法1:引用了System.Web程序集的使用方法。
string md5Result = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile( text1, "MD5"派雹 )
string sha1Result = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile( text1, "SHA1" )
//方法2:未引用System.Web
byte[] text1Bytes = System.Text.Encoding.UTF8.GetBytes( text1 )
MD5 md5 = MD5.Create()
byte[] md5Bytes = md5.ComputeHash( text1Bytes )
StringBuilder md5ResultBuilder = new StringBuilder( 32 )
for ( int i = 0i <md5Bytes.Lengthi++ )
{
md5ResultBuilder.AppendFormat( "{0:X2}", md5Bytes[ i ] )
}
string md5Result1 = md5ResultBuilder.ToString()
SHA1 sha1 = SHA1.Create()
byte[] sha1Bytes = sha1.ComputeHash( text1Bytes )
StringBuilder sha1ResultBuilder = new StringBuilder( 40 )
for ( int i = 0i <sha1Bytes.Lengthi++ )
{
sha1ResultBuilder.AppendFormat( "{0:X2}", sha1Bytes[ i ] )
}
string sha1Result1 = sha1ResultBuilder.ToString()
PS:Encoding 的命名空间是 System.Text
MD5和SHA1的命名空间是System.Security.Cryptography
MD5加密结果是凳余 128位,即16字节,转换成字符串,就是32个字符。
SHA加密结果是 160位,即20字节,转换成字符串,就是40个字符。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)