import contextlib import io import json import struct import sys import tempfile import unittest from pathlib import Path from unittest.mock import patch sys.path.insert(0, str(Path(__file__).resolve().parents[1])) import import_audit import nid_names GLOBAL_FUNCTION = 0x12 LOCAL_FUNCTION = 0x02 STUB_SOURCE = "int APS5_VABI {name}(int value) {{ NotImplemented_nid_no_patch(__func__); return 0; }}\n" DONE_SOURCE = "int APS5_VABI {name}(int value) {{ return value; }}\n" MESSAGE_NID = "wTpfglkmv34" MESSAGE_NAME = "sceMsgDialogProgressBarSetValue" def build_elf(symbols): strings = b"\0" entries = [struct.pack("