记录一下jadx的误报

  • Post author:
  • Post category:其他


用jadx逆向某app为java代码时遇到个奇怪的类

import anet.channel.entity.ConnType;

各种搜索也不确定是什么用的,最后大概确定是阿里开发的跟网络相关的库,大部分用在国内阿里系的产品上。

但还有个问题就是发现

//忽略语法
import anet.channel.entity.ConnType;
String str = ConnType.PK_AUTO;
 parameters.setPreviewSize(previewSize.width, previewSize.height);
            List<String> supportedFocusModes = parameters.getSupportedFocusModes();
            if (supportedFocusModes != null) {
                if (!supportedFocusModes.contains(str)) {
                    if (supportedFocusModes.contains("continuous-picture")) {
                        str = "continuous-picture";
                    } else if (supportedFocusModes.contains("continuous-video")) {
                        str = "continuous-video";
                    }


getSupportedFocusModes()

本应该是android自带的关于相机的method,竟然会和

ConnType.PK_Auto

扯上关系,查询Android开发者文档发现有类似参数

FOCUS_MODE_AUTO

接着又在

com.google.android.gms.measurement.internal

类中也发现import了anet相关的类,同样是

private static final List<String> zzc = Arrays.asList(new String[]{ConnType.PK_AUTO, "app", "am"});

,觉得有点蹊跷

最后只能查看smali代码,找到对应的地方,发现

ConnType.PK_AUTO

对应

const-string v0, "auto"

,两个都是这样,而且smali代码也搜不到anet相关的。

因此推测就是jadx把

"auto"

关联到

ConnType.PK_AUTO

上了,并且自动添加了

import anet.channel.entity.ConnType;



总结

jadx逆向apk得到的java虽然方便些,但可靠性还得是smali,而且jadx经常处理不了switch结构



版权声明:本文为Iv3R_c原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。