vs 中自带的代码混淆器 Dotfuscator (图)

研究了一下,确实可以起到一定的混淆代码作用。但是有几点需要注意一下:

1.未注册版本使用时不能混淆公共类库、公共方法等,所以使用时一些敏感的信息以及程序逻辑尽可能的现在 private 方法中。

2.需要选中“在库模式中运行所有程序集”

3.和第一条说的一样内容,混淆是必须把 public 类型的对象排除掉“选中排除”

4.还需要“保持命名空间”

 

这个混淆后的代码使用反编译工具仍然可以看到部分源码,只是 private 部分的名称都被混淆了,所以可以起到一定的加密作用。但是作用是非常有限的,下面的图片是混淆后的代码,大部分源码还是可以看到,但是变量被重命名了。

 

ContractedBlock.gif ExpandedBlockStart.gif 混淆前
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 反编译的源码抓图得来:

2008122610482213.gif

 

以上观点仅限于本人目前所掌握知识。

转载于:https://www.cnblogs.com/jarod99/archive/2008/12/25/1362486.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值