Pull to refresh

Comments 15

Для той же задачи можно облегчить себе жизнь и использовать ASM или агенты, т.к. JAD не всегда хорошо справляется с декомпиляцией java 5+ байткода, особенно перед этим обфусцированного, да и вообще декомпилированный код чаще очень сложно читать.

Можно попробовать FernFlower или Procyon. JAD, конечно, мёртвенький.

>> Можно попробовать FernFlower

В IntelliJ IDEA он уже встроен, так что даже ничего искать не надо.
Да, разумеется — существует много путей достижения цели.
Но когда справляется JAD, зачем усложнять себе жизнь?
Потому что не всегда справляется, а так — да.

Для еще большей легкости модификации байт-кода в рантайме я лично для себя открыл tapestry-plastic

Что значит "ASM или агенты"? Первое — про способ преобразования класса, второе — про точку входа.

Именно потому, что они позволяют к проблеме подойти с разных сторон.

Так нет же, это ортогональные вещи. Пропатчив байткод класса через asm все еще остается вопрос "как подсунуть этот байткод в jvm". С другой стороны, зайдя в jvm через агента, нужно еще как-то изменить байткод класса.

как подсунуть этот байткод в jvm

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

или подсунуть свой класс вместо существующего.

А почему нельзя подсунуть байткод, сделанный асмом, через агента? Или почему нельзя подсунуть свой класс вместо существующего в загрузчик классов?

UFO just landed and posted this here
Ага, статья совсем «для начинающих». Название, на мой взгляд, полностью это отражает — «Easy Hack».
Этот метод патча ни в коем случае не претендует на универсальность. Он даже не способен обойти простейшие механизмы защиты, как вы правильно заметили.
Однако, этот метод работает очень во многих случаях — далеко не все бинарники обфуцируют.
Думаю, эта инструкция пригодится людям далёким от java, которые не хотят лезть в байткод и разбираться в java-машине
Первые 5-10 страниц любой книги. Боже, куда же катится Habrahabr! Верните мне Habrahabr 2011/2013, когда я ничего не понимал и приходилось гуглить сложные термины, чтобы стать умнее… Или это я уже настолько умный, что всё понимаю?(
Sign up to leave a comment.

Articles