所以这是我的情况:
我正在运行一个 CPU 使用率很高的 Java 客户端/服务器架构,并且我正在尝试减少主“服务器”线程上的延迟时间。我一直在使用 YourKit 分析服务器以识别占用 CPU 的代码。
问题是:
我正在使用别人的代码,由于它的编写方式,不可能反编译,然后在不使用我无法访问的特殊混淆器的情况下重新编译(不,我没有侵犯任何版权或任何东西)。
我目前在做什么:
为了在不担心混淆的情况下修改类文件,我一直在使用 Storyyeller 惊人的 Krakatau 反编译器 ( https://github.com/Storyyeller/Krakatau ) 将类文件反汇编成汇编文件。
我在查看 Jasmin 参考页面时手动编辑 .j 程序集文件(这需要 FOREVER 并且我经常搞砸),然后将它们重新组合成类文件并再次运行它们。
我想做的事:
我想知道,有没有人知道将 .java 源代码转换为 .j 程序集代码的方法,而不是煞费苦心地编辑程序集?
另外,如果我只是反编译 .class 文件,即使导入的包不存在,我是否可以简单地重新编译它们?
import com.bazinga.*;
public class MainThread{}//compile this even though package com.bazinga doesn't exist?
如果有人知道我可以做到这一点,我将不胜感激!