# Path: malwareconfig/fileparser.py
# class FileParser:
#     def __init__(self, file_path=None, rawdata=None):
#     def yarascan(self):
#     def file_hash(self, hash_type="sha256"):
#     def pe_resource_id(self, res_id):
#         def modules_callback(data):
#     def pe_resource_names(self):
#     def pe_resource_by_name(self, resource_name):
#     def dotnet_resource_names(self):
#         def modules_callback(data):
#     def dotnet_resource_by_name(self, resource_name):
#         def modules_callback(data):
#     def dotnet_guids(self):
#         def modules_callback(data):
#     def dotnet_user_strings(self):
#         def modules_callback(data):
#     def ascii_strings(self, min_len=4):
#     def unicode_strings(self, min_len=4):
#     def file_from_zip(self, filename):
#     def zip_namelist(self):
#     def parse_apk(self):
#     def elf_list_sections(self):
#         def modules_callback(data):
#     def elf_section_by_name(self, resource_name):
#         def modules_callback(data):
# 
# Path: malwareconfig/modules.py
# def load_decoders():
# def load_preprocessors():


import os
from malwareconfig import fileparser
from malwareconfig.modules import __decoders__

def test_decoders_import():
    assert 'AAR' in __decoders__.keys()
    assert 'AdWind' in __decoders__.keys()
    assert 'Adzok' in __decoders__.keys()
    assert 'AlienSpy' in __decoders__.keys()
    assert 'Alina' in __decoders__.keys()
    assert 'Arcom' in __decoders__.keys()
    assert 'BlackNix' in __decoders__.keys()
    assert 'BlackShades' in __decoders__.keys()
    assert 'BlueBanana' in __decoders__.keys()
    assert 'Bozok' in __decoders__.keys()
    assert 'ClientMesh' in __decoders__.keys()
    assert 'CyberGate' in __decoders__.keys()
    assert 'DarkComet' in __decoders__.keys()
    assert 'HawkEye' in __decoders__.keys()
    assert 'Jbifrost' in __decoders__.keys()
    assert 'JRat' in __decoders__.keys()
    assert 'LostDoor' in __decoders__.keys()
    assert 'LuminosityLink' in __decoders__.keys()
    assert 'NanoCore' in __decoders__.keys()
    assert 'njRat' in __decoders__.keys()
    assert 'Sakula' in __decoders__.keys()
    assert 'Xtreme' in __decoders__.keys()


def decode_sample(sample_path):

# Path: malwareconfig/fileparser.py
# class FileParser:
#     def __init__(self, file_path=None, rawdata=None):
#     def yarascan(self):
#     def file_hash(self, hash_type="sha256"):
#     def pe_resource_id(self, res_id):
#         def modules_callback(data):
#     def pe_resource_names(self):
#     def pe_resource_by_name(self, resource_name):
#     def dotnet_resource_names(self):
#         def modules_callback(data):
#     def dotnet_resource_by_name(self, resource_name):
#         def modules_callback(data):
#     def dotnet_guids(self):
#         def modules_callback(data):
#     def dotnet_user_strings(self):
#         def modules_callback(data):
#     def ascii_strings(self, min_len=4):
#     def unicode_strings(self, min_len=4):
#     def file_from_zip(self, filename):
#     def zip_namelist(self):
#     def parse_apk(self):
#     def elf_list_sections(self):
#         def modules_callback(data):
#     def elf_section_by_name(self, resource_name):
#         def modules_callback(data):
# 
# Path: malwareconfig/modules.py
# def load_decoders():
# def load_preprocessors():


# Path: tests/test_decoders.py
import os
from malwareconfig import fileparser
from malwareconfig.modules import __decoders__


def test_decoders_import():
    assert 'AAR' in __decoders__.keys()
    assert 'AdWind' in __decoders__.keys()
    assert 'Adzok' in __decoders__.keys()
    assert 'AlienSpy' in __decoders__.keys()
    assert 'Alina' in __decoders__.keys()
    assert 'Arcom' in __decoders__.keys()
    assert 'BlackNix' in __decoders__.keys()
    assert 'BlackShades' in __decoders__.keys()
    assert 'BlueBanana' in __decoders__.keys()
    assert 'Bozok' in __decoders__.keys()
    assert 'ClientMesh' in __decoders__.keys()
    assert 'CyberGate' in __decoders__.keys()
    assert 'DarkComet' in __decoders__.keys()
    assert 'HawkEye' in __decoders__.keys()
    assert 'Jbifrost' in __decoders__.keys()
    assert 'JRat' in __decoders__.keys()
    assert 'LostDoor' in __decoders__.keys()
    assert 'LuminosityLink' in __decoders__.keys()
    assert 'NanoCore' in __decoders__.keys()
    assert 'njRat' in __decoders__.keys()
    assert 'Sakula' in __decoders__.keys()
    assert 'Xtreme' in __decoders__.keys()


def decode_sample(sample_path):

    file_info = fileparser.FileParser(file_path=sample_path)