我试着用androguard module安装Yara 3.8.1。在安装过程中,我遇到了this issue,所以我对androguard.c文件应用了@reox提供的补丁,它解决了这个问题。在那之后,我使用命令行在import "androguard"上尝试了一个简单的Yara规则,它完美地工作了。然后我尝试在我的python应用程序中使用Yara规则,所以我安装了yara-python,并以这种方式使用它:
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)当使用不带import "androguard"模块的Yara规则时,match函数工作得很好,但是当我想要应用一个导入androguard的规则时,match函数给出一个错误:
yara.Error: could not map file "./classes.dex" into memory我将一个简单的规则应用于一个小文件,按KB的顺序排列。我认为问题出在androguard模块上,因为当我移除import "androguard"时,它可以正常工作。有什么想法吗?
发布于 2020-04-09 00:05:20
我在androguard上也犯了同样的错误,我解决了在3.8.0版本中安装yara-python的问题
https://github.com/VirusTotal/yara-python/releases/tag/v3.8.0
https://stackoverflow.com/questions/52702261
复制相似问题