|
|
|
Java Decompiler восстанавливает код класса и мне нужно без компиляции класса ...
|
|||
|---|---|---|---|
|
#18+
Java Decompiler восстанавливает код класса и мне нужно без компиляции класса внести правки в бинарный файл. Собственно есть условие, например: Код: java 1. мне нужно поменять больше на меньше. Возможно такое сделать? Всё, что мы видим - это лишь иллюзия ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2015, 17:42 |
|
||
|
Java Decompiler восстанавливает код класса и мне нужно без компиляции класса ...
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2015, 17:50 |
|
||
|
Java Decompiler восстанавливает код класса и мне нужно без компиляции класса ...
|
|||
|---|---|---|---|
|
#18+
RWolf Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Эхх, если бы все так просто.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2015, 17:51 |
|
||
|
Java Decompiler восстанавливает код класса и мне нужно без компиляции класса ...
|
|||
|---|---|---|---|
|
#18+
Маслов АндрейЭхх, если бы все так просто....Вам объяснили что на что заменить любым шестнадцатиричным редактором. Поиск смещения оставили в качестве домашнего упражнения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2015, 17:54 |
|
||
|
Java Decompiler восстанавливает код класса и мне нужно без компиляции класса ...
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2015, 18:17 |
|
||
|
Java Decompiler восстанавливает код класса и мне нужно без компиляции класса ...
|
|||
|---|---|---|---|
|
#18+
Маслов АндрейJava Decompiler восстанавливает код класса и мне нужно без компиляции класса внести правки в бинарный файл. Тут... как-то по смыслу странно. Лучше-бы поискать свойстко или константу где i инициализировалось. Да и практика какая-то порочная. Байты менять. Это даже не реверс-инжинеринг а просто "стрельба себе в ногу". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2015, 19:10 |
|
||
|
Java Decompiler восстанавливает код класса и мне нужно без компиляции класса ...
|
|||
|---|---|---|---|
|
#18+
maytonМаслов АндрейJava Decompiler восстанавливает код класса и мне нужно без компиляции класса внести правки в бинарный файл. Тут... как-то по смыслу странно. Лучше-бы поискать свойстко или константу где i инициализировалось. Да и практика какая-то порочная. Байты менять. Это даже не реверс-инжинеринг а просто "стрельба себе в ногу". Это был первый шаг, я нашел, но там всего один байт. Мне удалось установить число 0x79, если больше, то он рассматривает значение, как отрицательное число. Поэтому пришла мысль поискать другой способ. Например поменять условие... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2015, 23:35 |
|
||
|
Java Decompiler восстанавливает код класса и мне нужно без компиляции класса ...
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovМаслов АндрейЭхх, если бы все так просто....Вам объяснили что на что заменить любым шестнадцатиричным редактором. Поиск смещения оставили в качестве домашнего упражнения. Если таких байтов больше 1000?! Долгое домашнее задание. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2015, 23:36 |
|
||
|
Java Decompiler восстанавливает код класса и мне нужно без компиляции класса ...
|
|||
|---|---|---|---|
|
#18+
Маслов Андрейmaytonпропущено... Тут... как-то по смыслу странно. Лучше-бы поискать свойстко или константу где i инициализировалось. Да и практика какая-то порочная. Байты менять. Это даже не реверс-инжинеринг а просто "стрельба себе в ногу". Это был первый шаг, я нашел, но там всего один байт. Мне удалось установить число 0x79, если больше, то он рассматривает значение, как отрицательное число. Поэтому пришла мысль поискать другой способ. Например поменять условие... Был кастинг в byte (с диапазоном от -128 до 127) на каком-то этапе. Слушай. Игры с константами до добра не доведут. Во первых компиллятор их расшаривает для других целей. Тоесть (теоретически) ты правил константу не для этого кода а для множеста логик где она использовалась. Во вторых в JVM есть магические константы (-1,0,1,2....8) которые нигде не декларируются но имеют краткие опкоды прогрузки констант на стек. И ты нифига никогда не догадаешся какую константу они грузят ибо опкод не содержит в себе ее саму. По этой теме можешь курить JVM instruction set в разделе iconst_<i> Тоесть подмена байтов в Java-байткоде с целью достижения какого-либо эффекта имеет еще меньше надежд на успех чем в бинарнике собраном ассемблером для x86. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2015, 05:44 |
|
||
|
Java Decompiler восстанавливает код класса и мне нужно без компиляции класса ...
|
|||
|---|---|---|---|
|
#18+
maytonМаслов Андрейпропущено... Это был первый шаг, я нашел, но там всего один байт. Мне удалось установить число 0x79, если больше, то он рассматривает значение, как отрицательное число. Поэтому пришла мысль поискать другой способ. Например поменять условие... Был кастинг в byte (с диапазоном от -128 до 127) на каком-то этапе. Слушай. Игры с константами до добра не доведут. Во первых компиллятор их расшаривает для других целей. Тоесть (теоретически) ты правил константу не для этого кода а для множеста логик где она использовалась. Во вторых в JVM есть магические константы (-1,0,1,2....8) которые нигде не декларируются но имеют краткие опкоды прогрузки констант на стек. И ты нифига никогда не догадаешся какую константу они грузят ибо опкод не содержит в себе ее саму. По этой теме можешь курить JVM instruction set в разделе iconst_<i> Тоесть подмена байтов в Java-байткоде с целью достижения какого-либо эффекта имеет еще меньше надежд на успех чем в бинарнике собраном ассемблером для x86. не все так плохо 8). Подмена прекрасно работает, во всяком случае, для моей ситуации. А за совет спасибо 8). Тут другая проблема, куда более трудная. Я никогда с таким не сталкивался и понятия не имею, как такое сделать. См. ссылку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2015, 09:58 |
|
||
|
Java Decompiler восстанавливает код класса и мне нужно без компиляции класса ...
|
|||
|---|---|---|---|
|
#18+
Лечение битого zip-архива это практически не программистская задача. Есть масса утилит (в свободном доступе) которые это делают. Какая здесь точка приложения для Java разработки - непонятно. Если стандартный java.util.zip обругался на формат файлов то видимо так и надо. А владельцы торрент-раздач как будто издеваются над нами. Специально фабрикуют битые архивы. Хуже того это длинное имя чаще замаскировано под вирус. Поэтому луче его вообще не открывать. Так оно жить спокойнее будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2015, 13:39 |
|
||
|
Java Decompiler восстанавливает код класса и мне нужно без компиляции класса ...
|
|||
|---|---|---|---|
|
#18+
maytonЛечение битого zip-архива это практически не программистская задача. Есть масса утилит (в свободном доступе) которые это делают. Какая здесь точка приложения для Java разработки - непонятно. Если стандартный java.util.zip обругался на формат файлов то видимо так и надо. А владельцы торрент-раздач как будто издеваются над нами. Специально фабрикуют битые архивы. Хуже того это длинное имя чаще замаскировано под вирус. Поэтому луче его вообще не открывать. Так оно жить спокойнее будет. Железная логика 8) Но все-таки мне нужно каким-то образом это имя заменить, либо текст в этом файле ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2015, 16:48 |
|
||
|
Java Decompiler восстанавливает код класса и мне нужно без компиляции класса ...
|
|||
|---|---|---|---|
|
#18+
Маслов Андрей, Надо взять пару ассемблер-дизассемблер, например, из https://wiki.openjdk.java.net/display/CodeTools/Chapter 2 . Дизассемблируете, правите текст, и обратно компилируете в байткод. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2015, 10:12 |
|
||
|
Java Decompiler восстанавливает код класса и мне нужно без компиляции класса ...
|
|||
|---|---|---|---|
|
#18+
rfqМаслов Андрей, Надо взять пару ассемблер-дизассемблер, например, из https://wiki.openjdk.java.net/display/CodeTools/Chapter 2. Дизассемблируете, правите текст, и обратно компилируете в байткод. Спасибо, но это не так просто сделать после обфускатора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2015, 10:16 |
|
||
|
Java Decompiler восстанавливает код класса и мне нужно без компиляции класса ...
|
|||
|---|---|---|---|
|
#18+
Маслов Андрей, Так Вы декомпилировали файл нашли место, т.е. метод, далее с помощью AspectJ замените(модифицируете) этот метод в классе на свой переписанный и сразу можете записать в jar. И не надо беспокоится о длинных именах, AspectJ может загрузить класс из архива, модифицировать и снова записать в архив. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2015, 10:20 |
|
||
|
Java Decompiler восстанавливает код класса и мне нужно без компиляции класса ...
|
|||
|---|---|---|---|
|
#18+
0FDМаслов Андрей, Так Вы декомпилировали файл нашли место, т.е. метод, далее с помощью AspectJ замените(модифицируете) этот метод в классе на свой переписанный и сразу можете записать в jar. И не надо беспокоится о длинных именах, AspectJ может загрузить класс из архива, модифицировать и снова записать в архив. а если имя файла класс 262 симовла? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2015, 12:58 |
|
||
|
Java Decompiler восстанавливает код класса и мне нужно без компиляции класса ...
|
|||
|---|---|---|---|
|
#18+
Маслов Андрей, Какая разница, ведь на диске не создается такой файл? а в архиве. есть там параметр outjar, как-то так, если использовать ajc. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2015, 13:16 |
|
||
|
Java Decompiler восстанавливает код класса и мне нужно без компиляции класса ...
|
|||
|---|---|---|---|
|
#18+
Маслов АндрейСпасибо, но это не так просто сделать после обфускатора. А в чем проблема? Вы пробовали и у вас возникли трудности? Какие? Не буквенно-цифровые идентификаторы? Но jasm вроде должен с этим справляться, а jcoder и подавно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2015, 17:05 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38865788&tid=2125867]: |
0ms |
get settings: |
7ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
148ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 430ms |

| 0 / 0 |
