Я декомпилировал файл APK, затем попытался скомпилировать его и получил ошибку компилятора «Unreachable statement», я хочу знать, это трюк обфускатора или сбой декомпилятора? Как это возможно? Используется dex2jar и Java DecompilerUnreachable statement from output decompiler
А вот декомпилированный метод
public void onSensorChanged(SensorEvent paramSensorEvent) {
float[] arrayOfFloat = paramSensorEvent.values;
switch (paramSensorEvent.sensor.getType())
{
}
do
{
return;
} while (this.aDegree == arrayOfFloat[0]);
this.aDegree = arrayOfFloat[0];
invalidate();
}
Нам нужно убедиться, что исходный байт-код Dalvik, чтобы сказать наверняка. –
Вы никогда не можете быть уверены в том, что декомпилятор дает вам точное приближение к исходному коду. Это верно, даже если вывод * не * подозрительный. Попытка рассуждать о выходе декомпилятора, который вы * знаете *, является плохим или подозрительным, в лучшем случае бессмысленна и опасна. Лучшее, что вы можете сделать, это пройти через байт-код самостоятельно. –
Я часто получаю хороший декомпилированный вывод при компиляции без защиты pro, но с proguard я получаю неточные результаты, и я думал, что беспорядочный код является результатом proguard :) – mes