Wazmojno li e osfucated class da bade...

18 отговора 766 прегледа
#1

Wazmojno li e osfucated class da bade...

Zdraweite,

Wazmojno li e obsfucated class da bade decompiliran uspeshno? Ima li nachin da se de-obsfukira (taka da se kaje) daden class?

jad li e nai-dobria decompiler?

10x :-)

Отговор
в отговор на lubitel #2

Re: Wazmojno li e osfucated class da bade...

Да, възможно е. Но всеки де-компилатор се справя различно. Понякога де-компилацията е възможна само под Linux (заради case sensitive file system). А JAD се смята за най-добрия безплатен де-компилатор.

Джава център - [линк]
Отговор
в отговор на temenujkata4 #3

Re: Wazmojno li e osfucated class da bade...

Много благодаря за идеята.
Още сега ще опитам и под case sensitive OS.
И през ум не ми е минавало че това може да се използва като защита :-)

А кои платени декомпилатори са по-добри от JAD?
Ако ги имате като адреси ще съб Ви задължен.

10x :-)

Отговор
в отговор на temenujkata4 #4

Re: Wazmojno li e osfucated class da bade...

Ами с jad v1.5.8e2 под linux резултата е същия както с jad v1.5.8e2 под windoz... Явно case sensetive не е метода по който е защитен кода...
Ако това може да помогне - на места ми генерира такъв код...

public void a(fa fa1, kf kf1)
{
label0:
{
if(a_d_fld == null)
return;
....
d1;
JVM INSTR monitorexit ;
goto _L1
exception;
throw exception;
_L1:
b_dx_fld.a(1, 1, fa1);
return;
}

Проблема не ми е е страшните имена на променливите, а че кога не подлежи на повторна компилация :-/
Има ли някаква друга хитрост която мога да ползвам?
Благодаря.

Отговор
в отговор на temenujkata4 #5

Re: Wazmojno li e osfucated class da bade...

"Понякога де-компилацията е възможна само под Linux (заради case sensitive file system). "

Tova ne e nikak viarno. Java-ta si e case sensitive taka 4e dali ot bytecode otivash kym source pod Linux ili Win niama nikakvo zna4enie, t.e file system niama nikakvo zna4enie. Ako imash class deto se kazva MyClass to pri decompilirane shte imash vinagi MyClass a ne myclass ili neshto takova.

Pozdravi

Отговор
в отговор на beginer #6

Re: Wazmojno li e osfucated class da bade...

Това е нагледен пример за наглост на 3-та степен.

1. Пише на шлюкавица.
2. Ник-а му е beginner а пък дава акъл.
3. Съветите му са грешни за case-sensitive class-name obfuscation.

Ем момченце, опичай си акъла, че ще ядеш шамари, вервай ми.

Отговор
в отговор на beginer #7

Re: Wazmojno li e osfucated class da bade...

Не ме разбрахте. Obfuscator-ът може да е използвал преименуване на класовете и когато се разархивират върху файлова система която не различава големи и малки букви (под Windows например) те се припокриват. Разархивирането може да стане не само ръчно, но и при декомпилацията (във временни файлове). Също може да има класове със забранени файлови имена - aux.class например, които операционната система не позволява да се създават.

Конкретният случай обаче явно не е такъв.....

Джава център - [линк]
Отговор
в отговор на temenujkata4 #8

Re: Wazmojno li e osfucated class da bade...

Благодаря на всички, които се отзоваха.
Явно няма готово и лесно решение на такъв тип проблеми :-)

Отговор
в отговор на lubitel #9

Re: Wazmojno li e osfucated class da bade...

Мда, да декомпилираш обфускиран код не си е работа, да го четеш - още по-малко ;) Специално за частта код, която си пуснал, мисля че се получава при JAD ако се пробва да декомпилира код от сорта на:
synchronized(obj) {
try {
...
} catch ...
}
и т.н.

Не знам какво точно се опитваш да направиш с тия класове, но ако е някоя малка модификация може би ще стане по-лесно с директен bytecode injection?

Отговор
в отговор на eфp. Лyk #10

Re: Wazmojno li e osfucated class da bade...

1. Ne pisha na teb, t.e. ne se 4uvstvay zadyljen da mi 4etesh posta.
2. Beginera e dosta po-naprednal ot teb. Viarvay mi.
3. Pak si pomisli dali syvetite mi sa greshni. Kazvam, 4e Java e case sensitive i niama nikakvo zna4enie dali OS ti ima case sensitive file system. Pak povtariam, OS niama zna4enie dali e case sensitive.
4. S tineydjyri ne se bia shtoto ne nosiat na boy.

Отговор
в отговор на тepмит #11

Re: Wazmojno li e osfucated class da bade...

Май не е най-подходящото място да споделям точно кое как и защо точно за това ми занимание... :-)

Но си признавам (без бой) - [линк]
Тук има едно "аплетче" което от спортна злоба исках да изуча и евентуално да използвам...

