我试图对一个 Android 恶意软件示例进行逆向工程,在反编译通过运行dex2jar.
if (i >= paramBundle.length()) { ((TextView)findViewById(2131034112)).setText(((StringBuilder)localObject).toString()); return; }
我怎样才能找到2131034112引用的字符串?
我试图对一个 Android 恶意软件示例进行逆向工程,在反编译通过运行dex2jar.
if (i >= paramBundle.length()) { ((TextView)findViewById(2131034112)).setText(((StringBuilder)localObject).toString()); return; }
我怎样才能找到2131034112引用的字符串?
生成的 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 内容。