Гайд Гайд по деофускации кода на ЯП Java.

read only ambassador
Пользователь
Пользователь
Статус
Оффлайн
Регистрация
28 Июн 2022
Сообщения
616
Реакции
112
(НА ВСЯКИЕ НЕТОЧНОСТИ УКАЗЫВАЙТЕ, БУДУ ИСПРАВЛЯТЬ)
Гайд по деобфускации кода на ЯП Java.

Введение.

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

Для того, что бы приступить к деобфускации какого-то кода, нужно понять, что такое обфускация, и я обьясню это простыми словами.

Обфускация - изменение, запутывание кода с целью скрыть алгоритмы работы программы, её исходный код.
Соответственно деобфускация - процесс, обратный обфускации, попытка восстановления исходного кода программы из её запутанного варианта.

Под определение обфускации не попадает такой софт, как например ProGuard, которые многие кубоголовые по ошибке называют обфускатором, хотя он является ремаппером.


С водой закончили, наступило время практики.

Практическая часть.
Для начала нужно понять, какой же обфускатор накладывали на данный джарник, однако тут вы уже как-то сами, ведь для деобфускации и работы с байткодом НУЖНЫ ЗНАНИЯ ДЖАВЫ!

Для примера я выбрал такую пасту, как "NeKstClient 4.0", деобфускацию которого я уже выкладывал. На нём стоит обфускатор от блауберии (
Пожалуйста, авторизуйтесь для просмотра ссылки.
).

Лично я использую деобфускатор от наруми, но вы можете использовать любой другой, или же самописный, в этой статье я покажу пример работы с данным деобфускатором.

Список поддерживаемых им обфускаторов тут:
1677695129847.png

Для работы с ним нам нужны:
  1. Любая иде для работы с джава кодом с поддержкой джавы 11 или младше версий.
  2. Сам деобфускатор (
    Пожалуйста, авторизуйтесь для просмотра ссылки.
    ).
  3. Git (необязательно, можно просто архив с кодом деобфускатора скачать и распаковать).
Итак, сам процесс:
  1. (если скачали гит) открываем консоль в любом удобном вам месте и пишем git clone
    Пожалуйста, авторизуйтесь для просмотра ссылки.
    (если нет, нужно архив с кодом деобфускатора скачать и распаковать в любое удобное место)
    1677694060098.png
  2. Открываем проект в иде (в моём случае это Intellij Idea)
  3. Переходим по пути /src/main/java/ и открываем класс Loader (стандартный его вид приведён ниже)
    1677695279324.png
  4. Закидываем нашу джарку по пути <PATH TO GRADLE>/test/
  5. В 11 строчке меняем Arrows.jar на название джарника (в 12 пишем что угодно, это будет название джарника после деобфускации)
  6. В моём случае обфускация от блауберии, поэтому в 14 строчке вместо
    default:
    Expand Collapse Copy
    new CaesiumTransformer()
    я пишу
    changed:
    Expand Collapse Copy
    new SuperblaubeereTransformer(true)
    вы меняете на тот обфускатор который был использован в вашем случае (пути до классов - uwu.narumi.deobfuscator.transformer.composed)
  7. Запускаем Loader джавой больше 11 (обязательно)
После всего этого ждёте до завершения программы и в папке <PATH TO GRADLE>/test/ должен появится джарник с названием, которое вы указали в 12 строчке.
Если что то будет неправильно - обновлю статью.

Всем спасибо за внимание, всех люблю, всем добра и хорошего дня.
 
Последнее редактирование:
жоски
тольк ты пастерам не объяснил как деобфнуть колонию??
 
жоски
тольк ты пастерам не объяснил как деобфнуть колонию??
Ну там есть трансформеры под флоу и намбер, но не более. Тут либо писать эти трансформеры самому, либо сидеть и ждать, пока их кто то напишет.
 
ну как бы вот
 

Вложения

  • 2023-03-01_21-34-02.png
    2023-03-01_21-34-02.png
    998.2 KB · Просмотры: 791
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Спасибо за лучший в мире гайд !!!! Пойду сейчас деобфить цесеум клиент!!!
 
Спасибо, спастил себе тх в свой минцед :goplol:
 
аоэээ ээээ ммммм кароч обфускация это... ээээ нууу ааа ну короче в интернете загуглите тоже самое найдете на первой же строке ээээ нууу а деобфускация ну типа это ээээ ну типа тоже самое но эээээ наоборот кстати ээээ если вы не осилили загуглить думаю вам будет интересно узнать чем я пользуюсь ээээ ну вот вам деобфускатор который также гуглится первой строчкой в ответах ээээ

и да, proguard = обфускатор
 
аоэээ ээээ ммммм кароч обфускация это... ээээ нууу ааа ну короче в интернете загуглите тоже самое найдете на первой же строке ээээ нууу а деобфускация ну типа это ээээ ну типа тоже самое но эээээ наоборот кстати ээээ если вы не осилили загуглить думаю вам будет интересно узнать чем я пользуюсь ээээ ну вот вам деобфускатор который также гуглится первой строчкой в ответах ээээ

и да, proguard = обфускатор

Многие заблуждаются на счет ProGuard, ошибочно полагая, что это обфускатор, коим он не является по нескольким причинам:


  • Он не перемешивает код
  • Он не шифрует код

Главная задача ProGuard — поменять имена объектов, классов, методов, тем самым затрудняя анализ кода для реверс-инженера. Помимо этого он еще и оптимизирует код, удаляя неиспользуемые в программе ресурсы. Но, в конечном итоге, в классическом понимании обфускатором его назвать нельзя.
 
Назад
Сверху Снизу