Как я могу узнать, почему и чем отличаются два файла классов? - PullRequest
0 голосов
/ 05 августа 2020

Я пытаюсь воссоздать какой-нибудь старый источник. У меня есть два класса: один из моего нового источника, а другой из потерянного. Оба класса будут декомпилированы в идентичный источник. Тем не менее, сравнение классов на уровне битов все же показывает различия. Как определить, что вызывает эти различия?

GC_

Ответы [ 2 ]

1 голос
/ 05 августа 2020

Если вы хотите узнать , чем отличается между двумя классами, я бы рекомендовал использовать дизассемблер Krakatau в режиме -roundtrip. Это преобразует файлы классов в удобочитаемый текстовый формат, который по-прежнему отображает 1: 1 в точную двоичную кодировку файла классов. Затем вы можете сравнить полученные текстовые файлы, чтобы увидеть, в чем они отличаются.

0 голосов
/ 05 августа 2020

Я обнаружил, что просто использование javap очень полезно.

Я выполнил эту команду для обоих классов:

javap -version -l -v -p -c -s -sysinfo ClassName.class > temp.txt

Затем я сравнил два файла. Это обнаружило разницу, которую я искал. Это был номер строки. Мне тоже пригодился декомпилятор eclipse.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...