Сохранен 16
https://2ch.su/b/res/72072218.html
К сожалению, значительная часть сохранённых до 2024 г. изображений и видео была потеряна (подробности случившегося). Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!

Джавабугурт

 Аноним Птн 18 Июл 2014 20:03:56  #1 №72072218 
1405699436671.jpg

Привет, анон. Потребовалось мне, значицца, декомпилировать простенький клиент, написанный на языке джавагоспод. Я не особо рассчитывал на этот ваш fernflower, но он добросовестно на первый взгляд запилил мне из hexобаланды нечто высокоуровневое. Потом начался пиздец.

Вот какого хуя, например, значит это:

return this.if;




Или вот это:

private static final int for = 2;




Я даже грешным делом подумал, что это какой-то новый, блядь, стандарт, в котором можно идентификаторы из служебных слов. Но нет. Разумеется, это дерьмо не компилируется обратно, и я прихожу к выводу, что декомпилятор меня ловко троллит, генерируя хуету, похожую на нормальный код с первого взгляда. Хуле делать с этим говном?

Но это ладно, можно было бы понять логику работы и быстренько все поправить в байткодах. А вот следующая хуйня меня убила нахуй.

Есть файл Client.class, который даже нормально декомпилируется. В нем находится следующее:

public class Client {

public static void main(String[] args) {
System.out.println("nothing here... ;-)");
}
}



То есть, блядь, main-метод практически нихуя не делает. Он должен вызваться, завершиться и все. Но нихуя. Она до декомпиляции рисует окно с кнопками и вообще нормально работает, хотя других методов main нигде нет. Какого хуя, блядь? Вообще, посмотри на рыгхосте: http://rghost.ru/56965661 , там, блядь, весь сок находится в файлах a, b и т.д., но методы из них при таком раскладе вообще не должны вызываться. Вообще охуеть.
Аноним Птн 18 Июл 2014 20:04:46  #2 №72072275 

Бамп.

Аноним Птн 18 Июл 2014 20:05:41  #3 №72072340 

bump

Аноним Птн 18 Июл 2014 20:06:21  #4 №72072375 

бамп!

Аноним Птн 18 Июл 2014 20:07:23  #5 №72072448 

вверх

Аноним Птн 18 Июл 2014 20:08:03  #6 №72072490 

Up!

Аноним Птн 18 Июл 2014 20:08:05  #7 №72072493 
1405699685443.jpg

>>72072218
да да кроссплатформенность, но мне похуй, сперморабы в этом мире 95%

Аноним Птн 18 Июл 2014 20:10:46  #8 №72072663 

>>72072218
Что-то мне подсказывает, что суть в обфускации. Гугл деобфускацию явапараши.

Аноним Птн 18 Июл 2014 20:13:00  #9 №72072840 

http://en.wikipedia.org/wiki/Java_Decompiler
Выбрось свое говно.

Аноним Птн 18 Июл 2014 20:15:35  #10 №72073006 

>>72072663
Лол, обфускация УДАЛИЛА ВСЕ ИЗ МЕТОДА main ()?
>>72072840
Спасибо, гляну.

Аноним Птн 18 Июл 2014 20:20:48  #11 №72073351 

>>72073006
Я вообще по крестам, и джаву знаю хуже,но это вот nothing here сильно смахивает на какую-то подставу. Если бы это был нативный код, я бы предположил, что часть программы как-то запакована/зашифрована и реальный код декомпилятор просто не видит, т.к. он демонстрирует себя в рантайме только. Возможно, где в твоих выданных декомпилятором файлах есть загрузчик, который программу распаковывает и передает ей управление. Хз можно ли так сделать в джаве.
Попробуй сначала тот мой декомпилятор, он норм работает. Посмотри байт-код мейна. Наверняка байт-код можно дебажить типа как дизассемблер. Сравни мейн рантайме с мейном в файле.
Посмотри байт код.

Аноним Птн 18 Июл 2014 20:22:15  #12 №72073443 

>>72072840
Похоже, и вправду обфускация виновата. Вот ведь пидоры, лол:

return this.jdField_if;

Алсо, по второй проблеме это никак не помогает, метод main нихуя больше не вызывает.

Аноним Птн 18 Июл 2014 20:25:12  #13 №72073644 

>>72073351
Ну вот, я посмотрел. Твой декомпилятор справляется в этой хуйней из if'ов, но в мэйне все так же:

import java.io.PrintStream;

public class Client
{
public static void main(String[] args)
{
System.out.println("nothing here... ;-)");
}
}


Алсо, хуй знает, как бы было можно сделать шифровку/расшифровку, четко ведь по стандарту сначала запускается main, а в других файлах вообще без разницы что, пока не вызываются их методы.
Аноним Птн 18 Июл 2014 20:29:51  #14 №72073911 

http://www.crowdstrike.com/blog/native-java-bytecode-debugging-without-source-code/

>>72073644
Для начала надо убедиться, что шифровка есть. Дебаж байткод.

Аноним Птн 18 Июл 2014 20:31:32  #15 №72074009 

>>72073911
И да, этот мейн наверняка просто для отвлечения внимания и вообще не выполняется, декомпилятору похуй же.

Аноним Птн 18 Июл 2014 20:35:17  #16 №72074226 

>>72073911 >>72074009
Спасибо, бро. Добра тебе.

comments powered by Disqus