相关文件位于“tutorial/step10-expiry-date/files”目录下:
文件 | 说明 |
---|---|
test.jar | 鼠标手势demo的jar文件 |
config.xml | Allatori 配置文件 |
RunAllatori.bat | Allatori启动脚本 |
MouseGesturesOriginal.bat | 鼠标手势原始启动脚本 |
MouseGesturesObfuscated.bat | 混淆后的鼠标手势启动脚本 |
Clean.bat | 清空文件的脚本 |
mousegestures-1.2.jar | 鼠标手势类库 |
这里基于第二步修改配置文件:
<config>
<input>
<jar in="test.jar" out="obf-test.jar"/>
<jar in="mousegestures-1.2.jar" out="obf-mousegestures-1.2.jar"/>
</input>
<keep-names>
<class template="class *.TestFrame"/>
</keep-names>
<property name="log-file" value="log.xml"/>
<expiry date="2000/01/01" string="EXPIRED!"/> <!-- we set expiry date to January 01, 2000,
so the obfuscated application will be expired and would not run -->
</config>
混淆后的文件超时,不可运行。超时检查不仅修改了main方法,这使得跳过检查也不是很容易。这个特性能够使用在所有类库中,而不仅仅限于main方法。
如果你希望在构建后30天超时,你可以这么做:
<tstamp>
<format property="expiry.date" pattern="yyyy-MM-dd" offset="30" unit="day"/>
</tstamp>
这会在ant中根据你的需要创建一个日期
<expiry date="${expiry.date}" string="EXPIRED!"/>