Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Что такое Обфускация? 
:(
    Опции темы
kashka
Дата 3.3.2005, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 29.11.2004
Где: Wolfenbuettel, Ge rmany

Репутация: 1
Всего: 1



Ну вот новая тема.
А как мне точно определить обфусцировали или нет?
PM MAIL   Вверх
Domestic Cat
Дата 3.3.2005, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 50
Всего: 172





--------------------

PM   Вверх
kashka
Дата 3.3.2005, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 29.11.2004
Где: Wolfenbuettel, Ge rmany

Репутация: 1
Всего: 1



Каким декомпилятором мне воспользоваться?
Я тут jad из интернета скачала, пойдет?
PM MAIL   Вверх
kashka
Дата 3.3.2005, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 29.11.2004
Где: Wolfenbuettel, Ge rmany

Репутация: 1
Всего: 1



Всем СПАСИБО smile smile smile ,
код они не обфусцировали, jad.exe работает хорошо так что все получилось.


PM MAIL   Вверх
AntonSaburov
Дата 3.3.2005, 12:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 51
Всего: 118



Цитата(kashka @ 3.3.2005, 12:15)
Я тут jad из интернета скачала, пойдет?

Вполне. Очень неплохая тулза. Но против обфускаторов не потянет само собой smile
PM MAIL WWW ICQ   Вверх
batigoal
Дата 3.3.2005, 14:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 24
Всего: 151



А чем можно воспользоваться для обс... офс... обфуксации? Там много ссылок, но чем пользуются специалисты?


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
kashka
Дата 3.3.2005, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 29.11.2004
Где: Wolfenbuettel, Ge rmany

Репутация: 1
Всего: 1



jad.exe декомпилирует вроде нормально, вот только внутренних классов не видет, знает кто нибудь еще декомпиляторы?
PM MAIL   Вверх
kashka
Дата 3.3.2005, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 29.11.2004
Где: Wolfenbuettel, Ge rmany

Репутация: 1
Всего: 1



Ошиблась внутренние классы он все таки видет smile
PM MAIL   Вверх
Се ля ви
Дата 3.3.2005, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java/SOAрхитектор
****


Профиль
Группа: Модератор
Сообщений: 2016
Регистрация: 5.6.2004
Где: place without tim e and space

Репутация: 8
Всего: 127



kashka
Mocha - старый декомпилятор раньше был... поищи - может, где и остался, вдруг, он поможет?

P.S. А мне бы кто бы обфускатор посоветовал бесплатный?..


--------------------
  )
 (
[_])
проф. блог

Кролики думали, что занимаются любовью, а на самом деле их просто разводили...
PM MAIL WWW Skype GTalk   Вверх
DarkDS
Дата 3.3.2005, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 748
Регистрация: 6.5.2003
Где: Таллинн, Эстония

Репутация: 11
Всего: 16



Смотреть тут:
http://java-source.net/open-source/obfuscators
(tnx to Domestic Cat smile )
Сам лично пользовался RetroGuard-ом
PM MAIL   Вверх
Domestic Cat
Дата 3.3.2005, 18:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 50
Всего: 172



Пользую jad, вроде работает smile


--------------------

PM   Вверх
batigoal
Дата 3.3.2005, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 24
Всего: 151



Цитата(Domestic @ 3.3.2005, 18:30)
Пользую jad, вроде работает

Так jad - это декомпилятор или обфускатор? Или и то, и другое?


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
Се ля ви
Дата 3.3.2005, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java/SOAрхитектор
****


Профиль
Группа: Модератор
Сообщений: 2016
Регистрация: 5.6.2004
Где: place without tim e and space

Репутация: 8
Всего: 127



я не пользовал - но вроде тока декомпилятор...


--------------------
  )
 (
[_])
проф. блог

Кролики думали, что занимаются любовью, а на самом деле их просто разводили...
PM MAIL WWW Skype GTalk   Вверх
AntonSaburov
Дата 3.3.2005, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 51
Всего: 118



Цитата(Lamer @ 3.3.2005, 18:35)
Так jad - это декомпилятор или обфускатор?

Это просто декомпилятор. Просто преобразует байт-код в код на java.

