python怎么编写流氓软件_Python之利用机器学习检测安卓恶意软件实现(一)

本文介绍了如何使用Python的Androguard库批量拆包APK文件,提取AndroidManifest.xml中的权限信息。通过引入Androguard,无需手动解压,可以直接获取APK的权限、API调用等关键数据,为后续的恶意软件检测提供数据基础。

前言

上一篇文章写了如何使用Python写一个简单的爬虫,批量抓取APK的下载链接。这篇文章记录下如何批量拆包APK文件并提取想要的信息。

准备工作

Androguard环境部署:Androguard下载

在上一篇文章提到的准备工作的基础上,这篇文章需要加入Androguard作为环境。Androguard是一款开源的Android应用程序分析工具,使用Python编写。众多功能模块以Python包的形式存在。

使用方法:首先将GitHub上的Androguard项目下载下来。

670023af50f6?nomobile=yes

下载Androguard.png

下载完成后得到一个压缩包,解压后进入目录,把Androguard目录下所有的文件拷贝至Python的根目录下,合并同名文件夹即可。

检查环境是否部署成功:

打开cmd命令行,输入python进入交互状态。输入from androguard.core.bytecodes import apk, dvm如下图所示没有提示任何错误信息即可。

670023af50f6?nomobile=yes

检查环境.png

注意:在cmd下直接调python命令行需要将Python加入到环境变量中。

基础知识

首先APK文件可以用普通解压缩的方式拆包,如下图。

670023af50f6?nomobile=yes

解压完毕.png

熟悉安卓开发的人肯定对解压完毕后的文件很熟悉。这里主要介绍部分文件的作用。

1.assets文件:这里存放一些资源文件入图片等,一半情况下解压缩完毕后是可以直接看到这些图片的。

670023af50f6?nomobile=yes

assets.png

2.lib文件:这里存放安卓开发中使用到的库文件

670023af50f6?nomobile=yes

库文件.png

3.AndroidManifest文件:这是我们这次需要关注的重点。一个安卓应用需要申请的权限信息,以及Activity等组件的注册信息都需要在AndroidMainfest.xml文件中声明。但是直接解压后的AndroidManifest文件查看确是如下这种情况:

670023af50f6?nomobile=yes

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值