移动端测试

当前位置:首页 > 移动端测试

大话移动APP测试Android 与iOS应用测试指南(第五章)(续)


5.10反编译、重编译

在Android早期做apk应用的时候,很多人对于反编译还没有概念,或者说还没有防范意识。随着反编译的流行,为了保证自己的产品不会变成满天飞的山寨应用,更多的企业选择了混淆编译以及将核心逻辑编译成so等方法,以防止别人的反编译。由于对移动安全方面了解甚少,所以本书只有这一节涉及到安全方面的皮毛也许,笔者有兴趣的朋友可以翻阅相关资料学习。.

第一个需要用到的工具是Apktools,下载地址:

htps:/:/e.oge.com/p/android-apotoo/downloads/ist。解压之后会得到

apktools.jar文件,打开终端指向apkools根目录,输入以下命令即可完成反编译: .

java -jar apktool.jar d xxx.apk

成功反编译的话可以看到如下日志并生成-一个和apk名字一样的文件夹。

I: Baksmaling...
I: Loading resource table...
I: Loaded.
I: Decoding Androi dManifest.xml with resources. . .
I: Loading resource table from file: /Users/app1e/Library/apktoo1/fr
amework/1.apk
I: Loaded.
I: Regular manifest package... .
I: Decoding file- resources. ..
I: Decoding values */* XMLs...
I: Done.
I: Copying assets and libs. ..

这样就可以根据我们的需求对mainfest.xml等文件做相应的修改了(比如增加权限等)。

接下来我们就需要进行重编译,同样要使用Apktools工具。在终端中输入:

java -jar apktools.jar b <反编译出来的文件夹>

重编译成功的话会在文件夹中看到build和dlist文件夹,重新编译成功的apk就保存在dlist文件夹中。但是这个apk目前还不能正常安装,原因是该apk还是未签名状态(unsign)。接下来我们就说说Android应用的签名。

在Eclipse的设置中点击Android标签中的Build选项,可以看到Eclipse中Android工程默认的签名都是Android ADT自带的debug签名,如图所示。

大话移动APP测试Android 与iOS应用测试指南(续)

同样地,右键-一个项 目,选择Android Tools中的Expert Signed Application Package,

能够成功创建所选签名证书的应用apk。 而需要让-一个没有签名的应用程序签上名的

话,需要第3个工具: re-sign.jar。 re-signjar 的下载地址: .

http:/ /czxttk1.com/ res/re-sign.jar

使用该工具能将之前重编译的应用变成带有签名证书的应用。

在整个反编译过程中最重要的目的除了修改以外还有一一个,那就是查看源代码。这里就需要第4个工具dex2jar,下载地址:

https://code . google. com/p/dex2jar/downloads/list

解压之后,运行一下命令给予相应的权限:

chmod +x dex2jar .sh

接着使用该文件进行反编译:

./dex2jar.sh xxx.apk

成功之后会出现_dex2jar.jar文件,然后我们需要下载第5个工具JD-GUI,下载地址:htp:/:/va.decompier.frr.f.r/.使用该工具打开<apk name>. dex2jarjar 文件,就能够直接看到应用程序的代码,如下图所示。

大话移动APP测试Android 与iOS应用测试指南(续)

本节简单介绍了反编译、重编译、签名等需要使用的工具。由于相关的其他测试我用得也不多,所以更多的知识还需要读者多谷歌学习了。



相关内容

文章评论

表情

共 0 条评论,查看全部
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~