Я пытался установить Yara 3.8.1 с androguard module .Во время установки я столкнулся с этой проблемой , поэтому я применил исправление, данное @reox, к файлу androguard.c
, и он решил проблему.После этого я попробовал простое правило Yara с import "androguard"
, используя командную строку, и оно отлично работало.Затем я попытался использовать правила Yara в своем приложении python, поэтому я установил 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)
Функция match
хорошо работает при использовании правил Yaraбез модуля import "androguard"
, но когда я хочу применить правило, которое импортирует androguard, функция match
выдает ошибку:
yara.Error: could not map file "./classes.dex" into memory
Я применяю простое правило к небольшому файлу в порядкеKB.Я думаю, что проблема с модулем androguard, так как, когда я удаляю import "androguard"
, он работает правильно.Любая идея?