Как да изкормя jar файл

Отговорено: 20

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

ако промените само някои променливи (и, между другото, компилаторът най-вероятно няма да компилира декомпилирани изходни кодове) в MIDlet, тогава в JAD файла ще трябва да промените само размера на JAR и името на JAR, ако сте го променили.

Страхотен! Вече разопаковах архива, видях няколко лога, снимки, папка META-INF, папка biz / dsei / mobileezoo и там a.class, b.class и папка със самото приложение, където има 40 от тези класове в различни поддиректории Всички се наричат ​​латински букви.

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

Някои обфускатори криптират низови константи, така че те вече да не се съхраняват изрично.

Дължината на линията е отделен въпрос. Къде и как се съхранява, набързо няма да кажа. По-добре, ако заместителят е със същата дължина като оригинала :)

Каква ужасна дума, объркана. Този, който го е пуснал в обръщение, поне ще погледне в англо-българския речник.

Mlyn, извинявам се за броя на правописните и лексикалните грешки, искам да спя (:

Преименувайте го на файл с разширение zip и го разархивирайте. Може би ще имате късмет и ще съдържа изходния код, а не самокомпилирани класове.

още няколко въпроса изскочиха по пътя: голям брой класове показват ли сложността на приложението? или толкова много класове са въведени, за да объркат хакерите?

има примери и възможни съобщения за грешки

Разбира се, Java не знае за мрежова повреда или покритие, тези проблеми ще бъдат сведени до прекъсване на връзката и т.н.

Ще изучавам уроци в свободното си време. :-)

потърсете декомпилатора на jad, той е написан на java. декомпилирайте всичко и grep вашия url.

но оригиналният текст се вижда. За съжаление тук този ред се вмъква много повече от веднъж, но се използва много пъти в цялото тяло на програмата. За да го промените, както разбирам, трябва да бъде в двоичен файл. И jad се използва само за да се разбере кой .class файл да се редактира.