3

我尝试使用androguard 模块安装Yara 3.8.1 。在安装过程中,我遇到了这个问题,所以我将@reox给出的补丁应用到文件中,它解决了这个问题。之后,我使用命令行尝试了一个简单的 Yara 规则,它运行良好。然后我尝试在我的 python 应用程序中使用 Yara 规则,所以我安装了yara-python并以这种方式使用它:androguard.cimport "androguard"

import yara

dex_path = './classes.dex'
my_rule = './rule.yar'
json_data = load_json_data()

rule = yara.compile(my_rule)
matches = rule.match(filepath=dex_path, modules_data={'androguard': json_data})
print(matches)

match函数在使用没有模块的 Yara 规则时运行良好,import "androguard"但是当我想应用导入 androguard 的规则时,该match函数会出错:

yara.Error: could not map file "./classes.dex" into memory

我正在对一个小文件应用一个简单的规则,按 KB 顺序排列。我认为问题出在 androguard 模块上,因为当我删除 时import "androguard",它可以正常工作。任何想法?

4

1 回答 1

0

我和 androguard 有同样的错误,我解决了在 3.8.0 版本中安装 yara-python 的问题

https://github.com/VirusTotal/yara-python/releases/tag/v3.8.0

于 2020-04-08T16:05:19.563 回答