我不知道如何指定class和jar存档,class是我的程序的入口点(因此不应该被混淆)。请向我展示一个命令行示例,说明当我有/home/ example /myJar.jar以及其中的com.example.EntryPoint类和外部依赖项/home/example/dependencies/dependencyJar.jar时,如何使用JBCO。
另外,请告诉我,有没有人知道这个项目是否还活着,它支持什么jdk?
发布于 2017-11-06 16:55:06
很多时间过去了,但最近我浏览了java转换框架,发现JBCO现在是soot框架的一部分,GitHub上的hosted,但它现在是@deprecated
。有一个wiki,你可以在那里获得更多关于如何使用soot/jbco的信息(如果你仍然想要的话,自负风险,即使JBCO已经被弃用,并且没有在积极开发中,它仍然会时不时地接受贡献者的PR)。至于命令行选项,可能是:
java -cp .:/home/example/sootclasses-trunk-jar-with-dependencies.jar soot.jbco.Main -process-dir /home/example/compiled -output-dir /home/example/obfuscated -soot-class-path .:/home/example/myJar.jar -output-format class -app -main-class com.example.EntryPoint -t:9:wjtp.jbco_cr
Soot可以将编译后的代码作为类文件(然后将其传递给-process-dir
选项)或jar (然后将其作为soot - class -path的一部分传递)-soot可以处理多种形式的字节码(java/scala/..字节码,android字节码,jasmin,jimple)。还有一些选项可以更精确地指定什么是库类和应用程序或参数类,有关更多信息,请参阅soot的维基页面。
https://stackoverflow.com/questions/42023138
复制相似问题