Обфускатор по сути "запутывальщик". Он преобразует код в запутанную систему внутренних классов, методов. И после декомпиляции перед глазами эдакий монстр, разобраться в работе которого крайне сложно. Дешевле становиться купить нужный пакет с исходниками smile
PM MAIL WWW ICQ   Вверх
DarkDS
Дата 3.3.2005, 18:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 748
Регистрация: 6.5.2003
Где: Таллинн, Эстония

Репутация: 11
Всего: 16



Цитата(Lamer @ 3.3.2005, 18:35)
Так jad - это декомпилятор или обфускатор? Или и то, и другое?

jad - декомпилятор...
JODE - обфускатор smile
PM MAIL   Вверх
batigoal
Дата 3.3.2005, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 24
Всего: 151



Цитата(AntonSaburov @ 3.3.2005, 18:40)
Обфускатор по сути "запутывальщик".

Значит, это все-таки не абсолютная защита, да? Он не закрывает код, а старается изменить его до неузнаваемости, и, зная алгоритмы его работы и ключи (если он их использует), можно раскрыть код. Получается, что задача "деобфускации" - это криптоатака?


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
Domestic Cat
Дата 3.3.2005, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 50
Всего: 172



Цитата
Пользую jad, вроде работает


это я к
Цитата
jad.exe декомпилирует вроде нормально, вот только внутренних классов не видет, знает кто нибудь еще декомпиляторы?

smile




--------------------

PM   Вверх
AntonSaburov
Дата 3.3.2005, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 51
Всего: 118



Абсолютной защиты не будет никогда.

Цитата(Lamer @ 3.3.2005, 18:50)
Получается, что задача "деобфускации" - это криптоатака?

Нет, это больше напоминает, что первоначальный маршрут от Питера до Москвы шел напрямую, но его выдали в виде "через Владивосток". При этом заменяются имена классов и методов на абсолютно бессмысленные - a1, b32, f4 и так далее.

Ну предположим у класса есть 25 методов из них 18 закрыты. Можно изменить имена этих методов. Можно сделать промежуточный класс, который будет создаваться и уже внутри себя вызывать нужный метод. Можно вырезать какие-то методы в отдельный класс, назвать его страшно непонятным именем. Ну и прочая. Т.е. получается код. который читать можно, но понимать который (и вносить какие-либо изменения) приносит головной боли столько, что это никто делать не будет. Разве что за большие-большие деньги, которые будут сравнимы со стоимостью пакета.
PM MAIL WWW ICQ   Вверх
kashka
Дата 3.3.2005, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 29.11.2004
Где: Wolfenbuettel, Ge rmany

Репутация: 1
Всего: 1



я тут еще один декомпилятор нашла, может пригодится кому нибудь:
http://members.fortunecity.com/neshkov/dj.html
PM MAIL   Вверх
Domestic Cat
Дата 3.3.2005, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 50
Всего: 172




Цитата
Значит, это все-таки не абсолютная защита, да? Он не закрывает код, а старается изменить его до неузнаваемости, и, зная алгоритмы его работы и ключи (если он их использует), можно раскрыть код. Получается, что задача "деобфускации" - это криптоатака?


Нет, обфускатор делает код практичски бессмысленным для того, кто его декомпилит. И знаниe алгоритмa нe поможет, т.к. будут уничтожны все несущие смысл именa переменных, классов, и пр. А без этого понять как работаеt код сложновато.


--------------------

PM   Вверх
batigoal
Дата 3.3.2005, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 24
Всего: 151



Ясно. Спасибо за разъяснения.


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
kashka
Дата 3.3.2005, 19:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 29.11.2004
Где: Wolfenbuettel, Ge rmany

Репутация: 1
Всего: 1



Насчет jad (и других тоже), он то в принципе работает, вот только иногда try/catch не распознает и странние конструкции такого вида создает:
Код

       buf = new byte[256];
