コード例 #1
0
def _initialize_subfolder(folder: Path, firmware: Firmware) -> None:
    for subpath in ['data', 'pdf']:
        makedirs(str(Path(folder, subpath)), exist_ok=True)

    Path(folder, 'data', 'meta.json').write_text(
        json.dumps(create_meta_dict(firmware), cls=ReportEncoder))
    Path(folder, 'data', 'analysis.json').write_text(
        json.dumps(firmware.processed_analysis, cls=ReportEncoder))
コード例 #2
0
ファイル: pdf.py プロジェクト: cascades-sjtu/FirmVulHub
def _initialize_subfolder(folder: Path, firmware: Firmware) -> None:
    for subpath in ['data', 'pdf']:
        (folder / subpath).mkdir(parents=True, exist_ok=True)

    (folder / 'data' / 'meta.json').write_text(
        json.dumps(create_meta_dict(firmware), cls=ReportEncoder))
    (folder / 'data' / 'analysis.json').write_text(
        json.dumps(firmware.processed_analysis, cls=ReportEncoder))
コード例 #3
0
 def test_create_meta_dict_fw(self):
     fw = create_test_firmware()
     meta = create_meta_dict(fw)
     self.assertEqual(meta['device_name'], "test_router")
     self.assertEqual(meta['device_class'], "Router")
     self.assertEqual(meta['vendor'], "test_vendor")
     self.assertEqual(meta['version'], "0.1")
     self.assertEqual(meta['release_date'], '1970-01-01')
     self.assertEqual(meta['hid'], "test_vendor test_router - 0.1")
     self.assertEqual(meta['size'], 787)
     self.assertEqual(len(meta.keys()), 7)
コード例 #4
0
 def test_create_meta_dict_fo(self):
     fo = create_test_file_object()
     fo.list_of_all_included_files = []
     meta = create_meta_dict(fo)
     self.assertEqual(meta['firmwares_including_this_file'], [
         'd558c9339cb967341d701e3184f863d3928973fccdc1d96042583730b5c7b76a_62'
     ])
     self.assertEqual(meta['virtual_file_path'], [
         'd558c9339cb967341d701e3184f863d3928973fccdc1d96042583730b5c7b76a_62'
     ])
     self.assertEqual(meta['number_of_files'], 0)
     self.assertEqual(len(meta.keys()), 5)
コード例 #5
0
def test_create_meta_dict_fo():
    fo = create_test_file_object()
    fo.parent_firmware_uids = ['parent_uid']
    meta = create_meta_dict(fo)

    assert meta['firmwares_including_this_file'] == ['parent_uid']
    assert meta['virtual_file_path'] == [
        'd558c9339cb967341d701e3184f863d3928973fccdc1d96042583730b5c7b76a_62'
    ]

    assert meta['number_of_included_files'] == 0

    assert len(meta.keys()) == 7
コード例 #6
0
def test_create_meta_dict_fw():
    fw = create_test_firmware()
    meta = create_meta_dict(fw)

    assert meta['device_name'] == 'test_router'
    assert meta['device_class'] == 'Router'
    assert meta['vendor'] == 'test_vendor'
    assert meta['device_part'] == ''
    assert meta['version'] == '0.1'
    assert meta['release_date'] == '1970-01-01'
    assert meta['hid'] == 'test_vendor test_router v. 0.1'
    assert meta['size'] == 787

    assert meta['number_of_included_files'] == 0
    assert meta['included_files'] == []
    assert meta['total_files_in_firmware'] == 'unknown'

    assert len(meta.keys()) == 11
コード例 #7
0
 def _fit_firmware(firmware):
     meta = create_meta_dict(firmware)
     analysis = firmware.processed_analysis
     return dict(meta_data=meta, analysis=analysis)
コード例 #8
0
 def _fit_file_object(file_object):
     meta = create_meta_dict(file_object)
     analysis = file_object.processed_analysis
     return dict(meta_data=meta, analysis=analysis)