예제 #1
0
def main() -> None:
    """Main."""
    # parse simple SB2.1 file generated by elftosb.exe
    with open(f"{DATA_DIR}/test_output_sb_2_1_from_elftosb.sb2", "rb") as f:
        sb_file = f.read()
    img_obj21 = BootImageV21.parse(sb_file, kek=KEK_VALUE)
    print(img_obj21.info())

    # parse SB2.1 file with OTFAD generated by elftosb.exe
    with open(f"{DATA_DIR}/otfad/test_output_sb_2_1_from_elftosb_OTFAD.sb2",
              "rb") as f:
        sb_file = f.read()
    img_obj21 = BootImageV21.parse(sb_file, kek=KEK_VALUE)
    print(img_obj21.info())

    # Generate not signed SB2.0 raw image
    raw_data_sb20_base = gen_boot_image_20_base()

    # Parse raw image
    img_obj20 = BootImageV20.parse(raw_data_sb20_base, kek=KEK_VALUE)
    print(img_obj20.info())

    # Generate signed SB2.0 raw image
    raw_data_sb20_signed = gen_boot_image_20()

    # Parse signed SB2.0 raw image
    img_obj20 = BootImageV20.parse(raw_data_sb20_signed, kek=KEK_VALUE)
    print(img_obj20.info())

    # Generate SB21 raw image
    raw_data_sb21_signed = gen_boot_image_21()

    # Parse raw image
    img_obj21 = BootImageV21.parse(raw_data_sb21_signed, kek=KEK_VALUE)
    print(img_obj21.info())
예제 #2
0
def test_sb20_parser(data_dir):
    """Test parser"""
    with open(os.path.join(data_dir, "SB2.0_Not_Signed.sb2"), "rb") as file:
        img_obj = BootImageV20.parse(file.read(), kek=kek_value)

    assert isinstance(img_obj, BootImageV20)

    # check info() produces something
    assert img_obj.info()