_L2:
       if(conn != null || port >= 9940)
           break; /* Loop/switch isn't completed */
       conn = new Socket("localhost", port);
       BufferedInputStream in = new BufferedInputStream(conn.getInputStream());
       BufferedOutputStream out = new BufferedOutputStream(conn.getOutputStream());
       buf[0] = 63;
       out.write(buf);
       out.flush();
       Thread.sleep(50L);
       if(in.available() <= 0)
           break MISSING_BLOCK_LABEL_113;
       in.read(buf, 0, 256);
       if(buf[0] == 33)
           return conn;
       continue; /* Loop/switch isn't completed */
       return null;
       IOException exception;
       exception;
       port = 9940;
       continue; /* Loop/switch isn't completed */
       exception;
       port++;
       if(true) goto _L2; else goto _L1
_L1:



PM MAIL   Вверх
DarkDS
Дата 3.3.2005, 19:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 748
Регистрация: 6.5.2003
Где: Таллинн, Эстония

Репутация: 11
Всего: 16



Цитата(Lamer @ 3.3.2005, 18:50)
Значит, это все-таки не абсолютная защита, да? Он не закрывает код, а старается изменить его до неузнаваемости, и, зная алгоритмы его работы и ключи (если он их использует), можно раскрыть код. Получается, что задача "деобфускации" - это криптоатака?

В том то и проблемма байт кода что его можно однозначно декомпилировать. То есть абсолютной защиты для байт кода как таковой нет.
Ключей при обфускации нет. нО криптоатака деобфускации не поможет smile
Тут такой момент. В процессе обфускации происходит 3-и основных действия:
1. Удаяляется дебаговая информация (это может быть пропущенно если компилировалось без нее)
2. переименовываеются классы, методы и переменные (за некоторым исключением, связонные с рефлексией). То есть:
Код

class Foo
{
   private String fooStr;
   public String fooFunction()
   {
        return fooStr;
   }
}


будет при компилировании-обыфускации-декомпилировании выглядеть примерно так:
Код

class if
{
   private String for;
   public String if()
   {
        return for;
   }
}

или
Код

class а
{
   private String а;
   public String а()
   {
        return а;
   }
}

Что будет затруднять разбор программы. smile

3. добавляются "логические бомбы" (это делают не все обфускаторы).
к примеру самая простая логическая бомба:
Код

class if
{
   private String for;
   public String if()
   {
        return for;
   }
}

->
Код

class if
{
   private String for;
   public String if()
   {
        return for;
        catch(e)
        {
        }
   }
}


Катч вставлен в данном случае в байт код после ретурна (точнее вставленна последовательность инструкций, которая обозначет катч). При работе программы она никак на будет влиять на выполнение данной функции. При декомпиляции же не всякий декомпилятор сможет это "переварить".
Добавлено @ 19:13
Цитата(kashka @ 3.3.2005, 19:07)
Насчет jad (и других тоже), он то в принципе работает, вот только иногда try/catch не распознает и странние конструкции такого вида создает:

jad - работает как декомпилятор. как обфускатор не работает smile
PM MAIL   Вверх
kashka
Дата 3.3.2005, 19:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 29.11.2004
Где: Wolfenbuettel, Ge rmany

Репутация: 1
Всего: 1



Я имею ввиду что, после декомпиляции появляются иногда странные структуры,
например:
Код

return true;
       Exception exception;
       exception;
       new HuginGUIError(exception);
       return false;


а
Добавлено @ 19:21
я так думаю, что jad try/catch иногда в такои форме записивает. По краинеи мере после соответствующего исправления, все работало smile .
PM MAIL   Вверх
DarkDS
Дата 3.3.2005, 19:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 748
Регистрация: 6.5.2003
Где: Таллинн, Эстония

Репутация: 11
Всего: 16



Там просто неоднозначная ситуация. И поэтому не до конца переводится в ява код.
По этому поводу советую почитать Работем с Байткодом (с)Domestic Cat.

PM MAIL   Вверх
kashka
Дата 3.3.2005, 19:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 29.11.2004
Где: Wolfenbuettel, Ge rmany

Репутация: 1
Всего: 1



В каком смысле неоднозначная?
PM MAIL   Вверх
Domestic Cat
Дата 3.3.2005, 19:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 50
Всего: 172



try/catch при компиляции превращается в несколько запутанный байткод, видимо декомпилер и колбасит по этому поводу smile


--------------------

PM   Вверх
DarkDS
Дата 3.3.2005, 19:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 748
Регистрация: 6.5.2003
Где: Таллинн, Эстония

