Android 恶意软件逆转:常量值

逆向工程 安卓
2021-07-10 21:57:51

我试图对一个 Android 恶意软件示例进行逆向工程,在反编译通过运行dex2jar.

  if (i >= paramBundle.length())
  {
    ((TextView)findViewById(2131034112)).setText(((StringBuilder)localObject).toString());
    return;
  }

我怎样才能找到2131034112引用的字符串

1个回答

生成的 jar 文件dextojar应包含一个名为 的类R该类包含具有资源 ID 定义的子类:

public final class R {
...
    public static final class list {
        public static final int filename=0x7f050001;
        public static final int type=0x7f050000;
    }
...
}

(子)类名称和变量名称对应于 apk 文件 (res/layout/*.xml) 中资源定义的 id。在上面的例子中,R.java 是从 res/layout/main.xml 中的这些条目自动生成的:

 <TextView
   android:id="@+list/type"
   android:layout_width="20dip"
   android:layout_height="20dip"
   android:textSize="16sp"
    />
 <TextView
   android:id="@+list/filename"
   android:layout_width="0dp"    android:layout_weight="1"
   android:layout_height="wrap_content"
   android:textSize="16sp"
    />

因此,由于2131034112equals0x7F050000和 my R.javaand main.xml,您的代码将设置@+list/typetextview 内容。