662 lines
17 KiB
JSON
662 lines
17 KiB
JSON
{
|
|
"schema_version": 1,
|
|
"phase": "PHASE_1_0A_RETROARCH_PS5_PORT_BOOTSTRAP",
|
|
"status": "RETROARCH_PS5_SOFTWARE_PORT_BUILT",
|
|
"source_commit": "ca1b45680577befc743e1c92fa40687e1b1745e7",
|
|
"artifact_repository": "chimera-retroarch",
|
|
"artifacts_tracked_in_git": false,
|
|
"shared_audit": {
|
|
"startup_source": "PS5 Payload SDK v0.41 crt/crt.c and crt/patch.c at d2e2e585740362976a39fdd5ccf390f199a7bc37",
|
|
"startup_callgraph": [
|
|
"_start",
|
|
"BSS clear",
|
|
"inlined payload_init",
|
|
"__crt_syscall_init",
|
|
"__kernel_init",
|
|
"__klog_init",
|
|
"kernel_dynlib_dlsym(__isthreaded)",
|
|
"__patch_init",
|
|
"patch_kernel_ucred",
|
|
"patch_syscall_permissions",
|
|
"__rtld_init",
|
|
"payload_run",
|
|
"main",
|
|
"rarch_main",
|
|
"retroarch_main_init",
|
|
"runloop_iterate",
|
|
"retro_run"
|
|
],
|
|
"shutdown_callgraph": [
|
|
"RETRO_ENVIRONMENT_SHUTDOWN",
|
|
"RetroArch shutdown state",
|
|
"retro_deinit",
|
|
"frontend_ps5_deinit",
|
|
"frontend_ps5_shutdown",
|
|
"SDK fini/close/destroy",
|
|
"payload_terminate"
|
|
],
|
|
"sdk_crt_static_risk_symbols": [
|
|
"__patch_init",
|
|
"kernel_copyin",
|
|
"kernel_copyout",
|
|
"kernel_get_ucred_caps",
|
|
"kernel_set_ucred_caps",
|
|
"kernel_get_ucred_attrs",
|
|
"kernel_set_ucred_attrs"
|
|
],
|
|
"sdk_crt_effect_classification": "KNOWN_PROCESS_AND_KERNEL_RUNTIME_WRITES_NOT_EXECUTED",
|
|
"application_network_imports": [],
|
|
"application_dynamic_loader_imports": [],
|
|
"personal_host_paths_found": false,
|
|
"credentials_found": false,
|
|
"device_or_private_ip_addresses_found": false,
|
|
"generic_string_findings": [
|
|
"udp://127.0.0.1:",
|
|
"RTMP template",
|
|
"overlay autoload labels",
|
|
"downloader localization",
|
|
"SDK RTLD module-name tables"
|
|
],
|
|
"hardware_tested": false,
|
|
"device_action_performed": false
|
|
},
|
|
"artifacts": [
|
|
{
|
|
"name": "retroarch_ps5_headless.elf",
|
|
"profile": "ps5-headless-smokecore",
|
|
"local_relative_path": "build/phase10a/final/retroarch_ps5_headless.elf",
|
|
"linker_map_local_relative_path": "build/phase10a/final/retroarch_ps5_headless.map",
|
|
"size": 722392,
|
|
"sha256": "fd595a826f64d18598be0b55e539bb524b33bd469b98f62c958ee50acb544628",
|
|
"linker_map_size": 277193,
|
|
"linker_map_sha256": "fb935f7a768c91408a87290f03bad8ed59f5061de75232d5660957eff8ec017f",
|
|
"execution_eligible": false,
|
|
"target_execution_performed": false,
|
|
"hardware_tested": false,
|
|
"reproducibility": "BYTE_IDENTICAL_TWO_CLEAN_BUILDS",
|
|
"file_type": "ELF 64-bit LSB PIE, x86-64, SYSV, dynamically linked, not stripped",
|
|
"elf_header": {
|
|
"class": "ELF64",
|
|
"data": "little-endian",
|
|
"os_abi": "UNIX System V",
|
|
"type": "DYN",
|
|
"machine": "AMD x86-64",
|
|
"entrypoint": "0x47d10",
|
|
"program_header_count": 4,
|
|
"section_header_count": 20
|
|
},
|
|
"program_headers": [
|
|
{
|
|
"type": "LOAD",
|
|
"offset": "0x004000",
|
|
"virtual_address": "0x000000",
|
|
"file_size": "0x04e570",
|
|
"memory_size": "0x04e570",
|
|
"flags": "RWE",
|
|
"alignment": "0x4000"
|
|
},
|
|
{
|
|
"type": "LOAD",
|
|
"offset": "0x054000",
|
|
"virtual_address": "0x050000",
|
|
"file_size": "0x048140",
|
|
"memory_size": "0x048140",
|
|
"flags": "RW",
|
|
"alignment": "0x4000"
|
|
},
|
|
{
|
|
"type": "LOAD",
|
|
"offset": "0x0a0000",
|
|
"virtual_address": "0x09c000",
|
|
"file_size": "0x000ccc",
|
|
"memory_size": "0x0a8560",
|
|
"flags": "RW",
|
|
"alignment": "0x4000"
|
|
},
|
|
{
|
|
"type": "DYNAMIC",
|
|
"offset": "0x09c000",
|
|
"virtual_address": "0x098000",
|
|
"file_size": "0x000140",
|
|
"memory_size": "0x000140",
|
|
"flags": "RW",
|
|
"alignment": "0x4000"
|
|
}
|
|
],
|
|
"section_names": [
|
|
".text",
|
|
".eh_frame_hdr",
|
|
".eh_frame",
|
|
".dynsym",
|
|
".gnu.hash",
|
|
".dynstr",
|
|
".rela.dyn",
|
|
".data.rel.ro",
|
|
".got",
|
|
".rodata",
|
|
".init_array",
|
|
".fini_array",
|
|
".dynamic",
|
|
".data",
|
|
".bss",
|
|
".comment",
|
|
".symtab",
|
|
".shstrtab",
|
|
".strtab"
|
|
],
|
|
"interpreter": null,
|
|
"dt_needed": [
|
|
"libkernel_web.sprx",
|
|
"libSceLibcInternal.sprx"
|
|
],
|
|
"build_id": null,
|
|
"gnu_stack_program_header": "ABSENT",
|
|
"elf_tls_segment": false,
|
|
"elf_tls_sections": [],
|
|
"init_array_size": 0,
|
|
"fini_array_size": 0,
|
|
"relocations": {
|
|
"section": ".rela.dyn",
|
|
"entries": 610
|
|
},
|
|
"dynamic_symbol_count": 79,
|
|
"full_symbol_count": 1387,
|
|
"defined_global_symbol_count": 719,
|
|
"required_symbols": [
|
|
"frontend_ctx_ps5",
|
|
"rarch_main",
|
|
"retro_deinit",
|
|
"retro_init",
|
|
"retro_run",
|
|
"retroarch_main_init",
|
|
"runloop_iterate"
|
|
],
|
|
"key_symbol_addresses": {
|
|
"rarch_main": "0x3ce0",
|
|
"main": "0x3f90",
|
|
"retroarch_main_init": "0x4060",
|
|
"runloop_iterate": "0xb340",
|
|
"retro_init": "0x47600",
|
|
"retro_deinit": "0x476a0",
|
|
"retro_run": "0x47810",
|
|
"_start": "0x47d10",
|
|
"frontend_ctx_ps5": "0x9cba0",
|
|
"__patch_init": "0x4e460"
|
|
},
|
|
"undefined_symbol_count": 73,
|
|
"undefined_symbols": [
|
|
"__error",
|
|
"__isthreaded",
|
|
"__stderrp",
|
|
"__stdoutp",
|
|
"abort",
|
|
"atoi",
|
|
"calloc",
|
|
"clock_gettime",
|
|
"close",
|
|
"closedir",
|
|
"exit",
|
|
"fclose",
|
|
"fflush",
|
|
"fileno",
|
|
"fopen",
|
|
"fprintf",
|
|
"fputc",
|
|
"fputs",
|
|
"fread",
|
|
"free",
|
|
"fseek",
|
|
"fseeko",
|
|
"ftello",
|
|
"ftruncate",
|
|
"fwrite",
|
|
"getenv",
|
|
"isgraph",
|
|
"localtime",
|
|
"longjmp",
|
|
"lseek",
|
|
"malloc",
|
|
"memchr",
|
|
"memcmp",
|
|
"memcpy",
|
|
"memmove",
|
|
"memset",
|
|
"mkdir",
|
|
"nanosleep",
|
|
"open",
|
|
"opendir",
|
|
"powf",
|
|
"puts",
|
|
"qsort",
|
|
"read",
|
|
"readdir",
|
|
"realloc",
|
|
"remove",
|
|
"rename",
|
|
"setjmp",
|
|
"setvbuf",
|
|
"sin",
|
|
"snprintf",
|
|
"sscanf",
|
|
"stat",
|
|
"strchr",
|
|
"strcmp",
|
|
"strdup",
|
|
"strerror",
|
|
"strftime",
|
|
"strlen",
|
|
"strncmp",
|
|
"strrchr",
|
|
"strstr",
|
|
"strtod",
|
|
"strtok_r",
|
|
"strtol",
|
|
"strtoul",
|
|
"strtoull",
|
|
"time",
|
|
"tolower",
|
|
"vfprintf",
|
|
"vsnprintf",
|
|
"write"
|
|
],
|
|
"filesystem_write_capable_imports": [
|
|
"fopen",
|
|
"ftruncate",
|
|
"fwrite",
|
|
"mkdir",
|
|
"open",
|
|
"remove",
|
|
"rename",
|
|
"write"
|
|
],
|
|
"network_imports": [],
|
|
"process_or_service_control_imports": [],
|
|
"rwx_segment_count": 1,
|
|
"embedded_personal_paths": false,
|
|
"embedded_ip_addresses": [
|
|
"127.0.0.1"
|
|
],
|
|
"embedded_device_ip_addresses": false,
|
|
"embedded_credentials": false,
|
|
"autoload_route_found": false,
|
|
"install_route_found": false,
|
|
"updater_route_compiled": false,
|
|
"forbidden_markers_found": []
|
|
},
|
|
{
|
|
"name": "retroarch_ps5_software.elf",
|
|
"profile": "ps5-software-rgui-smokecore",
|
|
"local_relative_path": "build/phase10a/final/retroarch_ps5_software.elf",
|
|
"linker_map_local_relative_path": "build/phase10a/final/retroarch_ps5_software.map",
|
|
"size": 3318432,
|
|
"sha256": "7beb09592404b5c1fb4161c632171d2901f3715db26e59458998690e8c49f3fc",
|
|
"linker_map_size": 1608730,
|
|
"linker_map_sha256": "1573a9951fa53bfa1bf304e0038e6f049f859fbfbe92f6a895196dc283c27597",
|
|
"execution_eligible": false,
|
|
"target_execution_performed": false,
|
|
"hardware_tested": false,
|
|
"reproducibility": "BYTE_IDENTICAL_TWO_CLEAN_BUILDS",
|
|
"file_type": "ELF 64-bit LSB PIE, x86-64, SYSV, dynamically linked, not stripped",
|
|
"elf_header": {
|
|
"class": "ELF64",
|
|
"data": "little-endian",
|
|
"os_abi": "UNIX System V",
|
|
"type": "DYN",
|
|
"machine": "AMD x86-64",
|
|
"entrypoint": "0x1c29c0",
|
|
"program_header_count": 4,
|
|
"section_header_count": 20
|
|
},
|
|
"program_headers": [
|
|
{
|
|
"type": "LOAD",
|
|
"offset": "0x004000",
|
|
"virtual_address": "0x000000",
|
|
"file_size": "0x1c93e0",
|
|
"memory_size": "0x1c93e0",
|
|
"flags": "RWE",
|
|
"alignment": "0x4000"
|
|
},
|
|
{
|
|
"type": "LOAD",
|
|
"offset": "0x1d0000",
|
|
"virtual_address": "0x1cc000",
|
|
"file_size": "0x0d0190",
|
|
"memory_size": "0x0d0190",
|
|
"flags": "RW",
|
|
"alignment": "0x4000"
|
|
},
|
|
{
|
|
"type": "LOAD",
|
|
"offset": "0x2a4000",
|
|
"virtual_address": "0x2a0000",
|
|
"file_size": "0x029584",
|
|
"memory_size": "0x0e0008",
|
|
"flags": "RW",
|
|
"alignment": "0x4000"
|
|
},
|
|
{
|
|
"type": "DYNAMIC",
|
|
"offset": "0x2a0000",
|
|
"virtual_address": "0x29c000",
|
|
"file_size": "0x000190",
|
|
"memory_size": "0x000190",
|
|
"flags": "RW",
|
|
"alignment": "0x4000"
|
|
}
|
|
],
|
|
"section_names": [
|
|
".text",
|
|
".eh_frame_hdr",
|
|
".eh_frame",
|
|
".dynsym",
|
|
".gnu.hash",
|
|
".dynstr",
|
|
".rela.dyn",
|
|
".data.rel.ro",
|
|
".got",
|
|
".rodata",
|
|
".init_array",
|
|
".fini_array",
|
|
".dynamic",
|
|
".data",
|
|
".bss",
|
|
".comment",
|
|
".symtab",
|
|
".shstrtab",
|
|
".strtab"
|
|
],
|
|
"interpreter": null,
|
|
"dt_needed": [
|
|
"libSceVideoOut.sprx",
|
|
"libScePad.sprx",
|
|
"libSceUserService.sprx",
|
|
"libSceSystemService.sprx",
|
|
"libSceAudioOut.sprx",
|
|
"libkernel_web.sprx",
|
|
"libSceLibcInternal.sprx"
|
|
],
|
|
"build_id": null,
|
|
"gnu_stack_program_header": "ABSENT",
|
|
"elf_tls_segment": false,
|
|
"elf_tls_sections": [],
|
|
"init_array_size": 0,
|
|
"fini_array_size": 0,
|
|
"relocations": {
|
|
"section": ".rela.dyn",
|
|
"entries": 3373
|
|
},
|
|
"dynamic_symbol_count": 220,
|
|
"full_symbol_count": 7256,
|
|
"defined_global_symbol_count": 2403,
|
|
"required_symbols": [
|
|
"frontend_ctx_ps5",
|
|
"rarch_main",
|
|
"retro_deinit",
|
|
"retro_init",
|
|
"retro_run",
|
|
"retroarch_main_init",
|
|
"runloop_iterate"
|
|
],
|
|
"key_symbol_addresses": {
|
|
"rarch_main": "0x4cc0",
|
|
"main": "0x4ff0",
|
|
"retroarch_main_init": "0x50c0",
|
|
"runloop_iterate": "0xd0c0",
|
|
"retro_init": "0xe23d0",
|
|
"retro_deinit": "0xe2470",
|
|
"retro_run": "0xe25e0",
|
|
"_start": "0x1c29c0",
|
|
"frontend_ctx_ps5": "0x2a53c0",
|
|
"__patch_init": "0x1c92d0"
|
|
},
|
|
"undefined_symbol_count": 210,
|
|
"undefined_symbols": [
|
|
"_Exit",
|
|
"__error",
|
|
"__isthreaded",
|
|
"__stderrp",
|
|
"__stdinp",
|
|
"__stdoutp",
|
|
"abort",
|
|
"acos",
|
|
"acosf",
|
|
"asin",
|
|
"asinf",
|
|
"atan",
|
|
"atan2",
|
|
"atan2f",
|
|
"atanf",
|
|
"atof",
|
|
"atoi",
|
|
"bsearch",
|
|
"calloc",
|
|
"clock_gettime",
|
|
"close",
|
|
"closedir",
|
|
"cos",
|
|
"cosf",
|
|
"exit",
|
|
"exp",
|
|
"expf",
|
|
"fclose",
|
|
"ferror",
|
|
"fflush",
|
|
"fgets",
|
|
"fileno",
|
|
"fmod",
|
|
"fmodf",
|
|
"fopen",
|
|
"fprintf",
|
|
"fputc",
|
|
"fputs",
|
|
"fread",
|
|
"free",
|
|
"fseek",
|
|
"fseeko",
|
|
"fstat",
|
|
"ftello",
|
|
"ftruncate",
|
|
"fwrite",
|
|
"getenv",
|
|
"gettimeofday",
|
|
"isalnum",
|
|
"isalpha",
|
|
"isblank",
|
|
"iscntrl",
|
|
"isgraph",
|
|
"islower",
|
|
"isprint",
|
|
"ispunct",
|
|
"isspace",
|
|
"isupper",
|
|
"isxdigit",
|
|
"localtime",
|
|
"log",
|
|
"log10",
|
|
"log10f",
|
|
"logf",
|
|
"longjmp",
|
|
"lround",
|
|
"lroundf",
|
|
"lseek",
|
|
"malloc",
|
|
"memchr",
|
|
"memcmp",
|
|
"memcpy",
|
|
"memmove",
|
|
"memset",
|
|
"mkdir",
|
|
"mktime",
|
|
"nanosleep",
|
|
"open",
|
|
"opendir",
|
|
"pow",
|
|
"powf",
|
|
"pthread_attr_init",
|
|
"pthread_attr_setdetachstate",
|
|
"pthread_attr_setstacksize",
|
|
"pthread_cond_broadcast",
|
|
"pthread_cond_destroy",
|
|
"pthread_cond_init",
|
|
"pthread_cond_signal",
|
|
"pthread_cond_timedwait",
|
|
"pthread_cond_wait",
|
|
"pthread_create",
|
|
"pthread_detach",
|
|
"pthread_getschedparam",
|
|
"pthread_getspecific",
|
|
"pthread_join",
|
|
"pthread_key_create",
|
|
"pthread_key_delete",
|
|
"pthread_mutex_destroy",
|
|
"pthread_mutex_init",
|
|
"pthread_mutex_lock",
|
|
"pthread_mutex_trylock",
|
|
"pthread_mutex_unlock",
|
|
"pthread_mutexattr_init",
|
|
"pthread_mutexattr_settype",
|
|
"pthread_self",
|
|
"pthread_set_name_np",
|
|
"pthread_setcanceltype",
|
|
"pthread_setschedparam",
|
|
"pthread_setspecific",
|
|
"pthread_sigmask",
|
|
"puts",
|
|
"qsort",
|
|
"rand",
|
|
"read",
|
|
"readdir",
|
|
"realloc",
|
|
"remove",
|
|
"rename",
|
|
"scalbn",
|
|
"scalbnf",
|
|
"sceAudioOutClose",
|
|
"sceAudioOutInit",
|
|
"sceAudioOutOpen",
|
|
"sceAudioOutOutput",
|
|
"sceKernelAllocateMainDirectMemory",
|
|
"sceKernelCreateEqueue",
|
|
"sceKernelDeleteEqueue",
|
|
"sceKernelMapDirectMemory",
|
|
"sceKernelReleaseDirectMemory",
|
|
"sceKernelWaitEqueue",
|
|
"scePadClose",
|
|
"scePadInit",
|
|
"scePadOpen",
|
|
"scePadReadState",
|
|
"scePadSetLightBar",
|
|
"scePadSetVibration",
|
|
"scePadSetVibrationMode",
|
|
"sceSystemServiceHideSplashScreen",
|
|
"sceUserServiceGetLoginUserIdList",
|
|
"sceUserServiceGetUserName",
|
|
"sceUserServiceInitialize",
|
|
"sceVideoOutAddFlipEvent",
|
|
"sceVideoOutClose",
|
|
"sceVideoOutDeleteFlipEvent",
|
|
"sceVideoOutOpen",
|
|
"sceVideoOutRegisterBuffers2",
|
|
"sceVideoOutSetBufferAttribute2",
|
|
"sceVideoOutSetFlipRate",
|
|
"sceVideoOutSubmitFlip",
|
|
"sched_get_priority_max",
|
|
"sched_get_priority_min",
|
|
"sem_destroy",
|
|
"sem_getvalue",
|
|
"sem_init",
|
|
"sem_post",
|
|
"sem_timedwait",
|
|
"sem_trywait",
|
|
"sem_wait",
|
|
"setenv",
|
|
"setjmp",
|
|
"setlocale",
|
|
"setvbuf",
|
|
"sigaction",
|
|
"sigaddset",
|
|
"sigemptyset",
|
|
"signal",
|
|
"sin",
|
|
"sincos",
|
|
"sinf",
|
|
"snprintf",
|
|
"sprintf",
|
|
"srand",
|
|
"sscanf",
|
|
"stat",
|
|
"strchr",
|
|
"strcmp",
|
|
"strcpy",
|
|
"strdup",
|
|
"strerror",
|
|
"strftime",
|
|
"strlcat",
|
|
"strlcpy",
|
|
"strlen",
|
|
"strncasecmp",
|
|
"strncmp",
|
|
"strpbrk",
|
|
"strrchr",
|
|
"strstr",
|
|
"strtod",
|
|
"strtok_r",
|
|
"strtol",
|
|
"strtoll",
|
|
"strtoul",
|
|
"strtoull",
|
|
"sysconf",
|
|
"sysctl",
|
|
"sysctlbyname",
|
|
"tan",
|
|
"tanf",
|
|
"time",
|
|
"tolower",
|
|
"toupper",
|
|
"vfprintf",
|
|
"vsnprintf",
|
|
"vsscanf",
|
|
"wcscmp",
|
|
"wcslen",
|
|
"wcsncmp",
|
|
"wcsstr",
|
|
"write"
|
|
],
|
|
"filesystem_write_capable_imports": [
|
|
"fopen",
|
|
"ftruncate",
|
|
"fwrite",
|
|
"mkdir",
|
|
"open",
|
|
"remove",
|
|
"rename",
|
|
"setenv",
|
|
"write"
|
|
],
|
|
"network_imports": [],
|
|
"process_or_service_control_imports": [
|
|
"sceSystemServiceHideSplashScreen"
|
|
],
|
|
"rwx_segment_count": 1,
|
|
"embedded_personal_paths": false,
|
|
"embedded_ip_addresses": [
|
|
"0.1.2.3",
|
|
"4.5.6.7",
|
|
"127.0.0.1"
|
|
],
|
|
"embedded_ip_context": {
|
|
"0.1.2.3": "non-address adjacent string-table byte pattern",
|
|
"4.5.6.7": "non-address adjacent string-table byte pattern",
|
|
"127.0.0.1": "generic disabled RetroArch UDP log template"
|
|
},
|
|
"embedded_device_ip_addresses": false,
|
|
"embedded_credentials": false,
|
|
"autoload_route_found": false,
|
|
"install_route_found": false,
|
|
"updater_route_compiled": false,
|
|
"forbidden_markers_found": []
|
|
}
|
|
]
|
|
}
|