Репутация: 11
Всего: 16



Так как мы достигли ретурна, то это может быть либо логической бомбой, либо катчем эксепшина.
В большинстве таких случаев декомпиляторы эксепшины из опкода не переводят в ява код.

Добавлено @ 19:42
ЗЫ. Кстати. Внешне катч в байт коде выглядит еще более запутанно smile
Так что неоднозначностей там хватает.
PM MAIL   Вверх
kashka
Дата 3.3.2005, 19:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 29.11.2004
Где: Wolfenbuettel, Ge rmany

Репутация: 1
Всего: 1



Ну ладно try/catch можно легко исправить а вот что означает:
Код

  if(rootFrame == null || !rootFrame.containsInstances())
           break MISSING_BLOCK_LABEL_104;
       int answer = JOptionPane.showConfirmDialog(this, "This network contains instances of other networks.\nDo you want all instance networks to be reloaded as well?", "Reload subnets?", 0, 3, null);
       if(answer != 0)
           break MISSING_BLOCK_LABEL_73;


PM MAIL   Вверх
Се ля ви
Дата 3.3.2005, 21:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java/SOAрхитектор
****


Профиль
Группа: Модератор
Сообщений: 2016
Регистрация: 5.6.2004
Где: place without tim e and space

Репутация: 8
Всего: 127



Цитата(AntonSaburov @ 3.3.2005, 18:56)
При этом заменяются имена классов и методов на абсолютно бессмысленные - a1, b32, f4 и так далее.

А как же библиотеки???


--------------------
  )
 (
[_])
проф. блог

Кролики думали, что занимаются любовью, а на самом деле их просто разводили...
PM MAIL WWW Skype GTalk   Вверх
Domestic Cat
Дата 3.3.2005, 21:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 50
Всего: 172



Цитата
А как же библиотеки???


Паблик интерфейс и обращения к внешнним библиотекам не обфусцируются, иначe ничего б нe работало.


--------------------

PM   Вверх
LSD
Дата 3.3.2005, 22:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Цитата(DarkDS @ 3.3.2005, 19:10)
В том то и проблемма байт кода что его можно однозначно декомпилировать.

Не совсем, дезасемблирровать да, а вот с декомпиляцией не все так просто. Где то я читал статейку, в которой мужик показал, что не всякий байткод соответствует Java программе. И есть вещи реализуемые на ассемблере для JVM и не реализуемые на Java.

Цитата(kashka @ 3.3.2005, 19:49)
Ну ладно try/catch можно легко исправить а вот что означает:

Тут надо смотреть дизасемблированный код и пытаться его восстановить. Получить его можно jad -dis. Если метод не очень большой то можно попробовать.

P.S. Кстати мы тут все обсуждаем не совсем законную тему, но, учитывая что мы делаем это только с теоретической точки зрения, все в порядке smile


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
DarkDS
Дата 3.3.2005, 22:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 748
Регистрация: 6.5.2003
Где: Таллинн, Эстония

Репутация: 11
Всего: 16



Цитата(LSD @ 3.3.2005, 22:00)
Не совсем, дезасемблирровать да, а вот с декомпиляцией не все так просто. Где то я читал статейку, в которой мужик показал, что не всякий байткод соответствует Java программе. И есть вещи реализуемые на ассемблере для JVM и не реализуемые на Java.

Так скажем.
Откомпилированный без применений дополнительных средств байт код в большинстве случаев декомпилируется в ява код, равнозначный по функциональносте оригинальному.
smile
Добавлено @ 22:28
Цитата(LSD @ 3.3.2005, 22:00)
P.S. Кстати мы тут все обсуждаем не совсем законную тему, но, учитывая что мы делаем это только с теоретической точки зрения, все в порядке 

ЗЫ. Я кстати обсуждаю вполне законную - как защитить код с помощью обфускации smile
Добавлено @ 22:29
Цитата
А как же библиотеки???

А это как раз и есть рефлексия smile
PM MAIL   Вверх
LSD
Дата 3.3.2005, 22:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Цитата(DarkDS @ 3.3.2005, 22:27)
Откомпилированный без применений дополнительных средств байт код в большинстве случаев декомпилируется в ява код, равнозначный по функциональносте оригинальному.

