Як розпорошити 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 редагувати.