如何提取安装的apk
提取安装的apk可以通过两种方式:第一种是通过ADB命令,第二种是通过第三方应用程序进行。
通过ADB命令提取apk
1. 在电脑上打开命令行窗口,确保ADB已经安装和配置好。
2. 在Android设备上开启开发者模式并允许USB调试。连接设备到电脑上,确保设备已经被识别。
3. 在命令行窗口中输入以下命令:
adb shell pm list packages
4. 命令执行后,将列出所有已安装的应用程序,找到你想要提取的apk包名,例如com.example.app。
5. 确定要提取的apk包名后,输入以下命令:
adb shell pm path com.example.app
6. 该命令将显示安装的apk的位置,例如/data/app/com.example.app-1/base.apk,复制文件路径。
7. 在命令行中输入以下命令:
adb pull /data/app/com.example.app-1/base.apk C:\Users\你的用户名\Desktop\
请将路径改为你复制的路径和你的桌面路径。
通过第三方程序提取apk
1. 在Google Play商店中下载和安装应用程序ES文件浏览器,它是一款非常流行的文件管理器应用。
2. 打开应用程序后,找到要提取的应用程序apk,并长按该文件,选择“复制”。
3. 选择“粘贴”,在弹出的窗口中选择“转到”选项卡,并选择你想要提取文件的位置。
4. 提取完成后,你将在选择的文件夹中找到已经复制的apk文件。
总结
无论使用ADB命令还是第三方程序,都可以轻松地提取已经安装的apk文件。通过提取apk,你可以轻松地备份和分享应用程序。但是需要注意的是,提取的apk文件可能会存在版本差异性和权限问题,需要自行解决。
相关内容阅读
最近在复习之前的笔记,简单写几句。
对于安卓平台来说,下载到apk文件并在手机安装是很容易的。如果apk文件没有做加壳处理,可以通过解包apk文件,基于app代码进行漏洞挖掘。
1、解包提取代码
apk文件,本质上是一个压缩文件,将相关文件后缀从apk改为zip,就可以将文件从压缩包里释放出来,将其中dex文件丢给dex2jar之类的工具,就能够看到代码了。也有一些图形化工具,能直接打开apk文件,并对其中的dex进行反编译。
2、提取有用信息
代码里,可能包含各类敏感信息,常见的包括:各种appsecret、域名、接口等等。基于这些信息,可以尝试挖掘未授权访问、命令执行、ssrf等等漏洞。
ssrf漏洞审计关键字:
url= 、 token 、 https 、 http 、 :// 、source=、share 、link 、 src 、imageurl、target 、downloadurl 、download_url
命令执行:
Runtime.getRuntime().exec() 、system()、exec()、shell_exec()
api接口:
api、api/v1、@POST("/、@GET
密钥相关敏感信息:
token、secret、password
域名判断可能导致的cookie泄露:
contains(" ,确认是否包含相关域名
mqtt信息:
mqtt
oss信息:
oss
3、现成的工具
有一些现成的工具,能够直接提取apk里的信息
https://github.com/ndelphit/apkurlgrep
https://github.com/kelvinBen/AppInfoScanner
上面这两个之前用过,感觉还可以,最近用的apkleaks非常不错,直接pip3 install apkleaks就可以。