vs 中自带的代码混淆器 Dotfuscator (图)
2008-12-25 17:36
501 查看
研究了一下,确实可以起到一定的混淆代码作用。但是有几点需要注意一下:
1.未注册版本使用时不能混淆公共类库、公共方法等,所以使用时一些敏感的信息以及程序逻辑尽可能的现在 private 方法中。
2.需要选中“在库模式中运行所有程序集”
3.和第一条说的一样内容,混淆是必须把 public 类型的对象排除掉“选中排除”
4.还需要“保持命名空间”
这个混淆后的代码使用反编译工具仍然可以看到部分源码,只是 private 部分的名称都被混淆了,所以可以起到一定的加密作用。但是作用是非常有限的,下面的图片是混淆后的代码,大部分源码还是可以看到,但是变量被重命名了。
混淆前
Imports System.Data
Imports DataTier
Imports DataTier.vDataType
Public Class bView
Function bViewToDT(ByVal vt() As viewType) As DataTable
'将留言类型转换为 DataTable
Dim dt As New DataTable
Dim cName() As String = {"vid", "vuser", "vtime", "vcon", "vip", "vverify", "vicon", "vemail"}
For i As Byte = 0 To cName.Length - 1
If cName(i) = "vtime" Then
dt.Columns.Add(cName(i), System.Type.GetType("System.DateTime"))
Else
dt.Columns.Add(cName(i))
End If
Next
Try
For ii As Byte = 0 To vt.Length - 1
Dim dr As DataRow = dt.NewRow
dr("vid") = vt(ii).vid
dr("vuser") = vt(ii).vuser
dr("vtime") = vt(ii).vtime
dr("vcon") = vt(ii).vcon
dr("vverify") = vt(ii).vverify
dr("vip") = vt(ii).vip
dr("vicon") = vt(ii).vicon
dr("vemail") = vt(ii).vemail
dt.Rows.Add(dr)
Next
Catch ex As Exception
End Try
Return dt
End Function
End Class
后面这个图片是使用 reflector 反编译的源码抓图得来:
以上观点仅限于本人目前所掌握知识。
1.未注册版本使用时不能混淆公共类库、公共方法等,所以使用时一些敏感的信息以及程序逻辑尽可能的现在 private 方法中。
2.需要选中“在库模式中运行所有程序集”
3.和第一条说的一样内容,混淆是必须把 public 类型的对象排除掉“选中排除”
4.还需要“保持命名空间”
这个混淆后的代码使用反编译工具仍然可以看到部分源码,只是 private 部分的名称都被混淆了,所以可以起到一定的加密作用。但是作用是非常有限的,下面的图片是混淆后的代码,大部分源码还是可以看到,但是变量被重命名了。
混淆前
Imports System.Data
Imports DataTier
Imports DataTier.vDataType
Public Class bView
Function bViewToDT(ByVal vt() As viewType) As DataTable
'将留言类型转换为 DataTable
Dim dt As New DataTable
Dim cName() As String = {"vid", "vuser", "vtime", "vcon", "vip", "vverify", "vicon", "vemail"}
For i As Byte = 0 To cName.Length - 1
If cName(i) = "vtime" Then
dt.Columns.Add(cName(i), System.Type.GetType("System.DateTime"))
Else
dt.Columns.Add(cName(i))
End If
Next
Try
For ii As Byte = 0 To vt.Length - 1
Dim dr As DataRow = dt.NewRow
dr("vid") = vt(ii).vid
dr("vuser") = vt(ii).vuser
dr("vtime") = vt(ii).vtime
dr("vcon") = vt(ii).vcon
dr("vverify") = vt(ii).vverify
dr("vip") = vt(ii).vip
dr("vicon") = vt(ii).vicon
dr("vemail") = vt(ii).vemail
dt.Rows.Add(dr)
Next
Catch ex As Exception
End Try
Return dt
End Function
End Class
后面这个图片是使用 reflector 反编译的源码抓图得来:
以上观点仅限于本人目前所掌握知识。
相关文章推荐
- 使用VS2013自带的PreEmptive Dotfuscator and Analytis来混淆C#代码
- 使用VS2013自带的PreEmptive Dotfuscator and Analytis来混淆C#代码
- 利用VS自带的dotfuscator混淆代码的学习
- 使用VS2013自带的PreEmptive Dotfuscator and Analytis来混淆C#代码
- 使用VS2013自带的PreEmptive Dotfuscator and Analytis来混淆C#代码
- 使用VS2012自带的Dotfuscator工具对C#代码进行混淆
- VS自带代码混淆器DotFuscator的使用步骤
- VS自带代码混淆器DotFuscator的使用步骤
- 用VS自带的dotfuscator.exe对exe或dll进行简单加密 以保护程序源码
- C#使用Dotfuscator混淆代码的加密方法
- 使用VS自带的混淆器(dotfuscator)防止你的程序被反编译
- 根据错误代码使用VS自带的errlook.exe查看错误信息及常见错误信息代码含义总结
- .NET代码混淆控件Dotfuscator检测篡改
- 使用Dotfuscator代码混淆工具给unity工程加密 (给dll做代码混淆处理)
- 用VS自带的dotfuscator.exe对exe或dll进行简单加密 以保护程序源码
- dotfuscator.exe-VS2005自带的代码混淆器
- C#使用Dotfuscator混淆代码以及加密
- 对调用了TypeMock.net的代码进行调试遇到的怪问题--在vs.net中启动resharper自带的unit test的过程和方式是什么样的?
- vs自带代码分析,帮助改善代码
- Dotfuscator可以实现混淆代码、变量名修改、字符串加密