zoukankan      html  css  js  c++  java
  • vs 中自带的代码混淆器 Dotfuscator (图)

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

    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 反编译的源码抓图得来:

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

  • 相关阅读:
    react项目如何调试?
    react使用引入svg的icon;svg图形制作
    react使用echarts
    SQL SEVER数据库重建索引的方法
    ThreadLocal的内存泄露
    ThreadLocal是否会引发内存泄露的分析 good
    深入分析 ThreadLocal 内存泄漏问题
    清理ThreadLocal
    线程池 Threadlocal 使用注意
    ThreadLocal对象使用过程中容易陷入的坑
  • 原文地址:https://www.cnblogs.com/jarod99/p/1362486.html
Copyright © 2011-2022 走看看