• allatori8.0文档翻译-第一步-基本类库混淆


    第一步-基本类库混淆

    下面表格中的文件位于: tutorial/step01/files

    文件名说明
    test.jar鼠标手势demo的jar
    config.xmlAllatori 配置文件
    RunAllatori.batAllatori运行脚本
    MouseGesturesOriginal.bat运行原始的鼠标手势
    MouseGesturesObfuscated.bat运行混淆后的鼠标手势
    Clean.bat删除混淆过程生成的文件
    mousegestures-1.2.jar鼠标手势类库

    第一步,我们将混淆“鼠标手势”这个典型的类库,其中所有public API方法不会被重命名。所有使用“鼠标手势”这个类库的应用都可以使用混淆后的jar。当开发用于第三方产品的类库时,这种情况很常见。

    运行RunAllatori.bat会产生3个文件:obf-mousegestures-1.2.jarobf-test.jar是被混淆后的“鼠标手势”jars ,log.xml是混淆处理过程的日志文件。

    现在,你可以运行 MouseGesturesOriginal.batMouseGesturesObfuscated.bat 测试应用的原始版本以及混淆版本。请注意,Allatori 的演示版将 System.out 添加到混淆的应用程序中。

    让我们看看config.xml:

    <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 access="protected+">
                <field access="protected+"/>
                <method access="protected+"/>
            </class>
        </keep-names>
    
        <property name="log-file" value="log.xml"/>
    </config>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    “jars”的节点中定义了输入和输出的jar文件。如果输入输出使用的相同的文件名称,混淆后的jar文件会覆盖原始文件。

    在“ keep-names”节点定义的类、方法和成员名称不会被改变。当我们混淆类库时,通过将“access”属性设定为“protected+”,来公开所有外部可见的类。这意味着,所有“protected”、“public”的东西将保持名称不变。

    “log-file”属性定义日志文件的名字。如果你不需要混淆过程的日志,可以删除这个属性标签。关于日志文件的例子可以参考第8步

    执行Clean.bat会删除obf-mousegestures-1.2.jar*, obf-test.jar 以及 log.xml 三个文件.

  • 相关阅读:
    第八章 泛型
    MSF入门
    博途PLC和MATLAB矩阵运算存储方法对比
    @Autowired 到底是怎么把变量注入进来的?
    如何开启Win10虚拟机Hyper-V功能
    学生HTML个人网页作业作品 HTML+CSS校园环保(大学生环保网页设计与实现)
    Flutter开发之Package与Plugin
    Linux笔记 - - yum/git/gdb的使用
    .NET 云原生架构师训练营(权限系统 代码重构)--学习笔记
    Linux Cgroup v1(中文翻译)(2):CPUSETS
  • 原文地址:https://blog.csdn.net/jianxuan/article/details/125456523