首页 > 解决方案 > 反编译未混淆的 apk 包含 java 代码中的错误

问题描述

我使用android 应用反编译器来反编译随机应用。似乎 app 没有被混淆 - 甚至变量名也被保留了。问题在于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编写的,你可以在没有初始化的情况下使用变量,或者反编译器有什么问题?

标签: javaandroid

解决方案


推荐阅读