Я не совсем об этом, там было немного о другом. Там вроде даже был пример как можно обойти песочницу (вернее на сайте были примеры таких апплетов). Я попытаюсь ее найти.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
Domestic Cat
Дата 3.3.2005, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 50
Всего: 172



Цитата
Катч вставлен в данном случае в байт код после ретурна (точнее вставленна последовательность инструкций, которая обозначет катч). При работе программы она никак на будет влиять на выполнение данной функции. При декомпиляции же не всякий декомпилятор сможет это "переварить".


Пo-моему эта штука "взрывала" первую Mocha?


--------------------

PM   Вверх
Се ля ви
Дата 4.3.2005, 01:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java/SOAрхитектор
****


Профиль
Группа: Модератор
Сообщений: 2016
Регистрация: 5.6.2004
Где: place without tim e and space

Репутация: 8
Всего: 127



Цитата(LSD @ 3.3.2005, 22:00)
Не совсем, дезасемблирровать да, а вот с декомпиляцией не все так просто. Где то я читал статейку, в которой мужик показал, что не всякий байткод соответствует Java программе. И есть вещи реализуемые на ассемблере для JVM и не реализуемые на Java.

Я читал в Java CookieBook, что Mocha сама себя обфусцировать не может - и Jad тоже её разобрать не может... И вообще исходникии Mocha не сохранились из-за смерти автора, поэтому Mocha впринципе не могут вскрыть - ни в каком запутанном виде... smile


--------------------
  )
 (
[_])
проф. блог

Кролики думали, что занимаются любовью, а на самом деле их просто разводили...
PM MAIL WWW Skype GTalk   Вверх
Domestic Cat
Дата 4.3.2005, 03:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 50
Всего: 172



Ошибся, Mocha ложилась на таком:
Код

Method void main(java.lang.String[])
     0 new #4
     3 invokespecial #10
     6 return
     7 pop



--------------------

PM   Вверх
DarkDS
Дата 4.3.2005, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 748
Регистрация: 6.5.2003
Где: Таллинн, Эстония

Репутация: 11
Всего: 16



Цитата(Domestic @ 3.3.2005, 23:18)
Пo-моему эта штука "взрывала" первую Mocha?

Не. Mocha на попе после ретурна умирала вообще...
Качт она просто не переваривала. Либо метод не декомпилила, либо декомпилила очень ошибочно (так как трая в начале не было)
PM MAIL   Вверх
Upir
Дата 22.3.2005, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 13.9.2004

Репутация: нет
Всего: нет



А кто имеет опыт работы JBuilder + RetroGuard?
Если есть, поделитесь.
В моем случае (JBuilderX+RetroGuard 1.1) кроме изменения наименования приват переменных и методов в числовую последовательность ничего не делает.
PM MAIL   Вверх
DarkDS
Дата 22.3.2005, 13:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 748
Регистрация: 6.5.2003
Где: Таллинн, Эстония

Репутация: 11
Всего: 16



Чесно говоря я работал только с модифицированным ретрогардом.
У нас все (что не входило игноре лист) переименовывалось. Включая имена констант, классов, методов.
В игнор листе было то, что было подвержено рефлексии.
Ксатати. Ретрогард вроде как не добавлял логических бомб...
+ еще кстати. Советую взять последную версию (она вроде как 2.0 или выше).

http://www.retrologic.com/retroguard-main.html
PM MAIL   Вверх
Upir
Дата 22.3.2005, 13:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 13.9.2004

Репутация: нет
Всего: нет



Последняя 2.0.1
пробовал и с ней.. думаю, что-то не так просто настраиваю в билдере

PM MAIL   Вверх
DarkDS
Дата 22.3.2005, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 748
Регистрация: 6.5.2003
Где: Таллинн, Эстония

Репутация: 11
Всего: 16



Может. У меня отдельно батником запускалось
PM MAIL   Вверх
Upir
Дата 22.3.2005, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 13.9.2004

Репутация: нет
Всего: нет



Отдельно может помочь только для jar файлов. В моем случае необходимы натив исполняемые файлы. Хотя не получается через билдер для всех типов)
PM MAIL   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0916 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.