安卓逆向系列教程 4.1 字符串资源

安卓逆向系列教程 4.1 字符串资源

作者:飞龙

这篇教程是 APK 逆向实战的第一个例子,我会以一个非常简单的程序开始。主要内容就是修改字符串资源,除了破解所需之外,汉化也需要了解这个东西。我们的程序是这个样子。

安卓逆向系列教程 4.1 字符串资源_第1张图片

可以告诉大家的是,这三个文本的位置都不一样。

下面我们将其载入 Android Killer。完成后,在文本搜索框中搜索文本 1

安卓逆向系列教程 4.1 字符串资源_第2张图片

这样是不会有任何效果的,我们就猜测这个字符串应该是写入代码中的,而反编译出来的代码中的字符串以\uxxxx编码。所以我们要搜索\u6587\u672c 1。可以看到它的确存在于代码中。

安卓逆向系列教程 4.1 字符串资源_第3张图片

下面我们要寻找文本 2,我们首先看一看这个函数,这是MainActivityonCreate。这里没有其它的字符串了,说明一定在别处。

我们搜索\u6587\u672c 2,也是无效果的。那么我们搜索文本 2

安卓逆向系列教程 4.1 字符串资源_第4张图片



我们在activity_main里面找到了这个东西,它是MainActivity的布局文件,布局文件中的字符串是不编码的。所以以后我们就需要两种情况都试一试。

我们查看第三个TextView,它的 ID 是@id/textView3,那么肯定就是我们要找的第三个文本框。我们可以看到它的text属性是@string/text3_text,说明它可能在strings.xml里面。

我们直接访问strings.xml,我们可以看到文本 3在这里:

安卓逆向系列教程 4.1 字符串资源_第5张图片

虽然 Android 不提倡硬编码在代码或者布局文件里面,但总有些人是这样做的,我们就需要了解。

你可能感兴趣的:(安卓逆向系列教程 4.1 字符串资源)