Update для JavaBite

Тема в разделе "WASM.ZEN", создана пользователем Stiver, 19 июн 2005.

  1. Stiver

    Stiver Партизан дзена

    Публикаций:
    0
    Регистрация:
    18 дек 2004
    Сообщения:
    812
    Адрес:
    Germany
    Те кто работают с Java наверное знают дизассемблер байт-кода JavaBite, который лежит в инструментах. Как в свое время правильно заметил Quantum (и как я в последнее время понял на собственном опыте), в нем не хватает нескольких функций, особенно нужных при разборе обработанных обфускатором class-файлов. В результате я предпринял попытку приделать к нему эти недостающие функции.



    В аттаче два файла(с исходниками): jbloader.exe и jbhook.dll. Их нужно скопировать в ту же директорию что и javabyte.exe и запустить jbloader.exe. Тогда стартуется JavaBite с дополнительными функциями:



    1) в главном меню пункт Functions с двумя подпунктами:

    Unique names for overloaded functions - переименовывает функции с одинаковыми именами так, что их можно редактировать

    Restore overloaded function names - восстанавливает изначальные имена функций



    2) в контекстном меню в Сonstant Pool два подпункта:

    References - показывает где используется константа(в константах и в коде)

    Delete - удаляет константу если она нигде не используется(или показывает где используется)



    Кроме того поменял пару мелочей типа стилей контролов.



    Просьба потестить jbloader и сообщить о проблемах, любая конструктивная критика приветствуется. Также принимаются запросы на другие усовершенствования JavaBite.

    [​IMG] 1079542705__jbloader.zip
     
  2. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Вот это да! Не терпится поиграться с этим апдейтом, хотя времени сегодня совершенно нет :dntknw: Завтра-послезавтра непременно потестирую.
     
  3. CyberManiac

    CyberManiac New Member

    Публикаций:
    0
    Регистрация:
    2 сен 2003
    Сообщения:
    2.473
    Адрес:
    Russia
    Stiver

    Те кто работают с Java наверное знают дизассемблер байт-кода JavaBite, который лежит в инструментах.



    А ГДЕ он там лежит? Ссылка на файл не работает, ссылка на офсайт - кривая, на самом офсайте про JavaBite ни слова. И даже гугль как-то совсем немногословен на эту тему. Прямо заговор какой-то. Неужто жабокряк стал репрессированной практикой? Или просто у Володи при очередном апдейте рука дрогнула :derisive:
     
  4. Stiver

    Stiver Партизан дзена

    Публикаций:
    0
    Регистрация:
    18 дек 2004
    Сообщения:
    812
    Адрес:
    Germany
    CyberManiac





    Это потому, что Володя ссылку переименовал(JavaByte->JavaBite), а сам файл переименовать забыл :) Он лежит все еще под именем

    http://www.wasm.ru/tools/19/JavaByte.zip
     
  5. CyberManiac

    CyberManiac New Member

    Публикаций:
    0
    Регистрация:
    2 сен 2003
    Сообщения:
    2.473
    Адрес:
    Russia
    Во, теперь попёрло. Но странность с офсайтом и гуглем это не объясняет. Думаю о всемирном заговоре :derisive:
     
  6. volodya

    volodya wasm.ru

    Публикаций:
    0
    Регистрация:
    22 апр 2003
    Сообщения:
    1.169
    Так! Харе балдеть!



    http://wasm.ru/baixado.php?mode=tool&id=284 - линк

    переименовал, все работает.



    Quantum, гони отзыв о тулзах. Чтобы я и их на сайт добавил!
     
  7. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Stiver

    Багов не вижу. Новые фичи полностью одобряются :)Желательно добавить описание (вроде readme.txt) с содержанием по типу первого поста. Эта утилита и справочник по JVM - всё, что нужно для взлома любой жабьей защиты.



    volodya

    Конечно выкладывай! Делу Дзена нужны такие тулзы.
     
  8. Stiver

    Stiver Партизан дзена

    Публикаций:
    0
    Регистрация:
    18 дек 2004
    Сообщения:
    812
    Адрес:
    Germany
    Исправил несколько мелких ошибок, приводящих к обвалу в некоторых случаях. Просьба к администрации обновить версию на сайте.
     
  9. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Спасибо! Ещё бы убрать писк при перемещении курсора в листинге дизассемблера (правда, пищит почему-то только на Висте).
     
  10. FAVORIT

    FAVORIT Игорь

    Публикаций:
    0
    Регистрация:
    26 сен 2008
    Сообщения:
    4
    Адрес:
    jetcity
    Вот если бы этот Ява-байт,могбы еще распаковывать jаr.то былобы намного удобнее.Ну допустим распаковал я его выбрал класс.Вылезла какая то таблица.И как его Дизасемблировать?
     
  11. FAVORIT

    FAVORIT Игорь

    Публикаций:
    0
    Регистрация:
    26 сен 2008
    Сообщения:
    4
    Адрес:
    jetcity
    Если кто знает скажите пожалуйста.Где можно реально скачать хорошие книги по J2МЕ?
     
  12. FAVORIT

    FAVORIT Игорь

    Публикаций:
    0
    Регистрация:
    26 сен 2008
    Сообщения:
    4
    Адрес:
    jetcity
    Если кто знает скажите пожалуйста.Где можно реально скачать хорошие книги по J2МЕ?
     
  13. IAmSorry

    IAmSorry New Member

    Публикаций:
    0
    Регистрация:
    3 ноя 2008
    Сообщения:
    2
    Вопрос к гуру Java-декомпиляции...
    Многие обфускаторы используют неприятную технику - называют классы и пакеты однобуквенными сочетаниями. Причем иногда оказывается, что в одном пакете есть два класса: один с именем a.class, другой - A.class. Пока эти классы лежат в жарнике - все нормально, но попробуйте разархивировать их в папку под виндоус... NTFS считает имена папок и файлов нечувствительными к регистру, и второй класс перепишет первый. Как быть? JavaBite позволяет работать только с *.class-файлами. Может быть, кому-то известны сносные деобфускаторы или хотя бы декомпиляторы с функцией переименования методов и пакетов под Linux?
     
  14. Stiver

    Stiver Партизан дзена

    Публикаций:
    0
    Регистрация:
    18 дек 2004
    Сообщения:
    812
    Адрес:
    Germany
    IAmSorry

    Боюсь, не совсем понял вопрос. Если речь идет именно о распаковке jar'a, чтобы файлы при этом не переписали друг друга, то можно использовать например программку отсюда http://www.wasm.ru/forum/viewtopic.php?pid=83022#p83022. Но она переименует только файлы, имена классов внутри останутся прежними.

    Если нужен способ переименовать сами классы с целью избавиться от однобуквенных названий, то это сложнее. Честно говоря не знаю, чем народ пользуется, у меня большинство инструментов самописные. Fernflower переименовывать тоже умеет, но пока еще не в том состоянии, чтобы отдавать его общественности на растерзание.

    Дополнительно можно посмотреть:
    1) http://multimedia.cx/pre/re-retroguard.html Тут кто-то пытался приспособить RetroGuard для переименования. Не знаю, работает ли.
    2) java decompiler авторства [wl]. Это надстройка над jad'ом, вроде бы включающая в себя и присвоение однозначных имен. Но не уверен, лучше спросить самого автора :)
    3) Взять JDO (http://www.fileoffset.com/jd.php) и прикрутить туда функцию работы с jar'ами
     
  15. IAmSorry

    IAmSorry New Member

    Публикаций:
    0
    Регистрация:
    3 ноя 2008
    Сообщения:
    2
    Да, опенсоурсная библиотека RetroGuard может быть приспособлена для переименования. Правда вариант, предложенный в http://multimedia.cx/pre/re-retroguard.html, работает только частично, но зато направление для поисков понятно, спасибо.
     
  16. ryzubex

    ryzubex New Member

    Публикаций:
    0
    Регистрация:
    5 мар 2009
    Сообщения:
    1
    Интересно, а почему она работает частично?
     
  17. IDOL1234

    IDOL1234 New Member

    Публикаций:
    0
    Регистрация:
    30 сен 2009
    Сообщения:
    6
    сделайте пожалуйста изменение версии javabite при загрузке через loader, а то он так и остаётся v1, а это неправильно! ;))
     
  18. IDOL1234

    IDOL1234 New Member

    Публикаций:
    0
    Регистрация:
    30 сен 2009
    Сообщения:
    6
    и ПОИСК!!! простой поиск по графе disassembled! Без него убиться можно! никогда раньше не думал, что это такая важная функция...
     
  19. IDOL1234

    IDOL1234 New Member

    Публикаций:
    0
    Регистрация:
    30 сен 2009
    Сообщения:
    6
    не работает обратное переименование вызова функции, оно так и остаётся с $$ !
    зачем вообще эту строку менять??
     
  20. IDOL1234

    IDOL1234 New Member

    Публикаций:
    0
    Регистрация:
    30 сен 2009
    Сообщения:
    6
    в случае глюков советую использовать http://sourceforge.net/projects/jdo/ и подобные ему перед javabite.