Explorar o código

更新readme说明

JustryDeng %!s(int64=4) %!d(string=hai) anos
pai
achega
4e5b0264b9
Modificáronse 2 ficheiros con 144 adicións e 22 borrados
  1. 72 11
      README.en.md
  2. 72 11
      README.md

+ 72 - 11
README.en.md

@@ -1,12 +1,27 @@
-### <font face="幼圆"  color = "#F53B45">**郑重声明**</font>
+# 代码混淆之class-winter
 
-&emsp;&emsp;class-winter是本人在学习完[**class-final(v1.1.9)**](https://gitee.com/roseboy/classfinal) 后,仿照class-final进行编写的,整体思路与class-final一致,代码部分(约20%~30%)复用了class-final中的代码。可将class-winter看作是class-final的一个分支。
+- [代码混淆之class-winter](#代码混淆之class-winter)
+  - [<font  face="幼圆" color = "#3399EA" >功能与特性</font>](#font--face幼圆-color--3399ea-功能与特性font)
+  - [<font  face="幼圆" color = "#3399EA" >加密</font>](#font--face幼圆-color--3399ea-加密font)
+  - [<font  face="幼圆" color = "#3399EA" >加密参数</font>](#font--face幼圆-color--3399ea-加密参数font)
+  - [<font  face="幼圆" color = "#3399EA" >解密(启动)</font>](#font--face幼圆-color--3399ea-解密启动font)
+  - [<font  face="幼圆" color = "#3399EA" >解密参数</font>](#font--face幼圆-color--3399ea-解密参数font)
+  - [<font  face="幼圆" color = "#3399EA" >相关资料</font>](#font--face幼圆-color--3399ea-相关资料font)
+
+---
+
+<font face="幼圆"  color = "#F53B45">**郑重声明**</font>
+
+&emsp;&emsp;[**class-winter**](https://gitee.com/JustryDeng/class-winter) 是本人在学习完 [**class-final(v1.1.9)**](https://gitee.com/roseboy/classfinal) 后,仿照class-final进行编写的,部分思路与class-final一致。
+
+## <font  face="幼圆" color = "#3399EA" >功能与特性</font>
 
-### <font  face="幼圆" color = "#3399EA" >功能与特性</font>
 - 支持war加密。
-- 支持jar(普通jar+可执行jar)加密。
+- 支持jar(普通jar+可执行jar)加密。
+- 支持xml加密(掩耳盗铃版)。
+
+## <font  face="幼圆" color = "#3399EA" >加密</font>
 
-### <font  face="幼圆" color = "#3399EA" >加密</font>
 - #### <font face="幼圆" ><font face="幼圆"  color = "#86CA5E">**方式一**</font>:通过maven插件自动加密。</font>
   ```xml
   <!--
@@ -23,6 +38,9 @@
           <!-- <finalName></finalName>-->
           <includePrefix>加密范围</includePrefix>
           <!-- <excludePrefix></excludePrefix>-->
+          <!-- <includeXmlPrefix></includeXmlPrefix>-->
+          <!-- <excludePrefix></excludePrefix>-->
+          <!-- <toCleanXmlChildElementName></toCleanXmlChildElementName>-->
           <!-- <password></password>-->
           <!-- <includeLibs></includeLibs>-->
           <!-- <alreadyProtectedLibs></alreadyProtectedLibs>-->
@@ -42,7 +60,7 @@
   ```
   注:不必担心信息泄漏问题,使用此方式生成混淆的jar包时,会擦除pom.xml中关于class-winter-plugin的信息。
 
-- #### <font face="幼圆" ><font face="幼圆"  color = "#86CA5E">**方式二**</font>:通过[**class-winter-core.jar**](https://gitee.com/JustryDeng/class-winter/raw/master/class-winter-core/src/test/resources/class-winter-core-2.0.0.jar) 主动加密。</font>
+- #### <font face="幼圆" ><font face="幼圆"  color = "#86CA5E">**方式二**</font>:通过 [**class-winter-core.jar**](https://gitee.com/JustryDeng/class-winter/raw/master/class-winter-core/src/test/resources/class-winter-core-2.1.0.jar) 主动加密。</font>
 
   ```bash
   java -jar class-winter-core-${version}.jar originJarOrWar=${要加密的项目.jar或.war包} includePrefix=${加密范围} [k3=v3 k4=v4 ...]
@@ -53,7 +71,8 @@
   java -jar class-winter-core-${version}.jar k1="v1" k2="v2"
   ```
 
-### <font  face="幼圆" color = "#3399EA" >加密参数</font>
+## <font  face="幼圆" color = "#3399EA" >加密参数</font>
+
 <table>
   <tr align="center">
     <td>参数</td>
@@ -86,6 +105,39 @@ includePrefix=com,org</td>
 <br/>
 注:excludePrefix优先级高于includePrefix。</td>
     <td>excludePrefix=com.example.service,com.example.util.StrUtil.class</td>
+  </tr>
+      </tr>
+    <tr align="center">
+    <td>includeXmlPrefix</td>
+    <td>否</td>
+    <td>通过打出来的包中条目的entryName前缀匹配的形式定位要加密的xml
+    <br/>
+注:多个通过逗号分割。</td>
+    <td>includeXmlPrefix=BOOT-INF/classes/
+    <br/>
+includeXmlPrefix=BOOT-INF/classes/com/demo/mapper/,BOOT-INF/classes/com/demo/dao/</td>
+  </tr>
+  </tr>
+    <tr align="center">
+    <td>excludeXmlPrefix</td>
+    <td>否</td>
+    <td>通过打出来的包中条目的entryName前缀匹配的形式排除xml,不对其加密
+    <br/>
+注:多个通过逗号分割。</td>
+    <td>excludeXmlPrefix=BOOT-INF/classes/com/demo/mapper/
+    <br/>
+excludeXmlPrefix=BOOT-INF/classes/com/demo/mapper/,BOOT-INF/classes/com/demo/dao/UserDao.xml</td>
+  </tr>
+  </tr>
+    <tr align="center">
+    <td>toCleanXmlChildElementName</td>
+    <td>否</td>
+    <td>加密xml中的哪些一级元素
+    <br/>
+注:默认值为resultMap,sql,insert,update,delete,select
+    <br/>
+注:多个通过逗号分割。</td>
+    <td>toCleanXmlChildElementName=select,delete,resultMap</td>
   </tr>
     <tr align="center">
     <td>finalName</td>
@@ -129,7 +181,7 @@ includePrefix=com,org</td>
     <br/>
 alreadyProtectedLibs=a.jar,b.jar:pwd123
 <br/>
-alreadyProtectedLibs=a.jar:pwd1,b.jar:2</td>
+alreadyProtectedLibs=a.jar:pwd1,b.jar:pwd2</td>
   </tr>
     <tr align="center">
     <td>supportFile</td>
@@ -162,7 +214,9 @@ linux示例:tips='请不要直接使用混淆后的jar/war'</td>
 </table>
 
 
-### <font  face="幼圆" color = "#3399EA" >解密(启动)</font>
+
+## <font  face="幼圆" color = "#3399EA" >解密(启动)</font>
+
 通过-javaagent指定代理进行解密启动。
 - #### <font  face="幼圆" color = "#86CA5E" >jar解密(启动)</font>
   ```bash
@@ -218,7 +272,8 @@ linux示例:tips='请不要直接使用混淆后的jar/war'</td>
     set JAVA_OPTS="-javaagent:D:/class-winter-core-1.0.0.jar"
     ```
 
-### <font  face="幼圆" color = "#3399EA" >解密参数</font>
+## <font  face="幼圆" color = "#3399EA" >解密参数</font>
+
 <table>
   <tr align="center">
     <td>参数</td>
@@ -238,4 +293,10 @@ linux示例:tips='请不要直接使用混淆后的jar/war'</td>
     <td>是否开启debug模式</td>
     <td>debug=true</td>
   </tr>
-</table>
+</table>
+
+---
+
+## <font  face="幼圆" color = "#3399EA" >相关资料</font>
+
+- [官网](https://gitee.com/JustryDeng/class-winter)

+ 72 - 11
README.md

@@ -1,12 +1,27 @@
-### <font face="幼圆"  color = "#F53B45">**郑重声明**</font>
+# 代码混淆之class-winter
 
-&emsp;&emsp;class-winter是本人在学习完[**class-final(v1.1.9)**](https://gitee.com/roseboy/classfinal) 后,仿照class-final进行编写的,整体思路与class-final一致,代码部分(约20%~30%)复用了class-final中的代码。可将class-winter看作是class-final的一个分支。
+- [代码混淆之class-winter](#代码混淆之class-winter)
+  - [<font  face="幼圆" color = "#3399EA" >功能与特性</font>](#font--face幼圆-color--3399ea-功能与特性font)
+  - [<font  face="幼圆" color = "#3399EA" >加密</font>](#font--face幼圆-color--3399ea-加密font)
+  - [<font  face="幼圆" color = "#3399EA" >加密参数</font>](#font--face幼圆-color--3399ea-加密参数font)
+  - [<font  face="幼圆" color = "#3399EA" >解密(启动)</font>](#font--face幼圆-color--3399ea-解密启动font)
+  - [<font  face="幼圆" color = "#3399EA" >解密参数</font>](#font--face幼圆-color--3399ea-解密参数font)
+  - [<font  face="幼圆" color = "#3399EA" >相关资料</font>](#font--face幼圆-color--3399ea-相关资料font)
+
+---
+
+<font face="幼圆"  color = "#F53B45">**郑重声明**</font>
+
+&emsp;&emsp;[**class-winter**](https://gitee.com/JustryDeng/class-winter) 是本人在学习完 [**class-final(v1.1.9)**](https://gitee.com/roseboy/classfinal) 后,仿照class-final进行编写的,部分思路与class-final一致。
+
+## <font  face="幼圆" color = "#3399EA" >功能与特性</font>
 
-### <font  face="幼圆" color = "#3399EA" >功能与特性</font>
 - 支持war加密。
-- 支持jar(普通jar+可执行jar)加密。
+- 支持jar(普通jar+可执行jar)加密。
+- 支持xml加密(掩耳盗铃版)。
+
+## <font  face="幼圆" color = "#3399EA" >加密</font>
 
-### <font  face="幼圆" color = "#3399EA" >加密</font>
 - #### <font face="幼圆" ><font face="幼圆"  color = "#86CA5E">**方式一**</font>:通过maven插件自动加密。</font>
   ```xml
   <!--
@@ -23,6 +38,9 @@
           <!-- <finalName></finalName>-->
           <includePrefix>加密范围</includePrefix>
           <!-- <excludePrefix></excludePrefix>-->
+          <!-- <includeXmlPrefix></includeXmlPrefix>-->
+          <!-- <excludePrefix></excludePrefix>-->
+          <!-- <toCleanXmlChildElementName></toCleanXmlChildElementName>-->
           <!-- <password></password>-->
           <!-- <includeLibs></includeLibs>-->
           <!-- <alreadyProtectedLibs></alreadyProtectedLibs>-->
@@ -42,7 +60,7 @@
   ```
   注:不必担心信息泄漏问题,使用此方式生成混淆的jar包时,会擦除pom.xml中关于class-winter-plugin的信息。
 
-- #### <font face="幼圆" ><font face="幼圆"  color = "#86CA5E">**方式二**</font>:通过[**class-winter-core.jar**](https://gitee.com/JustryDeng/class-winter/raw/master/class-winter-core/src/test/resources/class-winter-core-2.0.0.jar) 主动加密。</font>
+- #### <font face="幼圆" ><font face="幼圆"  color = "#86CA5E">**方式二**</font>:通过 [**class-winter-core.jar**](https://gitee.com/JustryDeng/class-winter/raw/master/class-winter-core/src/test/resources/class-winter-core-2.1.0.jar) 主动加密。</font>
 
   ```bash
   java -jar class-winter-core-${version}.jar originJarOrWar=${要加密的项目.jar或.war包} includePrefix=${加密范围} [k3=v3 k4=v4 ...]
@@ -53,7 +71,8 @@
   java -jar class-winter-core-${version}.jar k1="v1" k2="v2"
   ```
 
-### <font  face="幼圆" color = "#3399EA" >加密参数</font>
+## <font  face="幼圆" color = "#3399EA" >加密参数</font>
+
 <table>
   <tr align="center">
     <td>参数</td>
@@ -86,6 +105,39 @@ includePrefix=com,org</td>
 <br/>
 注:excludePrefix优先级高于includePrefix。</td>
     <td>excludePrefix=com.example.service,com.example.util.StrUtil.class</td>
+  </tr>
+      </tr>
+    <tr align="center">
+    <td>includeXmlPrefix</td>
+    <td>否</td>
+    <td>通过打出来的包中条目的entryName前缀匹配的形式定位要加密的xml
+    <br/>
+注:多个通过逗号分割。</td>
+    <td>includeXmlPrefix=BOOT-INF/classes/
+    <br/>
+includeXmlPrefix=BOOT-INF/classes/com/demo/mapper/,BOOT-INF/classes/com/demo/dao/</td>
+  </tr>
+  </tr>
+    <tr align="center">
+    <td>excludeXmlPrefix</td>
+    <td>否</td>
+    <td>通过打出来的包中条目的entryName前缀匹配的形式排除xml,不对其加密
+    <br/>
+注:多个通过逗号分割。</td>
+    <td>excludeXmlPrefix=BOOT-INF/classes/com/demo/mapper/
+    <br/>
+excludeXmlPrefix=BOOT-INF/classes/com/demo/mapper/,BOOT-INF/classes/com/demo/dao/UserDao.xml</td>
+  </tr>
+  </tr>
+    <tr align="center">
+    <td>toCleanXmlChildElementName</td>
+    <td>否</td>
+    <td>加密xml中的哪些一级元素
+    <br/>
+注:默认值为resultMap,sql,insert,update,delete,select
+    <br/>
+注:多个通过逗号分割。</td>
+    <td>toCleanXmlChildElementName=select,delete,resultMap</td>
   </tr>
     <tr align="center">
     <td>finalName</td>
@@ -129,7 +181,7 @@ includePrefix=com,org</td>
     <br/>
 alreadyProtectedLibs=a.jar,b.jar:pwd123
 <br/>
-alreadyProtectedLibs=a.jar:pwd1,b.jar:2</td>
+alreadyProtectedLibs=a.jar:pwd1,b.jar:pwd2</td>
   </tr>
     <tr align="center">
     <td>supportFile</td>
@@ -162,7 +214,9 @@ linux示例:tips='请不要直接使用混淆后的jar/war'</td>
 </table>
 
 
-### <font  face="幼圆" color = "#3399EA" >解密(启动)</font>
+
+## <font  face="幼圆" color = "#3399EA" >解密(启动)</font>
+
 通过-javaagent指定代理进行解密启动。
 - #### <font  face="幼圆" color = "#86CA5E" >jar解密(启动)</font>
   ```bash
@@ -218,7 +272,8 @@ linux示例:tips='请不要直接使用混淆后的jar/war'</td>
     set JAVA_OPTS="-javaagent:D:/class-winter-core-1.0.0.jar"
     ```
 
-### <font  face="幼圆" color = "#3399EA" >解密参数</font>
+## <font  face="幼圆" color = "#3399EA" >解密参数</font>
+
 <table>
   <tr align="center">
     <td>参数</td>
@@ -238,4 +293,10 @@ linux示例:tips='请不要直接使用混淆后的jar/war'</td>
     <td>是否开启debug模式</td>
     <td>debug=true</td>
   </tr>
-</table>
+</table>
+
+---
+
+## <font  face="幼圆" color = "#3399EA" >相关资料</font>
+
+- [官网](https://gitee.com/JustryDeng/class-winter)