Реальные имена методов времени выполнения, несмотря на обфускацию?

StackOverflow https://stackoverflow.com/questions/800172

  •  03-07-2019
  •  | 
  •  

Вопрос

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

Это было полезно?

Решение

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

Другие советы

В качестве альтернативы предполагается, что инструменты запутывания могут выводить свои собственные журналы обфускации, чтобы вы могли написать инструмент для перевода запутанных журналов вашего приложения во что-то удобочитаемое.

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

Вы можете хранить журналы обфускации в файловой системе в качестве ресурса приложения в jar-файле или загружать их с удаленного сервера.

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top