urt-rs / docs /research /qvm /ui.json
nmarshall's picture
Start QVM and native binary reverse engineering with reproducible analysis
fd99160
Raw History Blame Contribute Delete
4.03 kB
{
"call_class_counts": {
"adjacent_constant_syscall_candidate": 852,
"adjacent_constant_target_candidate": 2117,
"unresolved_indirect": 199
},
"constant_string_reference_candidates": 837,
"constant_syscall_candidates": {
"0": 5,
"1": 10,
"10": 2,
"100": 38,
"101": 21,
"102": 3,
"103": 43,
"104": 32,
"105": 3,
"106": 13,
"11": 1,
"12": 42,
"13": 13,
"14": 8,
"15": 7,
"16": 17,
"17": 9,
"18": 16,
"19": 7,
"2": 4,
"20": 33,
"21": 1,
"22": 11,
"24": 2,
"25": 1,
"26": 22,
"27": 12,
"28": 1,
"29": 2,
"3": 160,
"31": 4,
"32": 1,
"39": 7,
"4": 36,
"40": 14,
"41": 21,
"43": 1,
"44": 2,
"45": 5,
"5": 14,
"50": 5,
"51": 2,
"55": 3,
"58": 6,
"59": 5,
"6": 69,
"60": 42,
"61": 2,
"64": 1,
"65": 6,
"66": 3,
"67": 6,
"68": 13,
"69": 1,
"70": 2,
"71": 1,
"72": 1,
"73": 2,
"74": 1,
"75": 6,
"76": 7,
"77": 4,
"78": 4,
"79": 4,
"80": 1,
"82": 4,
"83": 1,
"84": 1,
"85": 2,
"88": 1,
"90": 2
},
"entry_instruction": {
"code_offset": 0,
"file_offset": 32,
"index": 0,
"opcode": "ENTER",
"operand": 28
},
"function_entry_candidates": 680,
"header": {
"bss_length": 9099016,
"code_length": 303832,
"code_offset": 32,
"data_length": 31072,
"data_offset": 303864,
"declared_memory_bytes": 9162280,
"decoded_code_bytes": 303831,
"instruction_count": 101585,
"jump_target_bytes": 0,
"jump_targets": [],
"literal_length": 32192,
"magic": "0x12721444",
"upstream_power_of_two_memory_bytes": 16777216,
"zero_code_padding_bytes": 1
},
"limitations": "Adjacent constants are local patterns, not whole-program dataflow; ENTER ranges are linear partitions, not proven functions. Computed calls/jumps remain unresolved.",
"module": "ui",
"opcode_counts": {
"ADD": 5564,
"ADDF": 589,
"ARG": 7066,
"BAND": 305,
"BLOCK_COPY": 69,
"BOR": 66,
"BXOR": 11,
"CALL": 3168,
"CONST": 20837,
"CVFI": 140,
"CVIF": 302,
"DIVF": 66,
"DIVI": 57,
"ENTER": 680,
"EQ": 1067,
"EQF": 27,
"GEF": 80,
"GEI": 173,
"GEU": 1,
"GTF": 38,
"GTI": 108,
"GTU": 3,
"JUMP": 1955,
"LEAVE": 1578,
"LEF": 46,
"LEI": 212,
"LEU": 11,
"LOAD1": 484,
"LOAD2": 8,
"LOAD4": 20005,
"LOCAL": 22175,
"LSH": 549,
"LTF": 47,
"LTI": 394,
"LTU": 7,
"MODI": 22,
"MULF": 1034,
"MULI": 308,
"NE": 1156,
"NEF": 86,
"NEGF": 81,
"NEGI": 8,
"POP": 1671,
"PUSH": 680,
"RSHI": 17,
"RSHU": 9,
"SEX16": 10,
"SEX8": 409,
"STORE1": 240,
"STORE2": 5,
"STORE4": 7324,
"SUB": 285,
"SUBF": 352
},
"schema_version": 1,
"sha256": "111eba50fc52a7d26e7e04e019b8698c5a6fe7ba3d9d1a92487486f08fd4424b",
"source": {
"archive": "zUrT43_qvm.pk3",
"archive_sha256": "b59bf0c5bedf11d50e0edd220da7eade96de40601e98ae14c54c819047df0796",
"member": {
"bytes": 367128,
"comment_hex": "",
"compressed_bytes": 96667,
"compression": 8,
"crc32": "e771cdf9",
"create_system": 0,
"create_version": 63,
"date_time": [
2018,
6,
18,
22,
11,
52
],
"directory": false,
"entry_index": 3,
"external_attr": 32,
"extra_hex": "0a00200000000000010018009712d8974007d40147287b972f1fd20147287b972f1fd201",
"extract_version": 20,
"flags": 0,
"header_offset": 467912,
"internal_attr": 0,
"occurrence": 0,
"output": "assets/extracted/zUrT43_qvm.pk3/members/000003/vm/ui.qvm",
"path": "vm/ui.qvm",
"sha256": "111eba50fc52a7d26e7e04e019b8698c5a6fe7ba3d9d1a92487486f08fd4424b",
"type": "member",
"volume": 0
}
},
"string_count": 1340
}