Аплета успях да го сваля, както и всички допълнения които се зареждат динамично.

Успях да напиша нещо, което да застане между аплет-а и сървъра и да кеширам това онова, но е малко кодирано и не разбирам всичко.
Нито заявките на аплета, нито отговорите на сървъра, а ми е интересно (меко казано)...

И понеже не съм толкова напред в java (както и в толкова други неща) и не успявам със собствени сили да се справя - затова търся съвети...
Това е.

Отговор
в отговор на temenujkata4 #12

Re: Wazmojno li e osfucated class da bade...

Tova koeto kazvash e viarno. No triabva da se syglasish, 4e problemyt ne e s OS dali e case sensitive a sys samia decompiler. Ako decompilera e dostaty4no inteligenten shte se seti kak da preimenuva clasovete i da pipne source code, t.e. niama problemi dali e pod Win ili Linux. V nikakyv slu4ay ne sym iskal da te zasegna.

Pozdravi

PP: Pone 4-5 pyti se my4ih da go postna tova.

Отговор
в отговор на beginer #13

Re: Wazmojno li e osfucated class da bade..

Не вярвах, че е възможно нахалство на 6-та степен, но за някои тъпаци невъзможно няма.

4. Продължава да пише на шльокавица въпреки добронамерената забележката. Любителя се научи от първия път, а този тъпанар не схваща нищо.
5. Не прави разлика межди case insensitive и case preserving обаче настоява, че е по-напреднал от старото куче.
6. Въпреки, че схвана каква глупост изтърси преди, продължава да настоява, че е прав. Момченце, ако искаш да дискутираш имплементацията на обфискаторите, бъди поне любезен да пишеш на български, иначе диалога с теб ще бъде като този.

Като цяло забавна тема се получи.

Отговор
в отговор на eфp. Лyk #14

Re: Wazmojno li e osfucated class da bade..

Kato si opravish pravopisa mi se obadi

Отговор
в отговор на lubitel #15

Re: Wazmojno li e osfucated class da bade...

Това със синхронизираните блокове го оправиха в ЙАД отдавна.
Мисля че в комбинация със ЙАД и Рефакторинг всичко може да стане четимо, но все пак е трудно.
Човека все пак си остава най-слабото звено(разбирането на кода).
Като стана дума, любимото ми е да си кръстя променливите като комбинация от : 0Ol1

Отговор
в отговор на ches #16

Re: Wazmojno li e osfucated class da bade...

Мда, за последно ми се наложи да работя сериозно с JAD преди 2-3 години, та спомените ми са малко старички явно. Честно казано, никак не държа да си опреснявам знанията точно по тази програма

Хех, ти явно си чел доста сериозно ръководството How to write unmaintanable code

Отговор
в отговор на eфp. Лyk #17

Re: Wazmojno li e osfucated class da bade..

Abe efrejtor

adi si gledaj rabotata.

1. Пише на шлюкавица.

Moge da si pi6e na kvoto si iska. Kato te drazni - hodi se grymni.

2. Ник-а му е beginner а пък дава акъл.

Ako nika mu be6e wisdom, sigurno 6te6e da e prav ??? 6to ne si cunka6 zadnika ???

Vsy6tnost maloumieto ti e unikalno dori samo s taq mydrost ....

3. Съветите му са грешни за case-sensitive class-name obfuscation.

Nqmam ideq, moge i da sa. Ama ti dosta dobre si se argumentiral .... Vsi4ki te razbrahme. 4e ako ne znae6, pone ima6 gelanie da se zaqgda6.

4. Продължава да пише на шльокавица въпреки добронамерената забележката. Любителя се научи от първия път, а този тъпанар не схваща нищо.

Prodylgavaj s lizaneto na zadnika si, nadqvam se da ti haresa.

5. Не прави разлика межди case insensitive и case preserving обаче настоява, че е по-напреднал от старото куче.

"старото" ku4eeeeeeee..... Ako be6e i umnoto, evala.

I ti kato napravi RAZLIKATA kvo napravi ? (osven 4e izcapa ....)

6. Въпреки, че схвана каква глупост изтърси преди, продължава да настоява, че е прав. Момченце, ако искаш да дискутираш имплементацията на обфискаторите, бъди поне любезен да пишеш на български, иначе диалога с теб ще бъде като този.

Evala be bate. Ti kato pi6e6 na bylgarsi, osven opluvane ne6to napravi li ???

S 1 duma - typanar

Отговор
в отговор на javar #18

Re: Wazmojno li e osfucated class da bade..

Не разбрах защо си ми публикувал писмото, ама си го разделил на части с някакви поредици от букви от английската азбука, ама не е английски, но можах да го прочета.

Тива някакъв шифър ли е?

Отговор
в отговор на eфp. Лyk #19

Re: Wazmojno li e osfucated class da bade..

Ne se my4i da go razbira6 .....

Ama i nedej da pi6e6 gluposti

ni6to li4no - prosto drazni6

Отговор