mirror of
https://github.com/mandiant/capa.git
synced 2025-12-22 07:10:29 -08:00
tests: add demonstration of bb layout
This commit is contained in:
@@ -182,6 +182,8 @@ def get_data_path_by_name(name):
|
|||||||
return os.path.join(CD, "data", "kernel32.dll_")
|
return os.path.join(CD, "data", "kernel32.dll_")
|
||||||
elif name == "kernel32-64":
|
elif name == "kernel32-64":
|
||||||
return os.path.join(CD, "data", "kernel32-64.dll_")
|
return os.path.join(CD, "data", "kernel32-64.dll_")
|
||||||
|
elif name == "pma01-01":
|
||||||
|
return os.path.join(CD, "data", "Practical Malware Analysis Lab 01-01.dll_")
|
||||||
elif name == "pma12-04":
|
elif name == "pma12-04":
|
||||||
return os.path.join(CD, "data", "Practical Malware Analysis Lab 12-04.exe_")
|
return os.path.join(CD, "data", "Practical Malware Analysis Lab 12-04.exe_")
|
||||||
elif name == "pma16-01":
|
elif name == "pma16-01":
|
||||||
@@ -234,6 +236,8 @@ def get_sample_md5_by_name(name):
|
|||||||
return "56bed8249e7c2982a90e54e1e55391a2"
|
return "56bed8249e7c2982a90e54e1e55391a2"
|
||||||
elif name == "pma16-01":
|
elif name == "pma16-01":
|
||||||
return "7faafc7e4a5c736ebfee6abbbc812d80"
|
return "7faafc7e4a5c736ebfee6abbbc812d80"
|
||||||
|
elif name == "pma01-01":
|
||||||
|
return "290934c61de9176ad682ffdd65f0a669"
|
||||||
elif name == "pma21-01":
|
elif name == "pma21-01":
|
||||||
return "c8403fb05244e23a7931c766409b5e22"
|
return "c8403fb05244e23a7931c766409b5e22"
|
||||||
elif name == "al-khaser x86":
|
elif name == "al-khaser x86":
|
||||||
|
|||||||
@@ -375,3 +375,14 @@ def test_backend_option(capsys):
|
|||||||
std_json = json.loads(std.out)
|
std_json = json.loads(std.out)
|
||||||
assert std_json["meta"]["analysis"]["extractor"] == "SmdaFeatureExtractor"
|
assert std_json["meta"]["analysis"]["extractor"] == "SmdaFeatureExtractor"
|
||||||
assert len(std_json["rules"]) > 0
|
assert len(std_json["rules"]) > 0
|
||||||
|
|
||||||
|
|
||||||
|
def test_json_meta(capsys):
|
||||||
|
path = fixtures.get_data_path_by_name("pma01-01")
|
||||||
|
assert capa.main.main([path, "-j"]) == 0
|
||||||
|
std = capsys.readouterr()
|
||||||
|
std_json = json.loads(std.out)
|
||||||
|
# remember: json can't have integer keys :-(
|
||||||
|
assert str(0x10001010) in std_json["meta"]["analysis"]["layout"]["functions"]
|
||||||
|
assert 0x10001179 in std_json["meta"]["analysis"]["layout"]["functions"][str(0x10001010)]["matched_basic_blocks"]
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user