0

我使用 .net reactor 混淆了我的应用程序。除了在通过 log4net 创建的日志文件中的某些地方方法名称作为随机字符串出现之外,应用程序运行良好。奇怪的是,在相同的方法中,不同的日志会出现不同的行为。有些带有实际的方法名称,而另一些带有随机的方法名称。例如,

我的 log4net 附加程序是

<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender" >
    <file value="..\\Logs\\MyApp_N1" />
    <encoding value="utf-8" />
    <appendToFile value="true" />
    <datePattern value="_yyyyMMdd'.log'" />
    <staticLogFileName value="false" />
    <rollingStyle value="Composite"/>
    <maxSizeRollBackups value="-1"/>
    <maximumFileSize value="10MB"/>
    <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
    <filter type="log4net.Filter.LevelRangeFilter">
      <acceptOnMatch value="true" />
      <levelMin value="DEBUG" />
      <levelMax value="FATAL" />
    </filter>
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%d{yyyy-MM-dd HH:mm:ss.fff}&#9;%p&#9;MyApp&#9;N1&#9;%t&#9;%c{1}.%M&#9;%property{SessionId}&#9;%m%n" />
    </layout>
  </appender>

log4net 版本 2.0.8 .net 反应器版本 5.0

示例日志消息是

2017-12-08 15:17:33.722 调试 TWS N1 13 MyclassName.SendMessage 我的方法开始

2017-12-08 15:17:33.840 调试 TWS N1 13 MyclassName.urT1VHsGarQ1gTcc8O 消息请求添加到 db id =166364

2017-12-08 15:17:33.852 调试 TWS N1 13 MyclassName.SendMessage 消息服务 - 发送结束

4

1 回答 1

0

如果方法 'urT1VHsGarQ1gTcc8O' 不是公共方法,那么这是预期的输出。

要混淆所有公共类和方法,您需要将“2. Protection Settings”->“Obfuscation”->“Obfuscate Public Types”设置为“True”。

于 2020-11-12T16:20:37.447 回答