当前位置: 首页 > wzjs >正文

定陶网站建设网络推广培训

定陶网站建设,网络推广培训,国外做的好的医疗网站设计,跑腿网站建设前言 上篇说到对安卓APK反编译,本篇实现批量反编译和批量特征提取及计算,主要就是通过python代码与cmd进行批量化交互,我在写文章之前,尝试批量下载了安卓apk(大约10来个),发现现在这个应用软件…

前言

上篇说到对安卓APK反编译,本篇实现批量反编译和批量特征提取及计算,主要就是通过python代码与cmd进行批量化交互,我在写文章之前,尝试批量下载了安卓apk(大约10来个),发现现在这个应用软件不是一般的大啊,无奈电脑内存不太够,现仅将已下载10个apk作为示例展示。

1. 批量反编译

思路是这样:
第一步:调用cmd,读取指定路径下的文件,path+benign+k(k=1,2…n),进行反编译
第二步:结果就自动放到该文件夹目录下
出现的问题是os.system调用了cmd后立马又关闭,无法持续执行命令,看到文章windows系统如何使用python执行多条命令行命令
代码如下(我的cmd命令在pycharm中设定的就是malware_identification下):

def oper_cmd(apk):cmd_str = "cd ../restore & "+"apktool.bat d -f " + apkprint(cmd_str)return subprocess.Popen(cmd_str, shell=True, stdout=None, stderr=None).wait()
for i in range(1,11):apk = "benign" + str(i) + ".apk"oper_cmd(apk)

执行如下图,开始批量反编译:
在这里插入图片描述
批量反编译成功!
在这里插入图片描述

2. 单文件特征提取

看到xml标签项和属性值,假设我们需要提取的特征就是属性值的最后一个字符串。
在这里插入图片描述
直接上提取代码,这里用到了xml.dom和正则表达式:

# 获取xml文件当中某个标签的属性值
import re
from xml.dom.minidom import parsefrom character_handle.frequency_order import config_filexmldom = parse(config_file) # 加载XMLfor element in xmldom.getElementsByTagName("uses-permission"):a = element.getAttribute("android:name")b = re.findall(r'\w{1,}', a)[-1]print(b)

成功取出,同理,更改TagName也可以获取其他标签的属性值。
在这里插入图片描述
多做一步,计算特征属性值出现的频次:

# 获取xml文件当中某个标签的属性值
import re
from collections import Counter
from xml.dom.minidom import parsefrom character_handle.frequency_order import sample_get
def counter(arr):return Counter(arr)
xmldom = parse(sample_get.get_file("benign1")) # 加载XML
# 多做一步,将每个特征存储为一个list,然后count
list_uses_permission = []
for element in xmldom.getElementsByTagName("uses-permission"):a = element.getAttribute("android:name")b = re.findall(r'\w{1,}', a)[-1]list_uses_permission.append(b)
c = counter(list_uses_permission)
print(c)

在这里插入图片描述

3. 批量文件特征提取

# 批量获取多个文件夹中xml当中某个标签的属性值
import re
from collections import Counter
from xml.dom.minidom import parsefrom character_handle.frequency_order import sample_get
def counter(arr):return Counter(arr)
list_uses_permission = []
# 批量加载XML,并提取属性值
for i in range(1,11):xmldom = parse(sample_get.get_file("benign%d"%i))for element in xmldom.getElementsByTagName("uses-permission"):a = element.getAttribute("android:name")b = re.findall(r'\w{1,}', a)[-1]list_uses_permission.append(b)
c = counter(list_uses_permission)
print(c)

在这里插入图片描述
可以看到count函数已经帮助我们将频次顺序也归纳好了,这时候我们可以根据自己的需求去使用这些属性,end!
下一篇学习一下如何将这些属性值转化为特征值和特征向量进行处理。

http://www.dtcms.com/wzjs/93193.html

相关文章:

  • 专业的移动网站建设小广告网页
  • wordpress怎么改模板白帽优化关键词排名seo
  • 网站建设与网站设计哪个好学求个没封的网站2022
  • 陕西省政府网站建设上海sem
  • 郑州网站建设维护网站免费建站app
  • 网站做外链平台有哪些刚刚突发1惊天大事
  • 广告艺术设计专业介绍网站优化提升排名
  • 用web做购物网站百度宣传广告要多少钱
  • 怎么样再自己的网站做二级域名武汉大学人民医院官网
  • 宁波做网站的专业公司软文媒体发稿平台
  • 太原网站建设详细策划下载手机百度最新版
  • 企业网站站内优化搭建一个网站
  • 购物网站 后台模板手机百度seo快速排名
  • 网站建设哪家好知道产品软文范例500字
  • 中国佛山营销网站建设平台推广怎么做
  • 做网站和域名简述网站内容如何优化
  • 医院网站可以自己做吗百度搜索引擎推广
  • 网站备案如何申请网站竞价推广托管公司
  • 新网站如何做seo优化seo自媒体培训
  • 阿里云网站备份seo技术服务外包
  • 建设小型网站价钱最有效的15个营销方法
  • 成都网页设计美工培训南昌seo计费管理
  • 北京红酒网站建设长沙岳麓区
  • 地方网站 域名选择营销策划公司介绍
  • 企业网站的设计要点新闻摘抄2022最新20篇
  • 淘宝做关键词的网站广告最多的网站
  • 潍坊网站建设seo百度霸屏推广多少钱一个月
  • 做网站样品图片怎么拍照南宁seo结算
  • 深圳南园网站建设商业软文
  • 六安营销公司优化网站搜索