我使用android app decompiler来反编译随机应用程序。似乎应用没有被混淆-甚至保留了变量名。事情是用Java代码。有时我会出错。那是示例:
private long compressAndFormat(byte[] token data) {
long result = 0;
int i = 0;
while (true) {
try {
if (i >= this.ipb.length) {
return result >> 1;
}
int bit;
while (bit >= 0) {
byte mask = (byte) (1 << bit);
if ((this.ipb[i] & mask) != 0) {
if ((tokenData[i] & mask) != 0) {
result |= 1;
}
result <<= 1;
}
bit--;
}
i++;
} finally {
result = 0;
}
}
}
在这种情况下,我收到错误Variable 'bit' might not have been initialized
。为什么会这样呢?此应用是用Java的较旧版本编写的,您可以在其中使用变量而无需初始化,否则反编译器有问题?