Allatori代碼混淆
這個是下載的allatori包


Clean.bat用來清除混淆后生成的jar包和日志檔案,
config.xml是主要的組態檔,用來配置代碼混淆的格式,
mousegestures-1.2.jar是要混淆的jar包檔案,
MouseGesturesObfuscated.bat用來啟動混淆后的jar包檔案,
MouseGesturesOriginal.bat用來啟動混淆前的jar包檔案
RunAllatori.bat用來執行混淆的啟動工具
test.jar未混淆的jar包
混淆代碼介紹
主要是來配置config.xml檔案,

input標簽中來配置我們的jar包,這里我把我的jar包名字改為test.jar,因為我們就混淆這個jar包,所以就把下邊的那個jar標簽注釋掉,

<keep-names>
<!-- 防止部分類、方法、變數找不到名稱而報錯 -->
<!-- 所有方法名稱不變,parameters="keep"表示方法引數名也不變 -->
<method template="*(**)" parameters="keep"/>
<!-- com.a.b.c中的類以及其子包中的類的名稱不變 -->
<class template="class com.zjzh.*"/>
</keep-names>
keep-names標簽用來配置我們要混淆的檔案的包名和類名等的格式(這里大家可以到官方檔案看一下比較全的符合大家需要的標簽,官方檔案地址為:http://www.allatori.com/doc.html ),因為我們公司的專案只需要混淆代碼部分所以我就這樣子配置了,

<ignore-classes>
<class template="class *Application*"/>
<class template="class *springframework*"/>
<class template="class *alibaba*"/>
<class template="class *apache*"/>
<class template="class *PacketCesiumWriter*" />
<class template="class *postgresql*" />
<!-- 排除如下兩個包下的類 -->
<class template="class *security*" />
</ignore-classes>
ignore-classes標簽用來排除不需要混淆的類,這里我把dao層model層排除掉主要是因為報錯,大家的配置類如果報找不到bean錯誤可以試試排除掉配置類,(我就是這樣干的嘻嘻),

<classpath >
<jar name="lib/*.jar"/>
</classpath>
<property name="log-file" value="log.xml"/>
這兩個標簽分別用來引入依賴的jar和生成日志檔案,在日志檔案中可以看到混淆時報的錯誤,我這里就報的class not fount錯誤,所以使用了classpath標簽,

lib目錄中存依賴的jar,我這里存的springboot打成jar包后,jar包目錄中的所有依賴的jar檔案,
到這里就結束了,順便說一下我成功的混淆了代碼(經理很高興,,,)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/233107.html
標籤:其他
上一篇:柵欄凱撒與手機的鍵位加密
