Android应用安全系列 part 4 – 了解你的军火库

Android Debug Bridge (Android调试桥)

接下来讲adb中必须了解的命令,我推荐阅读adb文档来更好去理解。

adb devices–打印所有可用的模拟器和设备列表

使用mumu模拟器,在appie中输入命令 adb devices,输出可用列表为空

因为adb和mumu模拟器还没有建立连接,使用命令  adb connect 127.0.0.1:7555 (mumu模拟器监听端口7555)

此时建立adb与模拟器之间的连接

adb install — 向模拟设备安装apk文件,下载好apk文件然后上传至设备

此时看到应用已经安装到设备中

adb pull — 将设备中的数据下载到本地

adb push — 将本地数据上传到远程设备,也可以上传文件

查看文件已经上传成功

adb forward — 在本地特定端口与远程设备特定端口之间建立socket连接

adb shell — adb提供unix命令行模式,你可以在远程设备中执行各种命令

尽管有许多其他应用,Activity Manager(am)和Package Manager(pm)也在adb shell中。我们通常使用drozer来完成同样的命令,因为drozer可以更简洁的完成任务。

Drozer

drozer可以让你在应用中通过枚举应用角色等来发现安全漏洞,并且可以与Dalvik虚拟机、其他应用进程通信终端以及底层操作系统交互。

drozer在android应用安全评估中非常重要,会另写一篇文章讲解。

Apktool

输入apktool会列举配置和命令帮助信息

输入命令 apk d filename.apk 对apk文件进行解码。

运行完成,在同一目录下建立解码文件。

在windows下也可以直观看到新解码内容

dex2jar

dex2jar用于将apk文件转化成包含重建源代码的jar文件, 通过dex2jar filename.apk命令实现。

jd-gui

  • 以上步骤将apk转成jar文件
  • 现在用jd-gui打开jar文件并查看重构后的源代码
  • 首先输入jdgui,打开jd-gui界面
  • 选择要打开的jar文件

打开文件查看源代码

PS:推荐使用国产android逆向神器 android killer

打开apk文件,自动进行解析

打开jd-gui工具,可以查看源代码

 

您可能还喜欢...