Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблема с декомпиляцией класса / 9 сообщений из 9, страница 1 из 1
18.10.2005, 13:22
    #33330304
GMax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с декомпиляцией класса
Проблема в следующем. Надо декомпилировать один класс. Я для этого использую JAD. Но возникает один вопрос. Декомпилируем допустим класс public class SomeClass{} . У него есть внутренний класс private class InnerClass{} . При декомпиляции получаю два файла, один для SomeClass, другой для InnerClass. В тексте InnerClass встречается такая конструкция:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
             if (s.equals(SomeClass.access$ 100 ()))
                ...
             else 
             if (s.equals(SomeClass.access$ 300 ()))
            {
               ...
            }  else 
             if (s.equals(SomeClass.access$ 400 ()))
                ...;
Вопрос: Что это за access$100?
...
Рейтинг: 0 / 0
18.10.2005, 14:01
    #33330427
Сергей Ильич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с декомпиляцией класса
GMaxПроблема в следующем. Надо декомпилировать один класс. Я для этого использую JAD. Но возникает один вопрос. Декомпилируем допустим класс public class SomeClass{} . У него есть внутренний класс private class InnerClass{} . При декомпиляции получаю два файла, один для SomeClass, другой для InnerClass. В тексте InnerClass встречается такая конструкция:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
             if (s.equals(SomeClass.access$ 100 ()))
                ...
             else 
             if (s.equals(SomeClass.access$ 300 ()))
            {
               ...
            }  else 
             if (s.equals(SomeClass.access$ 400 ()))
                ...;
Вопрос: Что это за access$100?
Никто не имеет права иметь доступ к private полям класса, кроме нестатических внутренних классов. Проблема в том что во время выполнения программы нестатические внутренние классы ничем не отличаются от других классов. Поэтому компилятор делает ссылки на private поля охватывающего класса и дает им имена типа access$xxx
...
Рейтинг: 0 / 0
18.10.2005, 14:01
    #33330430
А.Грасоff™
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с декомпиляцией класса
название метода в SomeClass?
...
Рейтинг: 0 / 0
18.10.2005, 14:15
    #33330476
jdev333
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с декомпиляцией класса
вроде последний JAD декомпилирует такие случаи в один класс.
может обновить JAD или опции посмотреть-подергать?
...
Рейтинг: 0 / 0
18.10.2005, 14:33
    #33330538
GMax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с декомпиляцией класса
jdev333вроде последний JAD декомпилирует такие случаи в один класс.
может обновить JAD или опции посмотреть-подергать?А какой последний? И не подскажешь ссылку, где взять можно, а то все ссылаются на http://kpdus.tripod.com/jad.html , а она у меня не открывается.

А.Грасоff™название метода в SomeClass?Не нашел таких методов.

Сергей Ильич...Вообще-то там идет вызов методов каких-то. И таких методов я нигде не нашел :(
...
Рейтинг: 0 / 0
18.10.2005, 14:59
    #33330669
GMax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с декомпиляцией класса
Проблема решена.
Действительно, надо было просто запустить JAD с параметром -noinner и он все делает как надо.
А вот код, который получается с этим параметром (был удивлен):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
             if (s.equals(SomeClass.SOME_FIELD))
                ...
             else 
             if (s.equals(SomeClass.SOME_FIELD_2))
            {
                ...
            }  else 
             if (s.equals(SomeClass.SOME_FIELD_3))
                ...
Сергей Ильич был прав.
Всем спасибо за помощь.
...
Рейтинг: 0 / 0
18.10.2005, 15:27
    #33330801
jdev333
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с декомпиляцией класса
jad недавно переехал
на память не помню куда - но помню, что минут 20-30 искал новое местожительство :)
...
Рейтинг: 0 / 0
18.10.2005, 15:41
    #33330868
А.Грасоff™
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с декомпиляцией класса
jdev333jad недавно переехал
на память не помню куда - но помню, что минут 20-30 искал новое местожительство :)
http://www.google.ru

слово для поиска - JAD. 3-я ссылка сверху. 10 секунд :)

PS http://www.kpdus.com/jad.html
...
Рейтинг: 0 / 0
18.10.2005, 15:46
    #33330896
GMax
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проблема с декомпиляцией класса
А.Грасоff™слово для поиска - JAD. 3-я ссылка сверху. 10 секунд :)А я как дятел в первую уперся и все. Мне визуально показалось, что 1я и 3я аналогичны.
Оказалось, что у меня последний JAD.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблема с декомпиляцией класса / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]