Sco*_*ain 6 java obfuscation abstract-syntax-tree deobfuscation
我正在编写一个程序,它将对java源代码目录中的成员和函数进行批量重命名,以根据传入程序的查找表.csv文件对代码进行反混淆.
这是为什么我的源代码是针对混淆的jar编写的.我有一个通过自定义版本RetroGaurd运行的jar的去混淆版本,我想解析传递给RetroGaurd的映射文件,以解混我的源代码进入jar的函数调用.如果我只是编译我的代码并通过RetroGaurd运行它,当我反编译我松散所有我的好评论和格式化(除非我错过了RetroGaurd上的选项).
我找到了内置于Eclipse 的抽象语法树解析器,它看起来非常适合我的用途,但是我不打算将我的程序编写为Eclipse的插件,这将是一个可以在任何机器上运行的独立jar .
我主要担心的是当我编写代码时,我对Eclipse使用的内部jar有很多依赖.我知道,如果我遵守图书馆的EPL我将不会分发它,但我担心这个项目越来越大,因为我需要越来越多来自Eclipse的SDK.
是否有任何其他项目可以让我能够解析Java源代码以便像AST一样可靠地查找和替换,或者有没有办法使用RetroGaurd(或像它这样的程序)来运行它去混淆,但保持我的注释和功能相同,而不需要通过反编译后运行去混淆程序?
如果您担心需要运行 Eclipse GUI 来执行代码,那么您可以考虑在无头模式下运行插件。这将允许您的插件从命令行运行。请参阅此线程。
您还可以使用任何其他开源 java 编译器。例如openjdk的Java编译器。请参阅资源部分。
希望能帮助到你。
| 归档时间: |
|
| 查看次数: |
685 次 |
| 最近记录: |