Отладка Java запутала код

// Create a request variable and assign a new XMLHttpRequest object to it.
var request = new XMLHttpRequest()

// Open a new connection, using the GET request on the URL endpoint
request.open('GET', 'restUrl', true)

request.onload = function () {
  // Begin accessing JSON data here
}

// Send request
request.send()
5
задан Vitaly 6 September 2009 в 07:12
поделиться

2 ответа

У нас такие же потребности (простая обфускация, потребуется отладка позже) и мы используем ProGuard . Это приложение Java, которое можно интегрировать в задачу Ant.

Он может многое, но также полностью настраиваемый. Таким образом, вы можете упростить запутывание. Один из вариантов - создать «Таблицу соответствия символов», которая позволяет извлекать необфукированный код из обфусцированного. (он отслеживает, что переменная xyz в классе qksdnqd на самом деле является myCuteVarName в классе MeaningfulClassName)

Редактировать: Обфускация может быть сложной. Некоторые примеры:

  • Вы не можете изменить имя вашего основного метода.
  • Вы используете загрузчик классов? Может ли он получить класс после обфускации?
  • А как насчет вашего сопоставления ORM? Ваш весенний контекст? (если есть)

Edit2: Вы также можете увидеть:

5
ответ дан 14 December 2019 в 19:20
поделиться

См. SD Java Obfuscator . Он удаляет комментарии и пробелы и переименовывает все члены / методы / имена классов, которые не являются общедоступными.

Он также предоставляет вам карту того, как был запутан код, например, для каждого символа FOO, запутанного как XYZ, карта FOO-> XYZ. Это означает, что если вы получите обратную трассировку с упоминанием XYZ, вы легко сможете определить исходный символ FOO. Конечно, поскольку эта карта есть только у вас (человека, выполняющего обфускацию), только вы можете это сделать.

0
ответ дан 14 December 2019 в 19:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: