Як розпорошити jar файл

Відповіли: 20

jar це звичайний zip архів, всередині маніфест, ресурси та вихідні коди у бінарному вигляді для віртуальної машини, вихідні коди швидше за все мають розширення .class (буває, що й ні, є складні системи упаковки) і з великою ймовірністю обфусцовані, обфусцовані вихідні коди можна декомпілювати і там шукати потрібні рядки і т.д.

Якщо модифікувати тільки якісь змінні (і, до речі, з великою ймовірністю декомпільовані вихідні коди збиратися компілятор не будуть) в мідлеті, то в JAD файлі потрібно буде лише змінити розмір JAR'а, та й ім'я JAR'а, якщо ви його змінювали.

Чудово! Архів вже розпакував, побачив якісь логотипи, картинки, папку META-INF, папку biz/dsei/mobilezoo і там a.class, b.class, і папку з самим додатком, де цих класів за різними підкаталогами розкидано 40 штук. називаються латинськими літерами.

1) чи правильно я зрозумів, що все, що знаходиться в цьому архіві – називається мідлет? 2) виходить, навіть якщо я зможу декомпілювати обфусцовані коди і знайти і поміняти потрібний мені рядок (нехай навіть тієї ж довжини, що й вихідна) - шансів, що я зможу отримати додаток, що працює, не так багато?

Деякі обфускатори шифрують рядкові константи так, що вони не зберігаються в явному вигляді.

Довжина рядка – окреме питання. Де і як вона зберігається, навскідку не скажу. Краще, якщо заміна буде тієї ж довжини, що й оригінал:)

Слово якесь жахливе, обфусцоване. В англо-український словник би хоч зазирнув той, хто ввів його в обіг.

млин, вибачаюсь за кількість помилок орфографічних і лексичних, спати хочеться (:

Перейменуйте його у файл з розширенням zip і розпакуйте.відкомпилені класи.

ще пара запитань з'явилася по ходу: чи вказує велика кількість класів на складність програми? чи така кількість класів вводиться це щоб хакерів заплутати?

там і приклади та можливі повідомлення про помилки

природно, ні про який збій мережі або покриття ява не знає, ці проблеми будуть зводитись до connection time-out і т.д.

Буду на дозвіллі вивчати тюторіали. :-)

пошукайте декомпілятор jad, він написаний на джава. декомпілюйте все і пошите ваш урл гріпом.

Проте вихідний текст видно. На жаль, там цей рядок вставлений далеко не один раз, а використовується багаторазово в усьому тілі програми. Змінювати її, як я зрозумів, слід у бінарному файлі. А jad використовувати тільки для того, щоб зрозуміти, який файл .class редагувати.