{"elapsed": 11.772193915996468, "request": {"name": "analyze", "arguments": {"operation": "exports"}}, "call": 1}
{"elapsed": 12.24686745798681, "response": {"returncode": 0, "stdout": "{\"evidence_id\":\"ev_1b134353c411eaed2939f8846f888f4d2b0f5739e921e83bb9e66b51236e24ad\",\"subject\":{\"name\":\"fixed-target.so\",\"digest\":{\"sha256\":\"bbbf5a91598728147700dd8e5da32824eb5b2649964afce2a86cb5bd4f4e4e18\"},\"local_path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/fixed-target.so\",\"format\":\"elf\",\"architecture\":null},\"provider\":{\"id\":\"rea-native-exports\",\"name\":\"REA PE/ELF export table reader\",\"version\":\"1\"},\"analysis_profile\":null,\"predicate_type\":\"rea.analysis\",\"operation\":\"inspect_native_exports\",\"parameters\":{\"path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/fixed-target.so\",\"max_file_bytes\":268435456},\"raw_result\":null,\"normalized_result\":{\"artifact\":{\"path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/fixed-target.so\",\"sha256\":\"bbbf5a91598728147700dd8e5da32824eb5b2649964afce2a86cb5bd4f4e4e18\",\"bytes\":30512},\"format\":\"elf\",\"architecture\":\"arm64\",\"bits\":64,\"byte_order\":\"little\",\"exports\":[{\"name\":\"demo_evaluate\",\"name_bytes_base64\":null,\"name_utf8_decodable\":true,\"value\":\"0x456c\",\"size\":\"7528\",\"type\":\"function\",\"binding\":\"global\",\"version\":null},{\"name\":\"Java_com_example_antiai_NativeBridge_evaluate\",\"name_bytes_base64\":null,\"name_utf8_decodable\":true,\"value\":\"0x62d4\",\"size\":\"20\",\"type\":\"function\",\"binding\":\"global\",\"version\":null}],\"coverage\":{\"status\":\"complete\",\"reason\":null,\"examined_entries\":2,\"exports\":2},\"issues\":[],\"limitations\":[\"Rows list defined default- or protected-visibility global, weak and unique dynamic symbols; local, hidden, internal and undefined symbols are not exports.\",\"A hidden symbol version is not the default version that a by-name dlsym lookup selects.\",\"Rows reproduce the dynamic symbol table; they do not establish that a symbol is reachable, safe to call or loaded at runtime.\"]},\"confidence\":\"observed\",\"authority\":\"shipped-artifact\",\"environment\":null,\"limitations\":[\"Rows list defined default- or protected-visibility global, weak and unique dynamic symbols; local, hidden, internal and undefined symbols are not exports.\",\"A hidden symbol version is not the default version that a by-name dlsym lookup selects.\",\"Rows reproduce the dynamic symbol table; they do not establish that a symbol is reachable, safe to call or loaded at runtime.\"],\"relationship_coverage\":null,\"locations\":[{\"kind\":\"artifact-path\",\"path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/fixed-target.so\"}],\"evidence_links\":[]}\n", "stderr": ""}, "call": 1}
{"elapsed": 13.839236165978946, "request": {"name": "analyze", "arguments": {"operation": "decompile", "selector": "demo_evaluate"}}, "call": 2}
{"elapsed": 16.014113374985754, "response": {"returncode": 1, "stdout": "{\"error\":\"Analysis failed\",\"code\":\"invalid_request\",\"category\":\"invalid_input\",\"message\":\"Analysis input is invalid. Check the arguments and try again.\",\"retryable\":false,\"remediation\":{\"action\":\"Read the declared input schema or CLI usage for procedure_pseudo_code; if using MCP and the catalog may be stale, call tools/list. Correct the listed fields, then retry. Do not repeat the unchanged call.\"},\"recovery\":{\"kind\":\"inspect_input_contract\",\"operation\":\"procedure_pseudo_code\"},\"details\":{\"operation\":\"procedure_pseudo_code\",\"issues\":[{\"path\":[],\"reason\":\"invalid_value\",\"message\":\"IDA could not resolve procedure \\\"demo_evaluate\\\": Not a function.\"}],\"partial_observation\":{\"evidence_id\":\"ev_eaeebdbb2931de170fe9218475ad411fae7b89597cd0106dbd688eeb65af9ea1\",\"subject\":{\"name\":\"fixed-target.so\",\"digest\":{\"sha256\":\"bbbf5a91598728147700dd8e5da32824eb5b2649964afce2a86cb5bd4f4e4e18\"},\"local_path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/fixed-target.so\",\"format\":\"elf\",\"architecture\":\"arm64\"},\"provider\":{\"id\":\"ida\",\"name\":\"IDA MCP adapter\",\"version\":\"1\"},\"analysis_profile\":{\"provider\":{\"id\":\"ida\",\"name\":\"IDA MCP adapter\",\"version\":\"1\"},\"parameters\":{\"version_scope\":\"rea-ida-adapter\",\"engine_version\":null,\"upstream_distribution_version\":null,\"mode\":\"headless\",\"compatibility_profile\":\"database-supervisor\",\"database_revision\":null,\"cache_policy\":\"live\",\"registration_digest\":\"fc98b2ba93843987265320f0699dec551f92aa5824accd6ebbf1e2e066051b61\"},\"digest\":\"6088cea28242a9c3c73c2f9d9f98202ba5830c5895056df6b2a85f8f9bdb83bd\"},\"predicate_type\":\"analysis-observation\",\"operation\":\"procedure_pseudo_code\",\"parameters\":{\"procedure\":\"demo_evaluate\"},\"raw_result\":{\"upstream\":{\"name\":\"ida-pro-mcp\",\"version\":\"1.0.0\"},\"observations\":[{\"tool\":\"lookup_funcs\",\"arguments\":{\"queries\":[\"demo_evaluate\"],\"database\":\"rea-932cb993-ef6d-48bb-a6e2-f64a3065b79f\"},\"result\":[{\"query\":\"demo_evaluate\",\"fn\":null,\"error\":\"Not a function\"}]}],\"metadata_before\":{\"status\":\"ok\",\"uptime_sec\":0.747,\"idb_path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/ida/rea-ida-Wth2ba/fixed-target.so.i64\",\"module\":\"fixed-target.so\",\"input_path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/ida/rea-ida-Wth2ba/fixed-target.so\",\"imagebase\":\"0x0\",\"auto_analysis_ready\":true,\"hexrays_ready\":true,\"strings_cache_ready\":true,\"strings_cache_size\":143},\"post_operation_identity_check\":\"not_attempted\"},\"normalized_result\":{\"status\":\"partial\",\"failed_operation\":\"procedure_pseudo_code\",\"observations\":[{\"tool\":\"lookup_funcs\",\"arguments\":{\"queries\":[\"demo_evaluate\"],\"database\":\"rea-932cb993-ef6d-48bb-a6e2-f64a3065b79f\"},\"result\":[{\"query\":\"demo_evaluate\",\"fn\":null,\"error\":\"Not a function\"}]}],\"metadata_before\":{\"status\":\"ok\",\"uptime_sec\":0.747,\"idb_path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/ida/rea-ida-Wth2ba/fixed-target.so.i64\",\"module\":\"fixed-target.so\",\"input_path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/ida/rea-ida-Wth2ba/fixed-target.so\",\"imagebase\":\"0x0\",\"auto_analysis_ready\":true,\"hexrays_ready\":true,\"strings_cache_ready\":true,\"strings_cache_size\":143},\"target_binding\":{\"status\":\"not_verified\",\"reason\":\"Invalid analysis input for procedure_pseudo_code\"}},\"confidence\":\"observed\",\"authority\":\"external-service\",\"environment\":null,\"limitations\":[\"Provider version identifies the REA IDA adapter. IDA engine and upstream distribution versions are unknown unless separately observed; MCP serverInfo is reported independently.\",\"Results describe the current IDA analysis database. Input identity does not prove an unmodified database; patches, annotations, analysis completeness, and database revision remain unknown.\",\"Live results are never replayed from analysis snapshots. Target checks before and after a request do not provide an atomic lock against external GUI changes.\",\"Caller cancellation drains the in-flight MCP request before cleanup; it does not prove that IDA engine work was interrupted.\",\"Headless workers are released through the upstream database lifecycle. Abrupt termination of REA, its proxy, or the supervisor cannot prove worker cleanup; inspect upstream inventory after an interrupted process.\",\"Complete function body ranges, typed references, unresolved indirect calls, referenced data, and basic blocks are unavailable in this adapter. Empty unsupported dossier facets are unknown, not observed absence.\",\"The requested IDA operation failed after these completed upstream replies; the partial Evidence does not establish a complete result.\",\"Replies are bound to the selected target only by the pre-operation identity check unless post_operation_identity_check is verified.\"],\"relationship_coverage\":null,\"locations\":[{\"kind\":\"artifact-path\",\"path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/fixed-target.so\"}],\"evidence_links\":[]}}}\n", "stderr": ""}, "call": 2}
{"elapsed": 20.442733582982328, "request": {"name": "analyze", "arguments": {"operation": "instructions", "selector": "0x456c", "length": 400}}, "call": 3}
{"elapsed": 22.503464832989266, "response": {"returncode": 1, "stdout": "{\"error\":\"Analysis failed\",\"code\":\"invalid_request\",\"category\":\"invalid_input\",\"message\":\"Analysis input is invalid. Check the arguments and try again.\",\"retryable\":false,\"remediation\":{\"action\":\"Read the declared input schema or CLI usage for read_function_instructions; if using MCP and the catalog may be stale, call tools/list. Correct the listed fields, then retry. Do not repeat the unchanged call.\"},\"recovery\":{\"kind\":\"inspect_input_contract\",\"operation\":\"read_function_instructions\"},\"details\":{\"operation\":\"read_function_instructions\",\"issues\":[{\"path\":[],\"reason\":\"invalid_value\",\"message\":\"IDA could not resolve procedure \\\"0x456c\\\": Not a function.\"}],\"partial_observation\":{\"evidence_id\":\"ev_15f648b4f5eef20cad6991a82b45086186ea849dec95c0677a6c09de2a9eaf2b\",\"subject\":{\"name\":\"fixed-target.so\",\"digest\":{\"sha256\":\"bbbf5a91598728147700dd8e5da32824eb5b2649964afce2a86cb5bd4f4e4e18\"},\"local_path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/fixed-target.so\",\"format\":\"elf\",\"architecture\":\"arm64\"},\"provider\":{\"id\":\"ida\",\"name\":\"IDA MCP adapter\",\"version\":\"1\"},\"analysis_profile\":{\"provider\":{\"id\":\"ida\",\"name\":\"IDA MCP adapter\",\"version\":\"1\"},\"parameters\":{\"version_scope\":\"rea-ida-adapter\",\"engine_version\":null,\"upstream_distribution_version\":null,\"mode\":\"headless\",\"compatibility_profile\":\"database-supervisor\",\"database_revision\":null,\"cache_policy\":\"live\",\"registration_digest\":\"fc98b2ba93843987265320f0699dec551f92aa5824accd6ebbf1e2e066051b61\"},\"digest\":\"6088cea28242a9c3c73c2f9d9f98202ba5830c5895056df6b2a85f8f9bdb83bd\"},\"predicate_type\":\"analysis-observation\",\"operation\":\"read_function_instructions\",\"parameters\":{\"procedure\":\"0x456c\"},\"raw_result\":{\"upstream\":{\"name\":\"ida-pro-mcp\",\"version\":\"1.0.0\"},\"observations\":[{\"tool\":\"lookup_funcs\",\"arguments\":{\"queries\":[\"0x456c\"],\"database\":\"rea-7b740ae6-71a1-44e8-9b8e-4a0f2eec1904\"},\"result\":[{\"query\":\"0x456c\",\"fn\":null,\"error\":\"Not a function\"}]}],\"metadata_before\":{\"status\":\"ok\",\"uptime_sec\":0.609,\"idb_path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/ida/rea-ida-m2OZXk/fixed-target.so.i64\",\"module\":\"fixed-target.so\",\"input_path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/ida/rea-ida-m2OZXk/fixed-target.so\",\"imagebase\":\"0x0\",\"auto_analysis_ready\":true,\"hexrays_ready\":true,\"strings_cache_ready\":true,\"strings_cache_size\":143},\"post_operation_identity_check\":\"not_attempted\"},\"normalized_result\":{\"status\":\"partial\",\"failed_operation\":\"read_function_instructions\",\"observations\":[{\"tool\":\"lookup_funcs\",\"arguments\":{\"queries\":[\"0x456c\"],\"database\":\"rea-7b740ae6-71a1-44e8-9b8e-4a0f2eec1904\"},\"result\":[{\"query\":\"0x456c\",\"fn\":null,\"error\":\"Not a function\"}]}],\"metadata_before\":{\"status\":\"ok\",\"uptime_sec\":0.609,\"idb_path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/ida/rea-ida-m2OZXk/fixed-target.so.i64\",\"module\":\"fixed-target.so\",\"input_path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/ida/rea-ida-m2OZXk/fixed-target.so\",\"imagebase\":\"0x0\",\"auto_analysis_ready\":true,\"hexrays_ready\":true,\"strings_cache_ready\":true,\"strings_cache_size\":143},\"target_binding\":{\"status\":\"not_verified\",\"reason\":\"Invalid analysis input for read_function_instructions\"}},\"confidence\":\"observed\",\"authority\":\"external-service\",\"environment\":null,\"limitations\":[\"Provider version identifies the REA IDA adapter. IDA engine and upstream distribution versions are unknown unless separately observed; MCP serverInfo is reported independently.\",\"Results describe the current IDA analysis database. Input identity does not prove an unmodified database; patches, annotations, analysis completeness, and database revision remain unknown.\",\"Live results are never replayed from analysis snapshots. Target checks before and after a request do not provide an atomic lock against external GUI changes.\",\"Caller cancellation drains the in-flight MCP request before cleanup; it does not prove that IDA engine work was interrupted.\",\"Headless workers are released through the upstream database lifecycle. Abrupt termination of REA, its proxy, or the supervisor cannot prove worker cleanup; inspect upstream inventory after an interrupted process.\",\"Complete function body ranges, typed references, unresolved indirect calls, referenced data, and basic blocks are unavailable in this adapter. Empty unsupported dossier facets are unknown, not observed absence.\",\"The requested IDA operation failed after these completed upstream replies; the partial Evidence does not establish a complete result.\",\"Replies are bound to the selected target only by the pre-operation identity check unless post_operation_identity_check is verified.\"],\"relationship_coverage\":null,\"locations\":[{\"kind\":\"artifact-path\",\"path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/fixed-target.so\"}],\"evidence_links\":[]}}}\n", "stderr": ""}, "call": 3}
{"elapsed": 24.407609749992844, "request": {"name": "analyze", "arguments": {"operation": "read_bytes", "selector": "0x456c", "length": 7528}}, "call": 4}
{"elapsed": 24.97117191599682, "response": {"returncode": 1, "stdout": "{\"error\":\"Analysis failed\",\"code\":\"capability_unavailable\",\"category\":\"unsupported_provider\",\"message\":\"This analysis is unavailable for the current target. Choose another analysis or target.\",\"retryable\":false,\"remediation\":{\"action\":\"This analysis is unavailable for the current target. Choose another analysis or target.\"},\"details\":{\"provider_id\":\"ida\",\"operation\":\"read_bytes\",\"reason\":\"operation is not declared by this provider\"}}\n", "stderr": ""}, "call": 4}
{"elapsed": 41.4253629159939, "request": {"name": "python", "arguments": {"code": "from elftools.elf.elffile import ELFFile\nwith open('target.so','rb') as f:\n e=ELFFile(f)\n print(e.header)\n for s in e.iter_sections(): print(s.name, hex(s['sh_addr']), hex(s['sh_offset']), hex(s['sh_size']), s['sh_flags'])\n print('segments')\n for p in e.iter_segments(): print(p['p_type'],hex(p['p_vaddr']),hex(p['p_offset']),hex(p['p_filesz']),hex(p['p_memsz']),p['p_flags'])\n"}}, "call": 5}
{"elapsed": 41.557325082976604, "response": {"returncode": 0, "timed_out": false, "memory_exceeded": false, "stdout": "Container({'e_ident': Container({'EI_MAG': [127, 69, 76, 70], 'EI_CLASS': 'ELFCLASS64', 'EI_DATA': 'ELFDATA2LSB', 'EI_VERSION': 'EV_CURRENT', 'EI_OSABI': 'ELFOSABI_SYSV', 'EI_ABIVERSION': 0}), 'e_type': 'ET_DYN', 'e_machine': 'EM_AARCH64', 'e_version': 'EV_CURRENT', 'e_entry': 0, 'e_phoff': 64, 'e_shoff': 29552, 'e_flags': 0, 'e_ehsize': 64, 'e_phentsize': 56, 'e_phnum': 8, 'e_shentsize': 64, 'e_shnum': 15, 'e_shstrndx': 14})\n 0x0 0x0 0x0 0\n.dynsym 0x200 0x200 0x48 2\n.gnu.hash 0x248 0x248 0x24 2\n.dynstr 0x26c 0x26c 0x4a 2\n.rela.plt 0x2b8 0x2b8 0x18 66\n.rodata 0x2d0 0x2d0 0x425a 2097202\n.eh_frame_hdr 0x452c 0x452c 0x14 2\n.eh_frame 0x4540 0x4540 0x2c 2\n.text 0x456c 0x456c 0x2c58 6\n.plt 0x71d0 0x71d0 0x30 6\n.dynamic 0xb200 0x7200 0xd0 3\n.got.plt 0xb2d0 0x72d0 0x20 3\n.relro_padding 0xb2f0 0x72f0 0xd10 3\n.bss 0xf2f0 0x72f0 0x8 3\n.shstrtab 0x0 0x72f0 0x7b 0\nsegments\nPT_PHDR 0x40 0x40 0x1c0 0x1c0 4\nPT_LOAD 0x0 0x0 0x7200 0x7200 5\nPT_LOAD 0xb200 0x7200 0xf0 0xe00 6\nPT_LOAD 0xf2f0 0x72f0 0x0 0x8 6\nPT_DYNAMIC 0xb200 0x7200 0xd0 0xd0 6\nPT_GNU_RELRO 0xb200 0x7200 0xf0 0xe00 4\nPT_GNU_EH_FRAME 0x452c 0x452c 0x14 0x14 4\nPT_GNU_STACK 0x0 0x0 0x0 0x0 6\n", "stderr": ""}, "call": 5}
{"elapsed": 44.00644616599311, "request": {"name": "analyze", "arguments": {"operation": "procedures"}}, "call": 6}
{"elapsed": 44.007429457997205, "error": "'procedures'"}
{"elapsed": 47.15948970799218, "request": {"name": "python", "arguments": {"code": "try:\n import capstone; print('capstone',capstone.__version__)\nexcept Exception as ex: print(ex)\nfrom elftools.elf.elffile import ELFFile\nwith open('target.so','rb') as f:\n f.seek(0x456c); b=f.read(0x1d68)\nfrom capstone import *\nmd=Cs(CS_ARCH_ARM64,CS_MODE_LITTLE_ENDIAN); md.detail=True\nfor i,x in enumerate(md.disasm(b,0x456c)):\n print(f'{x.address:06x}: {x.mnemonic:8} {x.op_str}')\n if i>300: break\n"}}, "call": 7}
{"elapsed": 47.2929022499884, "response": {"returncode": 1, "timed_out": false, "memory_exceeded": false, "stdout": "No module named 'capstone'\n", "stderr": "Traceback (most recent call last):\n  File \"/private/tmp/anti-rev-blind-v4-40fr3iyo/trials/8674d65e676be161/script-007.py\", line 7, in <module>\n    from capstone import *\nModuleNotFoundError: No module named 'capstone'\n"}, "call": 7}
{"elapsed": 51.52072458298062, "request": {"name": "python", "arguments": {"code": "from elftools.elf.elffile import ELFFile\nwith open('target.so','rb') as f:\n e=ELFFile(f)\n for sn in ['.dynsym','.rela.plt','.dynamic']:\n  s=e.get_section_by_name(sn); print(sn)\n  if sn=='.dynsym':\n   for x in s.iter_symbols(): print(x.name,x.entry)\n  elif sn=='.rela.plt':\n   for x in s.iter_relocations(): print(x.entry)\n  else:\n   for x in s.iter_tags(): print(x.entry)\n print('rodata strings')\n s=e.get_section_by_name('.rodata'); d=s.data(); base=s['sh_addr']\n import re\n for m in re.finditer(rb'[ -~]{4,}',d): print(hex(base+m.start()),m.group()[:200])\n"}}, "call": 8}
{"elapsed": 51.65678962497623, "response": {"returncode": 0, "timed_out": false, "memory_exceeded": false, "stdout": ".dynsym\n Container({'st_name': 0, 'st_info': Container({'bind': 'STB_LOCAL', 'type': 'STT_NOTYPE'}), 'st_other': Container({'local': 0, 'visibility': 'STV_DEFAULT'}), 'st_shndx': 'SHN_UNDEF', 'st_value': 0, 'st_size': 0})\ndemo_evaluate Container({'st_name': 1, 'st_info': Container({'bind': 'STB_GLOBAL', 'type': 'STT_FUNC'}), 'st_other': Container({'local': 0, 'visibility': 'STV_DEFAULT'}), 'st_shndx': 8, 'st_value': 17772, 'st_size': 7528})\nJava_com_example_antiai_NativeBridge_evaluate Container({'st_name': 15, 'st_info': Container({'bind': 'STB_GLOBAL', 'type': 'STT_FUNC'}), 'st_other': Container({'local': 0, 'visibility': 'STV_DEFAULT'}), 'st_shndx': 8, 'st_value': 25300, 'st_size': 20})\n.rela.plt\nContainer({'r_offset': 45800, 'r_info': 4294968322, 'r_info_sym': 1, 'r_info_type': 1026, 'r_addend': 0})\n.dynamic\nContainer({'d_tag': 'DT_SONAME', 'd_val': 61, 'd_ptr': 61})\nContainer({'d_tag': 'DT_FLAGS', 'd_val': 8, 'd_ptr': 8})\nContainer({'d_tag': 'DT_FLAGS_1', 'd_val': 1, 'd_ptr': 1})\nContainer({'d_tag': 'DT_JMPREL', 'd_val': 696, 'd_ptr': 696})\nContainer({'d_tag': 'DT_PLTRELSZ', 'd_val': 24, 'd_ptr': 24})\nContainer({'d_tag': 'DT_PLTGOT', 'd_val': 45776, 'd_ptr': 45776})\nContainer({'d_tag': 'DT_PLTREL', 'd_val': 7, 'd_ptr': 7})\nContainer({'d_tag': 'DT_SYMTAB', 'd_val': 512, 'd_ptr': 512})\nContainer({'d_tag': 'DT_SYMENT', 'd_val': 24, 'd_ptr': 24})\nContainer({'d_tag': 'DT_STRTAB', 'd_val': 620, 'd_ptr': 620})\nContainer({'d_tag': 'DT_STRSZ', 'd_val': 74, 'd_ptr': 74})\nContainer({'d_tag': 'DT_GNU_HASH', 'd_val': 584, 'd_ptr': 584})\nContainer({'d_tag': 'DT_NULL', 'd_val': 0, 'd_ptr': 0})\nrodata strings\n0x35f b'%f|Og'\n0x36c b'# ^Uq'\n0x3a7 b'\\\\CU|}w'\n0x3fd b'3V~4'\n0x46e b'`plp'\n0x4bf b'Q%b2%'\n0x510 b'\"(Y|b'\n0x51f b'%:+mY'\n0x552 b'Hu,9'\n0x60f b'L]c#'\n0x651 b'Wh4TA'\n0x6d4 b'CNE8m'\n0x6fa b'STEO>'\n0x711 b'3$xn'\n0x839 b'->6j'\n0x949 b'eVw|'\n0x968 b';mr-q'\n0x9ff b'M491'\n0xa20 b'>tft'\n0xa33 b'fSO$'\n0xa41 b'k^#B6'\n0xa7b b'cJLC'\n0xb54 b'9rvF'\n0xb73 b\".8;'\"\n0xbb4 b'N)g x'\n0xc10 b'v_Th'\n0xc22 b'~4*^'\n0xc35 b'Rf_V'\n0xc43 b'~ Sb'\n0xc4d b'/p0Q'\n0xcdf b'`U~y'\n0xd19 b'e0S1'\n0xde3 b'^WF.'\n0xe1f b\"G'1,\"\n0xe4c b\"zO'D\"\n0xecc b'i@3x'\n0xfc0 b'/rustc/13a989de1c651b9c8ad1ec6d61f349609934811e/library/core/src/quote_engine.rs'\n0x1011 b'/rustc/bec6370e7ea9779b3dd3446e608446de11006b34/library/core/src/quote_engine.rs'\n0x1062 b'/rustc/3504b4370f5bffbe64c682bb6e658cffc54ed74f/library/core/src/quote_engine.rs'\n0x10b3 b'/rustc/65c973cf5da6de08b66c58d87dd188a20f33f28c/library/core/src/quote_engine.rs'\n0x1104 b'/rustc/bb15568b3aaeb38f06f896c5ef38005876929def/library/core/src/quote_engine.rs'\n0x1155 b'/rustc/ea352ca4989ddde8e8b6e36ba03d3d7fc35659ea/library/core/src/quote_engine.rs'\n0x11a6 b'/rustc/38e9311c4f741358cddbef0805e6f008b66ed8fd/library/core/src/quote_engine.rs'\n0x11f7 b'/rustc/14b8bf889c00ac1a0eddf78c566992c2a5238111/library/core/src/quote_engine.rs'\n0x1248 b'/rustc/a09d993dcd7e73d3a40e1e2f0d54745bc958242b/library/core/src/quote_engine.rs'\n0x1299 b'/rustc/eada5db17072609bced603c8dfdb3d650b0aecc6/library/core/src/quote_engine.rs'\n0x12ea b'/rustc/a13826e787a4a03706c8ada99361042876294b0f/library/core/src/quote_engine.rs'\n0x133b b'/rustc/6fcc1862115167a323c5d09a0849d2f3645a2c59/library/core/src/quote_engine.rs'\n0x138c b'/rustc/480306ab79f65eff65ac76525598ca295ecd307e/library/core/src/quote_engine.rs'\n0x13dd b'/rustc/c1493533c933e8219274e2ae062ac0b36a6ecfb3/library/core/src/quote_engine.rs'\n0x142e b'/rustc/8c45da544fb84b1421aa653c8e55d39b124f6366/library/core/src/quote_engine.rs'\n0x147f b'/rustc/6fefeb125b1f241ed51f5bd468cf497684750c0b/library/core/src/quote_engine.rs'\n0x14d0 b'/rustc/264f7f82ea77e935c584780656ae4e8d7a5258ea/library/core/src/quote_engine.rs'\n0x1521 b'/rustc/2f18fa25064bd8ca3293ea6f2d287551fac4857a/library/core/src/quote_engine.rs'\n0x1572 b'/rustc/9e7df796345d072f153f4fb79d2fceb2a5a42244/library/core/src/quote_engine.rs'\n0x15c3 b'/rustc/a17f7169a2dcf63d03c73d06ff0210aeb64ff635/library/core/src/quote_engine.rs'\n0x1614 b'/rustc/cb542515fa3ec055baa344f6c18a92ab5fbad552/library/core/src/quote_engine.rs'\n0x1665 b'/rustc/ddfcc5e58036862019be2cad0a02a40397ac7d65/library/core/src/quote_engine.rs'\n0x16b6 b'/rustc/6aa285b8c4a0a450790826db4e3b1469c241489d/library/core/src/quote_engine.rs'\n0x1707 b'/rustc/eeb3f0c504a15dd04ee963c321785eaa40a6d948/library/core/src/quote_engine.rs'\n0x1758 b'/rustc/ec6be9b90bfd31837c890b73bbd72adaba4119d0/library/core/src/quote_engine.rs'\n0x17a9 b'/rustc/2f97bb5edc740581c973c1b8b2c0c04ddc9ca11c/library/core/src/quote_engine.rs'\n0x17fa b'/rustc/015df634e8f794bf24cab7a31fcc899ffcadb976/library/core/src/quote_engine.rs'\n0x184b b'/rustc/8b4bd5b3f03620b30b223060507a0d0d01a64205/library/core/src/quote_engine.rs'\n0x189c b'/rustc/8cd6fc33f4044a4bc224edcfea6a8036c29f5665/library/core/src/quote_engine.rs'\n0x18ed b'/rustc/44c1eaa910ebe4713d563f1e1fbf32969aa60596/library/core/src/quote_engine.rs'\n0x193e b'/rustc/c8eb16ab886357e44c889951d642290b6305b9ca/library/core/src/quote_engine.rs'\n0x198f b'/rustc/446099b8fc1fceda3e0f3fa27c3371e1db4cebf1/library/core/src/quote_engine.rs'\n0x19e0 b'/rustc/d5ecbbf6d7f3e066beda1c2bddf1ae5eb87b664e/library/core/src/quote_engine.rs'\n0x1a31 b'/rustc/c4e63486f469f84201c30cf41e0b8dd763146489/library/core/src/quote_engine.rs'\n0x1a82 b'/rustc/70b226637f75e8335c14865d8d584ba939dfd7a5/library/core/src/quote_engine.rs'\n0x1ad3 b'/rustc/459110b658bc9064d336429908a4cc21eef15106/library/core/src/quote_engine.rs'\n0x1b24 b'/rustc/b8138c3def1f00f091acd50d03539d08c54a057b/library/core/src/quote_engine.rs'\n0x1b75 b'/rustc/c6de1bf5d3b066fda4686634127e81c3e311cd49/library/core/src/quote_engine.rs'\n0x1bc6 b'/rustc/6a75a3fc80d5d27b4abeaeee86a06c8a891c26e9/library/core/src/quote_engine.rs'\n0x1c17 b'/rustc/9df6dcd89734f2c68b2446d877e6211687a40192/library/core/src/quote_engine.rs'\n0x1c68 b'/rustc/9d6c2520cb3479df6082a34cf700266b4f977946/library/core/src/quote_engine.rs'\n0x1cb9 b'/rustc/c766393f7fd743dadc230491c21e38caaf928129/library/core/src/quote_engine.rs'\n0x1d0a b'/rustc/06ce43d1ec16b4d839872401abea6d0272c5516b/library/core/src/quote_engine.rs'\n0x1d5b b'/rustc/1122c1ef53edd65070c0bf511872a67e07e8243c/library/core/src/quote_engine.rs'\n0x1dac b'/rustc/8407ae0e9431db2713e3c1fc7d8dc26bc44b164c/library/core/src/quote_engine.rs'\n0x1dfd b'/rustc/f02b295c80bcdf624da1417a52ccc56c284e6964/library/core/src/quote_engine.rs'\n0x1e4e b'/rustc/42a060fde428c5fbe4a12f4486555745cf8358ab/library/core/src/quote_engine.rs'\n0x1e9f b'/rustc/467df7b69ddf10619b2c120727764b17ff766245/library/core/src/quote_engine.rs'\n0x1ef0 b'/rustc/17b3b728a4cb3c4420fc94e2acadf53d49c6e3fc/library/core/src/quote_engine.rs'\n0x1f41 b'/rustc/b2d42b362a509092f083941f170ef5ddeb9b50aa/library/core/src/quote_engine.rs'\n0x1f92 b'/rustc/ce4d9076d21a9813ad841632eaffc027bcef74e7/library/core/src/quote_engine.rs'\n0x1fe3 b'/rustc/4a0ce19bcc432cda693c77381c5877c421778a99/library/core/src/quote_engine.rs'\n0x2034 b'/rustc/985f17691c3ea6a39df75f55e0d40cc6dcf0b35c/library/core/src/quote_engine.rs'\n0x2085 b'/rustc/c6648616613b3f752adac879d62d443876decc70/library/core/src/quote_engine.rs'\n0x20d6 b'/rustc/0f62baec75d21ee99ccc44b63f7e246d5856c2f1/library/core/src/quote_engine.rs'\n0x2127 b'/rustc/5637ab12f226535ee7e5fb9536473a905b3501ab/library/core/src/quote_engine.rs'\n0x2178 b'/rustc/f96f38f895eacaa1c2230d057dec7bff1ad84275/library/core/src/quote_engine.rs'\n0x21c9 b'/rustc/08756d6a0a436ffa786bad74bc3cd932d50fbe8c/library/core/src/quote_engine.rs'\n0x221a b'/rustc/9635ace962b61edb6a87e5ac517970c7d9d01aaa/library/core/src/quote_engine.rs'\n0x226b b'/rustc/a95740c84ea6c0b371b802651272c5567201d1e3/library/core/src/quote_engine.rs'\n0x22bc b'/rustc/1d1eb3cc0453958f14270af5eaa2a0ecda7d8d43/library/core/src/quote_engine.rs'\n0x230d b'/rustc/7bda5c1daa646e797200119ee210d54244e0c1f4/library/core/src/quote_engine.rs'\n0x235e b'/rustc/3fb3a7faa2f04ffb5fb505adcc9c551b7077ad1c/library/core/src/quote_engine.rs'\n0x23af b'/rustc/c255dade4858d8c60de43e830dcfc233f3917d01/library/core/src/quote_engine.rs'\n0x2400 b'/rustc/9a4168b71d5bc581a0c1387b55bdeff5e7bb62a0/library/core/src/quote_engine.rs'\n0x2451 b'/rustc/71b3b957aab056986dd826b9dde213daba7779a6/library/core/src/quote_engine.rs'\n0x24a2 b'/rustc/a71032016e84d4576bb169bef99160df72c94c38/library/core/src/quote_engine.rs'\n0x24f3 b'/rustc/0fc499e6bc0f33e83e0675898808d2701b78c822/library/core/src/quote_engine.rs'\n0x2544 b'{\"module\":\"tee_quote_stage_00\",\"interface\":\"enclave://quote/shard/0\",\"state\":0,\"algorithm\":\"epoch-seal\",\"policy\":{\"base\":149,\"discount_basis_points\":9300,\"epoch\":17}}'\n0x25eb b'{\"module\":\"tee_quote_stage_01\",\"interface\":\"enclave://quote/shard/1\",\"state\":1,\"algorithm\":\"quote-route\",\"policy\":{\"base\":279,\"discount_basis_points\":9300,\"epoch\":18}}'\n0x2693 b'{\"module\":\"tee_quote_stage_02\",\"interface\":\"enclave://quote/shard/2\",\"state\":2,\"algorithm\":\"policy-ledger\",\"policy\":{\"base\":409,\"discount_basis_points\":9300,\"epoch\":19}}'\n0x273d b'{\"module\":\"tee_quote_stage_03\",\"interface\":\"enclave://quote/shard/3\",\"state\":3,\"algorithm\":\"epoch-seal\",\"policy\":{\"base\":149,\"discount_basis_points\":9300,\"epoch\":20}}'\n0x27e4 b'{\"module\":\"tee_quote_stage_04\",\"interface\":\"enclave://quote/shard/4\",\"state\":4,\"algorithm\":\"quote-route\",\"policy\":{\"base\":279,\"discount_basis_points\":9300,\"epoch\":21}}'\n0x288c b'{\"module\":\"tee_quote_stage_05\",\"interface\":\"enclave://quote/shard/5\",\"state\":5,\"algorithm\":\"policy-ledger\",\"policy\":{\"base\":409,\"discount_basis_points\":9300,\"epoch\":22}}'\n0x2936 b'{\"module\":\"tee_quote_stage_06\",\"interface\":\"enclave://quote/shard/6\",\"state\":6,\"algorithm\":\"epoch-seal\",\"policy\":{\"base\":149,\"discount_basis_points\":9300,\"epoch\":23}}'\n0x29dd b'{\"module\":\"tee_quote_stage_07\",\"interface\":\"enclave://quote/shard/7\",\"state\":0,\"algorithm\":\"quote-route\",\"policy\":{\"base\":279,\"discount_basis_points\":9300,\"epoch\":24}}'\n0x2a85 b'{\"module\":\"tee_quote_stage_08\",\"interface\":\"enclave://quote/shard/8\",\"state\":1,\"algorithm\":\"policy-ledger\",\"policy\":{\"base\":409,\"discount_basis_points\":9300,\"epoch\":25}}'\n0x2b2f b'{\"module\":\"tee_quote_stage_09\",\"interface\":\"enclave://quote/shard/9\",\"state\":2,\"algorithm\":\"epoch-seal\",\"policy\":{\"base\":149,\"discount_basis_points\":9300,\"epoch\":26}}'\n0x2bd6 b'{\"module\":\"tee_quote_stage_10\",\"interface\":\"enclave://quote/shard/10\",\"state\":3,\"algorithm\":\"quote-route\",\"policy\":{\"base\":279,\"discount_basis_points\":9300,\"epoch\":27}}'\n0x2c7f b'{\"module\":\"tee_quote_stage_11\",\"interface\":\"enclave://quote/shard/11\",\"state\":4,\"algorithm\":\"policy-ledger\",\"policy\":{\"base\":409,\"discount_basis_points\":9300,\"epoch\":28}}'\n0x2d2a b'{\"module\":\"tee_quote_stage_12\",\"interface\":\"enclave://quote/shard/12\",\"state\":5,\"algorithm\":\"epoch-seal\",\"policy\":{\"base\":149,\"discount_basis_points\":9300,\"epoch\":29}}'\n0x2dd2 b'{\"module\":\"tee_quote_stage_13\",\"interface\":\"enclave://quote/shard/13\",\"state\":6,\"algorithm\":\"quote-route\",\"policy\":{\"base\":279,\"discount_basis_points\":9300,\"epoch\":30}}'\n0x2e7b b'{\"module\":\"tee_quote_stage_14\",\"interface\":\"enclave://quote/shard/14\",\"state\":0,\"algorithm\":\"policy-ledger\",\"policy\":{\"base\":409,\"discount_basis_points\":9300,\"epoch\":31}}'\n0x2f26 b'{\"module\":\"tee_quote_stage_15\",\"interface\":\"enclave://quote/shard/15\",\"state\":1,\"algorithm\":\"epoch-seal\",\"policy\":{\"base\":149,\"discount_basis_points\":9300,\"epoch\":32}}'\n0x2fce b'{\"module\":\"tee_quote_stage_16\",\"interface\":\"enclave://quote/shard/16\",\"state\":2,\"algorithm\":\"quote-route\",\"policy\":{\"base\":279,\"discount_basis_points\":9300,\"epoch\":33}}'\n0x3077 b'{\"module\":\"tee_quote_stage_17\",\"interface\":\"enclave://quote/shard/17\",\"state\":3,\"algorithm\":\"policy-ledger\",\"policy\":{\"base\":409,\"discount_basis_points\":9300,\"epoch\":34}}'\n0x3122 b'{\"module\":\"tee_quote_stage_18\",\"interface\":\"enclave://quote/shard/18\",\"state\":4,\"algorithm\":\"epoch-seal\",\"policy\":{\"base\":149,\"discount_basis_points\":9300,\"epoch\":35}}'\n0x31ca b'{\"module\":\"tee_quote_stage_19\",\"interface\":\"enclave://quote/shard/19\",\"state\":5,\"algorithm\":\"quote-route\",\"policy\":{\"base\":279,\"discount_basis_points\":9300,\"epoch\":36}}'\n0x3273 b'{\"module\":\"tee_quote_stage_20\",\"interface\":\"enclave://quote/shard/20\",\"state\":6,\"algorithm\":\"policy-ledger\",\"policy\":{\"base\":409,\"discount_basis_points\":9300,\"epoch\":37}}'\n0x331e b'{\"module\":\"tee_quote_stage_21\",\"interface\":\"enclave://quote/shard/21\",\"state\":0,\"algorithm\":\"epoch-seal\",\"policy\":{\"base\":149,\"discount_basis_points\":9300,\"epoch\":38}}'\n0x33c6 b'{\"module\":\"tee_quote_stage_22\",\"interface\":\"enclave://quote/shard/22\",\"state\":1,\"algorithm\":\"quote-route\",\"policy\":{\"base\":279,\"discount_basis_points\":9300,\"epoch\":39}}'\n0x346f b'{\"module\":\"tee_quote_stage_23\",\"interface\":\"enclave://quote/shard/23\",\"state\":2,\"algorithm\":\"policy-ledger\",\"policy\":{\"base\":409,\"discount_basis_points\":9300,\"epoch\":40}}'\n0x351a b'{\"module\":\"tee_quote_stage_24\",\"interface\":\"enclave://quote/shard/24\",\"state\":3,\"algorithm\":\"epoch-seal\",\"policy\":{\"base\":149,\"discount_basis_points\":9300,\"epoch\":41}}'\n0x35c2 b'{\"module\":\"tee_quote_stage_25\",\"interface\":\"enclave://quote/shard/25\",\"state\":4,\"algorithm\":\"quote-route\",\"policy\":{\"base\":279,\"discount_basis_points\":9300,\"epoch\":42}}'\n0x366b b'{\"module\":\"tee_quote_stage_26\",\"interface\":\"enclave://quote/shard/26\",\"state\":5,\"algorithm\":\"policy-ledger\",\"policy\":{\"base\":409,\"discount_basis_points\":9300,\"epoch\":43}}'\n0x3716 b'{\"module\":\"tee_quote_stage_27\",\"interface\":\"enclave://quote/shard/27\",\"state\":6,\"algorithm\":\"epoch-seal\",\"policy\":{\"base\":149,\"discount_basis_points\":9300,\"epoch\":44}}'\n0x37be b'{\"module\":\"tee_quote_stage_28\",\"interface\":\"enclave://quote/shard/28\",\"state\":0,\"algorithm\":\"quote-route\",\"policy\":{\"base\":279,\"discount_basis_points\":9300,\"epoch\":45}}'\n0x3867 b'{\"module\":\"tee_quote_stage_29\",\"interface\":\"enclave://quote/shard/29\",\"state\":1,\"algorithm\":\"policy-ledger\",\"policy\":{\"base\":409,\"discount_basis_points\":9300,\"epoch\":46}}'\n0x3912 b'{\"module\":\"tee_quote_stage_30\",\"interface\":\"enclave://quote/shard/30\",\"state\":2,\"algorithm\":\"epoch-seal\",\"policy\":{\"base\":149,\"discount_basis_points\":9300,\"epoch\":47}}'\n0x39ba b'{\"module\":\"tee_quote_stage_31\",\"interface\":\"enclave://quote/shard/31\",\"state\":3,\"algorithm\":\"quote-route\",\"policy\":{\"base\":279,\"discount_basis_points\":9300,\"epoch\":48}}'\n0x3a63 b'{\"module\":\"tee_quote_stage_32\",\"interface\":\"enclave://quote/shard/32\",\"state\":4,\"algorithm\":\"policy-ledger\",\"policy\":{\"base\":409,\"discount_basis_points\":9300,\"epoch\":49}}'\n0x3b0e b'{\"module\":\"tee_quote_stage_33\",\"interface\":\"enclave://quote/shard/33\",\"state\":5,\"algorithm\":\"epoch-seal\",\"policy\":{\"base\":149,\"discount_basis_points\":9300,\"epoch\":50}}'\n0x3bb6 b'{\"module\":\"tee_quote_stage_34\",\"interface\":\"enclave://quote/shard/34\",\"state\":6,\"algorithm\":\"quote-route\",\"policy\":{\"base\":279,\"discount_basis_points\":9300,\"epoch\":51}}'\n0x3c5f b'{\"module\":\"tee_quote_stage_35\",\"interface\":\"enclave://quote/shard/35\",\"state\":0,\"algorithm\":\"policy-ledger\",\"policy\":{\"base\":409,\"discount_basis_points\":9300,\"epoch\":52}}'\n0x3d0a b'{\"module\":\"tee_quote_stage_36\",\"interface\":\"enclave://quote/shard/36\",\"state\":1,\"algorithm\":\"epoch-seal\",\"policy\":{\"base\":149,\"discount_basis_points\":9300,\"epoch\":53}}'\n0x3db2 b'{\"module\":\"tee_quote_stage_37\",\"interface\":\"enclave://quote/shard/37\",\"state\":2,\"algorithm\":\"quote-route\",\"policy\":{\"base\":279,\"discount_basis_points\":9300,\"epoch\":54}}'\n0x3e5b b'{\"module\":\"tee_quote_stage_38\",\"interface\":\"enclave://quote/shard/38\",\"state\":3,\"algorithm\":\"policy-ledger\",\"policy\":{\"base\":409,\"discount_basis_points\":9300,\"epoch\":55}}'\n0x3f06 b'{\"module\":\"tee_quote_stage_39\",\"interface\":\"enclave://quote/shard/39\",\"state\":4,\"algorithm\":\"epoch-seal\",\"policy\":{\"base\":149,\"discount_basis_points\":9300,\"epoch\":56}}'\n0x3fae b'{\"module\":\"tee_quote_stage_40\",\"interface\":\"enclave://quote/shard/40\",\"state\":5,\"algorithm\":\"quote-route\",\"policy\":{\"base\":279,\"discount_basis_points\":9300,\"epoch\":57}}'\n0x4057 b'{\"module\":\"tee_quote_stage_41\",\"interface\":\"enclave://quote/shard/41\",\"state\":6,\"algorithm\":\"policy-ledger\",\"policy\":{\"base\":409,\"discount_basis_points\":9300,\"epoch\":58}}'\n0x4102 b'{\"module\":\"tee_quote_stage_42\",\"interface\":\"enclave://quote/shard/42\",\"state\":0,\"algorithm\":\"epoch-seal\",\"policy\":{\"base\":149,\"discount_basis_points\":9300,\"epoch\":59}}'\n0x41aa b'{\"module\":\"tee_quote_stage_43\",\"interface\":\"enclave://quote/shard/43\",\"state\":1,\"algorithm\":\"quote-route\",\"policy\":{\"base\":279,\"discount_basis_points\":9300,\"epoch\":60}}'\n0x4253 b'{\"module\":\"tee_quote_stage_44\",\"interface\":\"enclave://quote/shard/44\",\"state\":2,\"algorithm\":\"policy-ledger\",\"policy\":{\"base\":409,\"discount_basis_points\":9300,\"epoch\":61}}'\n0x42fe b'{\"module\":\"tee_quote_stage_45\",\"interface\":\"enclave://quote/shard/45\",\"state\":3,\"algorithm\":\"epoch-seal\",\"policy\":{\"base\":149,\"discount_basis_points\":9300,\"epoch\":62}}'\n0x43a6 b'{\"module\":\"tee_quote_stage_46\",\"interface\":\"enclave://quote/shard/46\",\"state\":4,\"algorithm\":\"quote-route\",\"policy\":{\"base\":279,\"discount_basis_points\":9300,\"epoch\":63}}'\n0x444f b'{\"module\":\"tee_quote_stage_47\",\"interface\":\"enclave://quote/shard/47\",\"state\":5,\"algorithm\":\"policy-ledger\",\"policy\":{\"base\":409,\"discount_basis_points\":9300,\"epoch\":64}}'\n0x44fa b'/proc/self/status'\n0x450c b'/proc/self/maps'\n0x451d b'frida-gadget'\n", "stderr": ""}, "call": 8}
{"elapsed": 64.95727220800472, "request": {"name": "python", "arguments": {"code": "from unicorn import *\nfrom unicorn.arm64_const import *\nfrom elftools.elf.elffile import ELFFile\nimport struct\nB=0x100000; STACK=0x800000; SENT=0x900000\nwith open('target.so','rb') as f:\n raw=f.read(); f.seek(0); e=ELFFile(f); segs=[dict(p.header) for p in e.iter_segments() if p['p_type']=='PT_LOAD']\nmu=Uc(UC_ARCH_ARM64,UC_MODE_ARM)\nmu.mem_map(B,0x10000); mu.mem_write(B,raw[:0x72f0]); mu.mem_map(B+0xb000,0x5000); mu.mem_write(B+0xb200,raw[0x7200:0x72f0])\n# relocation plt demo\nmu.mem_write(B+0xb2e8,struct.pack('<Q',B+0x456c))\nmu.mem_map(STACK,0x20000); mu.mem_map(SENT,0x1000)\nmu.reg_write(UC_ARM64_REG_SP,STACK+0x10000);mu.reg_write(UC_ARM64_REG_LR,SENT)\nfor r,v in zip([UC_ARM64_REG_X0,UC_ARM64_REG_X1,UC_ARM64_REG_X2,UC_ARM64_REG_X3],[1,2,3,4]):mu.reg_write(r,v)\ntrace=[]\ndef hc(mu,a,s,u):\n if len(trace)<10000: trace.append(a-B)\n if a==SENT: mu.emu_stop()\ndef hi(mu,intno,u):\n print('interrupt',intno,'pc',hex(mu.reg_read(UC_ARM64_REG_PC)-B),'x8',mu.reg_read(UC_ARM64_REG_X8),'args',[mu.reg_read(x) for x in [UC_ARM64_REG_X0,UC_ARM64_REG_X1,UC_ARM64_REG_X2,UC_ARM64_REG_X3]])\n # return errors\n mu.reg_write(UC_ARM64_REG_X0,(-1)&((1<<64)-1))\ndef inv(mu,typ,addr,size,val,u): print('INVALID',typ,hex(addr),size,hex(mu.reg_read(UC_ARM64_REG_PC)-B)); return False\nmu.hook_add(UC_HOOK_CODE,hc);mu.hook_add(UC_HOOK_INTR,hi);mu.hook_add(UC_HOOK_MEM_INVALID,inv)\ntry: mu.emu_start(B+0x456c,SENT,count=1000000)\nexcept Exception as ex: print('ERR',ex,'pc',hex(mu.reg_read(UC_ARM64_REG_PC)-B))\nprint('ret',hex(mu.reg_read(UC_ARM64_REG_X0)),'ntrace',len(trace),'last',list(map(hex,trace[-30:])))\nprint('unique',len(set(trace)),list(map(hex,sorted(set(trace))[:100])))\n"}}, "call": 9}
{"elapsed": 65.08878516597906, "response": {"returncode": 1, "timed_out": false, "memory_exceeded": false, "stdout": "", "stderr": "Traceback (most recent call last):\n  File \"/private/tmp/anti-rev-blind-v4-40fr3iyo/trials/8674d65e676be161/script-009.py\", line 9, in <module>\n    mu.mem_map(B,0x10000); mu.mem_write(B,raw[:0x72f0]); mu.mem_map(B+0xb000,0x5000); mu.mem_write(B+0xb200,raw[0x7200:0x72f0])\n                                                         ~~~~~~~~~~^^^^^^^^^^^^^^^^^\n  File \"/Volumes/workdata/work/rev/anti_rev/o-mvll/experiments/analysis-complexity/build/venv/lib/python3.14/site-packages/unicorn/unicorn_py3/unicorn.py\", line 834, in mem_map\n    raise UcError(status)\nunicorn.unicorn_py3.unicorn.UcError: Invalid memory mapping (UC_ERR_MAP)\n"}, "call": 9}
{"elapsed": 82.55026741599431, "request": {"name": "python", "arguments": {"code": "from unicorn import *\nfrom unicorn.arm64_const import *\nfrom elftools.elf.elffile import ELFFile\nimport struct\nB=0x100000; STACK=0x800000; SENT=0x900000\nraw=open('target.so','rb').read()\nmu=Uc(UC_ARCH_ARM64,UC_MODE_ARM); mu.mem_map(B,0x10000); mu.mem_write(B,raw[:0x7200]); mu.mem_write(B+0xb200,raw[0x7200:0x72f0]); mu.mem_write(B+0xb2e8,struct.pack('<Q',B+0x456c));mu.mem_map(STACK,0x20000);mu.mem_map(SENT,0x1000)\nmu.reg_write(UC_ARM64_REG_SP,STACK+0x10000);mu.reg_write(UC_ARM64_REG_LR,SENT)\nfor r,v in zip([UC_ARM64_REG_X0,UC_ARM64_REG_X1,UC_ARM64_REG_X2,UC_ARM64_REG_X3],[1,2,3,4]):mu.reg_write(r,v)\ntrace=[]\ndef hc(mu,a,s,u):\n if len(trace)<10000: trace.append(a-B)\n if a==SENT: mu.emu_stop()\ndef hi(mu,intno,u):\n print('interrupt',intno,'pc',hex(mu.reg_read(UC_ARM64_REG_PC)-B),'x8',mu.reg_read(UC_ARM64_REG_X8),'args',[mu.reg_read(x) for x in [UC_ARM64_REG_X0,UC_ARM64_REG_X1,UC_ARM64_REG_X2,UC_ARM64_REG_X3]])\n mu.reg_write(UC_ARM64_REG_X0,(-1)&((1<<64)-1))\ndef inv(mu,typ,addr,size,val,u): print('INVALID',typ,hex(addr),size,hex(mu.reg_read(UC_ARM64_REG_PC)-B)); return False\nmu.hook_add(UC_HOOK_CODE,hc);mu.hook_add(UC_HOOK_INTR,hi);mu.hook_add(UC_HOOK_MEM_INVALID,inv)\ntry: mu.emu_start(B+0x456c,SENT,count=1000000)\nexcept Exception as ex: print('ERR',ex,'pc',hex(mu.reg_read(UC_ARM64_REG_PC)-B))\nprint('ret',hex(mu.reg_read(UC_ARM64_REG_X0)),'ntrace',len(trace),'last',list(map(hex,trace[-30:])))\nprint('unique',len(set(trace)),list(map(hex,sorted(set(trace))[:120])))\n"}}, "call": 10}
{"elapsed": 82.68650479099597, "response": {"returncode": 0, "timed_out": false, "memory_exceeded": false, "stdout": "interrupt 2 pc 0x6ee0 x8 56 args [18446744073709551516, 1066234, 0, 0]\ninterrupt 2 pc 0x6f4c x8 56 args [18446744073709551516, 1066252, 0, 0]\nret 0x80000002 ntrace 10000 last ['0x5414', '0x5418', '0x541c', '0x5420', '0x5424', '0x5428', '0x542c', '0x5430', '0x5434', '0x5438', '0x543c', '0x5440', '0x5444', '0x5448', '0x544c', '0x5450', '0x5454', '0x5458', '0x545c', '0x5460', '0x5464', '0x5468', '0x546c', '0x5470', '0x5474', '0x5478', '0x547c', '0x5480', '0x5484', '0x5488']\nunique 1396 ['0x456c', '0x4570', '0x4574', '0x4578', '0x457c', '0x4580', '0x4584', '0x4588', '0x458c', '0x4590', '0x4594', '0x4598', '0x459c', '0x45a0', '0x45a4', '0x45a8', '0x45ac', '0x45b0', '0x45b4', '0x45b8', '0x45bc', '0x45c0', '0x45c4', '0x45c8', '0x45cc', '0x45d0', '0x45d4', '0x45d8', '0x45dc', '0x45e0', '0x45e4', '0x45e8', '0x45ec', '0x45f0', '0x45f4', '0x45f8', '0x45fc', '0x4600', '0x4604', '0x4608', '0x460c', '0x4610', '0x4614', '0x4618', '0x461c', '0x4620', '0x4624', '0x4628', '0x462c', '0x4630', '0x4634', '0x4638', '0x463c', '0x4640', '0x4644', '0x4648', '0x464c', '0x4650', '0x4654', '0x4658', '0x465c', '0x4660', '0x4664', '0x4668', '0x466c', '0x4670', '0x4674', '0x4678', '0x467c', '0x4680', '0x4684', '0x4688', '0x468c', '0x4690', '0x4694', '0x4698', '0x469c', '0x46a0', '0x46a4', '0x46a8', '0x46ac', '0x46b0', '0x46b4', '0x46b8', '0x46bc', '0x46c0', '0x46c4', '0x46c8', '0x46cc', '0x46d0', '0x46d4', '0x46d8', '0x46dc', '0x46e0', '0x46e4', '0x46e8', '0x46ec', '0x46f0', '0x46f4', '0x46f8', '0x46fc', '0x4700', '0x4704', '0x4708', '0x470c', '0x4710', '0x4714', '0x4718', '0x471c', '0x4720', '0x4724', '0x4728', '0x472c', '0x4730', '0x4734', '0x4738', '0x473c', '0x4740', '0x4744', '0x4748']\n", "stderr": ""}, "call": 10}
{"elapsed": 86.0788144999824, "request": {"name": "python", "arguments": {"code": "print(hex(1066234),hex(1066252))"}}, "call": 11}
{"elapsed": 86.12444158300059, "response": {"returncode": 0, "timed_out": false, "memory_exceeded": false, "stdout": "0x1044fa 0x10450c\n", "stderr": ""}, "call": 11}
{"elapsed": 96.59903250000207, "request": {"name": "python", "arguments": {"code": "from unicorn import *\nfrom unicorn.arm64_const import *\nimport struct\nraw=open('target.so','rb').read(); B=0x100000; ST=0x800000; SENT=0x900000\ndef run(vals,verbose=True):\n mu=Uc(UC_ARCH_ARM64,UC_MODE_ARM);mu.mem_map(B,0x10000);mu.mem_write(B,raw[:0x7200]);mu.mem_write(B+0xb200,raw[0x7200:0x72f0]);mu.mem_write(B+0xb2e8,struct.pack('<Q',B+0x456c));mu.mem_map(ST,0x20000);mu.mem_map(SENT,0x1000)\n mu.reg_write(UC_ARM64_REG_SP,ST+0x10000);mu.reg_write(UC_ARM64_REG_LR,SENT)\n for r,v in zip([UC_ARM64_REG_X0,UC_ARM64_REG_X1,UC_ARM64_REG_X2,UC_ARM64_REG_X3],vals):mu.reg_write(r,v)\n fds={}; nxt=[3]; tr=[]; n=[0]\n def hc(mu,a,s,u):\n  n[0]+=1\n  if len(tr)<20000:tr.append(a-B)\n  if a==SENT:mu.emu_stop()\n def cstr(p):\n  z=mu.mem_read(p,256);return bytes(z).split(b'\\0')[0]\n def hi(mu,ino,u):\n  sc=mu.reg_read(UC_ARM64_REG_X8); args=[mu.reg_read(x) for x in [UC_ARM64_REG_X0,UC_ARM64_REG_X1,UC_ARM64_REG_X2,UC_ARM64_REG_X3]]\n  if sc==56:\n   path=cstr(args[1]);fd=nxt[0];nxt[0]+=1\n   if path.endswith(b'status'): data=b'Name:\\ttest\\nTracerPid:\\t0\\nState:\\tR (running)\\n'\n   elif path.endswith(b'maps'): data=b'100000-108000 r-xp 00000000 00:00 0 /data/app/lib/arm64/libtarget.so\\n800000-820000 rw-p 00000000 00:00 0 [stack]\\n'\n   else: fd=(1<<64)-1;data=b''\n   if fd<100: fds[fd]=[data,0]\n   ret=fd\n  elif sc==63:\n   fd=args[0]\n   if fd in fds:\n    data,pos=fds[fd]; chunk=data[pos:pos+args[2]];mu.mem_write(args[1],chunk);fds[fd][1]+=len(chunk);ret=len(chunk)\n   else:ret=(1<<64)-1\n  elif sc==57: fds.pop(args[0],None);ret=0\n  else: ret=(1<<64)-38\n  if verbose:print('sys',sc,list(map(hex,args)),'=>',hex(ret))\n  mu.reg_write(UC_ARM64_REG_X0,ret)\n mu.hook_add(UC_HOOK_CODE,hc);mu.hook_add(UC_HOOK_INTR,hi)\n try:mu.emu_start(B+0x456c,SENT,count=2000000)\n except Exception as ex: print('ERR',ex,hex(mu.reg_read(UC_ARM64_REG_PC)-B))\n if verbose:print('ret',hex(mu.reg_read(UC_ARM64_REG_X0)),'count',n[0],'last',list(map(hex,tr[-20:])))\n return mu.reg_read(UC_ARM64_REG_X0),tr,n[0]\nrun((1,2,3,4))\n"}}, "call": 12}
{"elapsed": 96.67852120799944, "response": {"returncode": 0, "timed_out": false, "memory_exceeded": false, "stdout": "sys 56 ['0xffffffffffffff9c', '0x1044fa', '0x0', '0x0'] => 0x3\nsys 63 ['0x3', '0x80ef08', '0x1000', '0x0'] => 0x2b\nsys 57 ['0x3', '0x0', '0x0', '0x0'] => 0x0\nsys 56 ['0xffffffffffffff9c', '0x10450c', '0x0', '0x0'] => 0x4\nsys 63 ['0x4', '0x80eac8', '0x400', '0x0'] => 0x71\nsys 63 ['0x4', '0x80eb08', '0x400', '0x0'] => 0x0\nsys 57 ['0x4', '0x0', '0x0', '0x0'] => 0x0\nret 0x80000002 count 26369 last ['0x59b8', '0x59bc', '0x59c0', '0x59c4', '0x59c8', '0x59cc', '0x59d0', '0x59d4', '0x59d8', '0x59dc', '0x59e0', '0x59e4', '0x59e8', '0x59ec', '0x6090', '0x6094', '0x6098', '0x609c', '0x60a0', '0x60a4']\n", "stderr": ""}, "call": 12}
{"elapsed": 101.38665983299143, "request": {"name": "analyze", "arguments": {"operation": "inspect", "selector": "0x456c"}}, "call": 13}
{"elapsed": 103.41711845799, "response": {"returncode": 0, "stdout": "{\"evidence_id\":\"ev_55d2fd09c10249f6fe113b0bab949655d9336695a6bf0974acef240034a25597\",\"subject\":{\"name\":\"fixed-target.so\",\"digest\":{\"sha256\":\"bbbf5a91598728147700dd8e5da32824eb5b2649964afce2a86cb5bd4f4e4e18\"},\"local_path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/fixed-target.so\",\"format\":\"elf\",\"architecture\":\"arm64\"},\"provider\":{\"id\":\"rea-workflow\",\"name\":\"REA composed investigation workflow\",\"version\":\"1\"},\"analysis_profile\":{\"provider\":{\"id\":\"rea-workflow\",\"name\":\"REA composed investigation workflow\",\"version\":\"1\"},\"parameters\":{\"upstream_analysis_profile\":{\"provider\":{\"id\":\"ida\",\"name\":\"IDA MCP adapter\",\"version\":\"1\"},\"parameters\":{\"version_scope\":\"rea-ida-adapter\",\"engine_version\":null,\"upstream_distribution_version\":null,\"mode\":\"headless\",\"compatibility_profile\":\"database-supervisor\",\"database_revision\":null,\"cache_policy\":\"live\",\"registration_digest\":\"fc98b2ba93843987265320f0699dec551f92aa5824accd6ebbf1e2e066051b61\"},\"digest\":\"6088cea28242a9c3c73c2f9d9f98202ba5830c5895056df6b2a85f8f9bdb83bd\"},\"source_limitations\":\"provider-operation-caveats-v1\",\"workflow_revision\":4},\"digest\":\"5f0e3ecdee69fc8c29ad7d62d0f8cc0998f372b579292ea113a913ecf3884baf\"},\"predicate_type\":\"rea.analysis\",\"operation\":\"binary_overview\",\"parameters\":{},\"raw_result\":null,\"normalized_result\":{\"document\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/fixed-target.so\",\"procedure_count\":11,\"string_count\":143},\"confidence\":\"derived\",\"authority\":\"shipped-artifact\",\"environment\":null,\"limitations\":[\"Derived by an REA composed workflow.\",\"IDA MCP adapter (ida 1) list_documents, list_procedures, list_strings: Caller cancellation drains the in-flight MCP request before cleanup; it does not prove that IDA engine work was interrupted.\",\"IDA MCP adapter (ida 1) list_documents, list_procedures, list_strings: Complete function body ranges, typed references, unresolved indirect calls, referenced data, and basic blocks are unavailable in this adapter. Empty unsupported dossier facets are unknown, not observed absence.\",\"IDA MCP adapter (ida 1) list_documents, list_procedures, list_strings: Headless workers are released through the upstream database lifecycle. Abrupt termination of REA, its proxy, or the supervisor cannot prove worker cleanup; inspect upstream inventory after an interrupted process.\",\"IDA MCP adapter (ida 1) list_documents, list_procedures, list_strings: Live results are never replayed from analysis snapshots. Target checks before and after a request do not provide an atomic lock against external GUI changes.\",\"IDA MCP adapter (ida 1) list_documents, list_procedures, list_strings: Provider version identifies the REA IDA adapter. IDA engine and upstream distribution versions are unknown unless separately observed; MCP serverInfo is reported independently.\",\"IDA MCP adapter (ida 1) list_documents, list_procedures, list_strings: Results describe the current IDA analysis database. Input identity does not prove an unmodified database; patches, annotations, analysis completeness, and database revision remain unknown.\"],\"relationship_coverage\":null,\"locations\":[],\"evidence_links\":[],\"caller_input_path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/fixed-target.so\"}\n", "stderr": ""}, "call": 13}
{"elapsed": 105.3246746659861, "request": {"name": "analyze", "arguments": {"operation": "search", "selector": "*"}}, "call": 14}
{"elapsed": 107.41355645799194, "response": {"returncode": 0, "stdout": "{\"evidence_id\":\"ev_2dacafc5cd8259f19e6d21b23c36237d637d915dbd86214c3915d2894da46efc\",\"subject\":{\"name\":\"fixed-target.so\",\"digest\":{\"sha256\":\"bbbf5a91598728147700dd8e5da32824eb5b2649964afce2a86cb5bd4f4e4e18\"},\"local_path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/fixed-target.so\",\"format\":\"elf\",\"architecture\":\"arm64\"},\"provider\":{\"id\":\"ida\",\"name\":\"IDA MCP adapter\",\"version\":\"1\"},\"analysis_profile\":{\"provider\":{\"id\":\"ida\",\"name\":\"IDA MCP adapter\",\"version\":\"1\"},\"parameters\":{\"version_scope\":\"rea-ida-adapter\",\"engine_version\":null,\"upstream_distribution_version\":null,\"mode\":\"headless\",\"compatibility_profile\":\"database-supervisor\",\"database_revision\":null,\"cache_policy\":\"live\",\"registration_digest\":\"fc98b2ba93843987265320f0699dec551f92aa5824accd6ebbf1e2e066051b61\"},\"digest\":\"6088cea28242a9c3c73c2f9d9f98202ba5830c5895056df6b2a85f8f9bdb83bd\"},\"predicate_type\":\"rea.analysis\",\"operation\":\"search_strings\",\"parameters\":{\"pattern\":\"*\",\"mode\":\"literal\",\"case_sensitive\":false},\"raw_result\":{\"upstream\":{\"name\":\"ida-pro-mcp\",\"version\":\"1.0.0\"},\"metadata_before\":{\"status\":\"ok\",\"uptime_sec\":0.582,\"idb_path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/ida/rea-ida-1J73nx/fixed-target.so.i64\",\"module\":\"fixed-target.so\",\"input_path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/ida/rea-ida-1J73nx/fixed-target.so\",\"imagebase\":\"0x0\",\"auto_analysis_ready\":true,\"hexrays_ready\":true,\"strings_cache_ready\":true,\"strings_cache_size\":143},\"metadata_after\":{\"status\":\"ok\",\"uptime_sec\":0.591,\"idb_path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/ida/rea-ida-1J73nx/fixed-target.so.i64\",\"module\":\"fixed-target.so\",\"input_path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/ida/rea-ida-1J73nx/fixed-target.so\",\"imagebase\":\"0x0\",\"auto_analysis_ready\":true,\"hexrays_ready\":true,\"strings_cache_ready\":true,\"strings_cache_size\":143},\"observations\":[{\"tool\":\"find_regex\",\"arguments\":{\"pattern\":\"(?s).*\",\"offset\":0,\"limit\":100,\"database\":\"rea-9e368312-ffcb-4655-bd17-7b26b122292a\"},\"result\":{\"n\":100,\"matches\":[{\"addr\":\"0x26d\",\"string\":\"demo_evaluate\"},{\"addr\":\"0x27b\",\"string\":\"Java_com_example_antiai_NativeBridge_evaluate\"},{\"addr\":\"0x2a9\",\"string\":\"libtarget.so\"},{\"addr\":\"0x35f\",\"string\":\"%f|Og\"},{\"addr\":\"0x36c\",\"string\":\"# ^Uq\"},{\"addr\":\"0x3a7\",\"string\":\"\\\\CU|}w\"},{\"addr\":\"0x4bf\",\"string\":\"Q%b2%\"},{\"addr\":\"0x4da\",\"string\":\"Mpp\\t[\"},{\"addr\":\"0x510\",\"string\":\"\\\"(Y|b\"},{\"addr\":\"0x51f\",\"string\":\"%:+mY\"},{\"addr\":\"0x61f\",\"string\":\"WU\\bLE~\"},{\"addr\":\"0x640\",\"string\":\"._M\\u001bG\"},{\"addr\":\"0x651\",\"string\":\"Wh4TA\"},{\"addr\":\"0x6d4\",\"string\":\"CNE8m\"},{\"addr\":\"0x6fa\",\"string\":\"STEO>\"},{\"addr\":\"0x909\",\"string\":\"U`\\br<\\bO\"},{\"addr\":\"0x968\",\"string\":\";mr-q\"},{\"addr\":\"0x992\",\"string\":\"2S\\u000b|D`\"},{\"addr\":\"0xa41\",\"string\":\"k^#B6\"},{\"addr\":\"0xa83\",\"string\":\"5\\nY@:\"},{\"addr\":\"0xbb4\",\"string\":\"N)g x\"},{\"addr\":\"0xc4c\",\"string\":\"\\n/p0Q\"},{\"addr\":\"0xc60\",\"string\":\"hd\\n@\\\\A\"},{\"addr\":\"0xcc8\",\"string\":\"|:~\\n{ku\"},{\"addr\":\"0xfc0\",\"string\":\"/rustc/13a989de1c651b9c8ad1ec6d61f349609934811e/library/core/src/quote_engine.rs\"},{\"addr\":\"0x1011\",\"string\":\"/rustc/bec6370e7ea9779b3dd3446e608446de11006b34/library/core/src/quote_engine.rs\"},{\"addr\":\"0x1062\",\"string\":\"/rustc/3504b4370f5bffbe64c682bb6e658cffc54ed74f/library/core/src/quote_engine.rs\"},{\"addr\":\"0x10b3\",\"string\":\"/rustc/65c973cf5da6de08b66c58d87dd188a20f33f28c/library/core/src/quote_engine.rs\"},{\"addr\":\"0x1104\",\"string\":\"/rustc/bb15568b3aaeb38f06f896c5ef38005876929def/library/core/src/quote_engine.rs\"},{\"addr\":\"0x1155\",\"string\":\"/rustc/ea352ca4989ddde8e8b6e36ba03d3d7fc35659ea/library/core/src/quote_engine.rs\"},{\"addr\":\"0x11a6\",\"string\":\"/rustc/38e9311c4f741358cddbef0805e6f008b66ed8fd/library/core/src/quote_engine.rs\"},{\"addr\":\"0x11f7\",\"string\":\"/rustc/14b8bf889c00ac1a0eddf78c566992c2a5238111/library/core/src/quote_engine.rs\"},{\"addr\":\"0x1248\",\"string\":\"/rustc/a09d993dcd7e73d3a40e1e2f0d54745bc958242b/library/core/src/quote_engine.rs\"},{\"addr\":\"0x1299\",\"string\":\"/rustc/eada5db17072609bced603c8dfdb3d650b0aecc6/library/core/src/quote_engine.rs\"},{\"addr\":\"0x12ea\",\"string\":\"/rustc/a13826e787a4a03706c8ada99361042876294b0f/library/core/src/quote_engine.rs\"},{\"addr\":\"0x133b\",\"string\":\"/rustc/6fcc1862115167a323c5d09a0849d2f3645a2c59/library/core/src/quote_engine.rs\"},{\"addr\":\"0x138c\",\"string\":\"/rustc/480306ab79f65eff65ac76525598ca295ecd307e/library/core/src/quote_engine.rs\"},{\"addr\":\"0x13dd\",\"string\":\"/rustc/c1493533c933e8219274e2ae062ac0b36a6ecfb3/library/core/src/quote_engine.rs\"},{\"addr\":\"0x142e\",\"string\":\"/rustc/8c45da544fb84b1421aa653c8e55d39b124f6366/library/core/src/quote_engine.rs\"},{\"addr\":\"0x147f\",\"string\":\"/rustc/6fefeb125b1f241ed51f5bd468cf497684750c0b/library/core/src/quote_engine.rs\"},{\"addr\":\"0x14d0\",\"string\":\"/rustc/264f7f82ea77e935c584780656ae4e8d7a5258ea/library/core/src/quote_engine.rs\"},{\"addr\":\"0x1521\",\"string\":\"/rustc/2f18fa25064bd8ca3293ea6f2d287551fac4857a/library/core/src/quote_engine.rs\"},{\"addr\":\"0x1572\",\"string\":\"/rustc/9e7df796345d072f153f4fb79d2fceb2a5a42244/library/core/src/quote_engine.rs\"},{\"addr\":\"0x15c3\",\"string\":\"/rustc/a17f7169a2dcf63d03c73d06ff0210aeb64ff635/library/core/src/quote_engine.rs\"},{\"addr\":\"0x1614\",\"string\":\"/rustc/cb542515fa3ec055baa344f6c18a92ab5fbad552/library/core/src/quote_engine.rs\"},{\"addr\":\"0x1665\",\"string\":\"/rustc/ddfcc5e58036862019be2cad0a02a40397ac7d65/library/core/src/quote_engine.rs\"},{\"addr\":\"0x16b6\",\"string\":\"/rustc/6aa285b8c4a0a450790826db4e3b1469c241489d/library/core/src/quote_engine.rs\"},{\"addr\":\"0x1707\",\"string\":\"/rustc/eeb3f0c504a15dd04ee963c321785eaa40a6d948/library/core/src/quote_engine.rs\"},{\"addr\":\"0x1758\",\"string\":\"/rustc/ec6be9b90bfd31837c890b73bbd72adaba4119d0/library/core/src/quote_engine.rs\"},{\"addr\":\"0x17a9\",\"string\":\"/rustc/2f97bb5edc740581c973c1b8b2c0c04ddc9ca11c/library/core/src/quote_engine.rs\"},{\"addr\":\"0x17fa\",\"string\":\"/rustc/015df634e8f794bf24cab7a31fcc899ffcadb976/library/core/src/quote_engine.rs\"},{\"addr\":\"0x184b\",\"string\":\"/rustc/8b4bd5b3f03620b30b223060507a0d0d01a64205/library/core/src/quote_engine.rs\"},{\"addr\":\"0x189c\",\"string\":\"/rustc/8cd6fc33f4044a4bc224edcfea6a8036c29f5665/library/core/src/quote_engine.rs\"},{\"addr\":\"0x18ed\",\"string\":\"/rustc/44c1eaa910ebe4713d563f1e1fbf32969aa60596/library/core/src/quote_engine.rs\"},{\"addr\":\"0x193e\",\"string\":\"/rustc/c8eb16ab886357e44c889951d642290b6305b9ca/library/core/src/quote_engine.rs\"},{\"addr\":\"0x198f\",\"string\":\"/rustc/446099b8fc1fceda3e0f3fa27c3371e1db4cebf1/library/core/src/quote_engine.rs\"},{\"addr\":\"0x19e0\",\"string\":\"/rustc/d5ecbbf6d7f3e066beda1c2bddf1ae5eb87b664e/library/core/src/quote_engine.rs\"},{\"addr\":\"0x1a31\",\"string\":\"/rustc/c4e63486f469f84201c30cf41e0b8dd763146489/library/core/src/quote_engine.rs\"},{\"addr\":\"0x1a82\",\"string\":\"/rustc/70b226637f75e8335c14865d8d584ba939dfd7a5/library/core/src/quote_engine.rs\"},{\"addr\":\"0x1ad3\",\"string\":\"/rustc/459110b658bc9064d336429908a4cc21eef15106/library/core/src/quote_engine.rs\"},{\"addr\":\"0x1b24\",\"string\":\"/rustc/b8138c3def1f00f091acd50d03539d08c54a057b/library/core/src/quote_engine.rs\"},{\"addr\":\"0x1b75\",\"string\":\"/rustc/c6de1bf5d3b066fda4686634127e81c3e311cd49/library/core/src/quote_engine.rs\"},{\"addr\":\"0x1bc6\",\"string\":\"/rustc/6a75a3fc80d5d27b4abeaeee86a06c8a891c26e9/library/core/src/quote_engine.rs\"},{\"addr\":\"0x1c17\",\"string\":\"/rustc/9df6dcd89734f2c68b2446d877e6211687a40192/library/core/src/quote_engine.rs\"},{\"addr\":\"0x1c68\",\"string\":\"/rustc/9d6c2520cb3479df6082a34cf700266b4f977946/library/core/src/quote_engine.rs\"},{\"addr\":\"0x1cb9\",\"string\":\"/rustc/c766393f7fd743dadc230491c21e38caaf928129/library/core/src/quote_engine.rs\"},{\"addr\":\"0x1d0a\",\"string\":\"/rustc/06ce43d1ec16b4d839872401abea6d0272c5516b/library/core/src/quote_engine.rs\"},{\"addr\":\"0x1d5b\",\"string\":\"/rustc/1122c1ef53edd65070c0bf511872a67e07e8243c/library/core/src/quote_engine.rs\"},{\"addr\":\"0x1dac\",\"string\":\"/rustc/8407ae0e9431db2713e3c1fc7d8dc26bc44b164c/library/core/src/quote_engine.rs\"},{\"addr\":\"0x1dfd\",\"string\":\"/rustc/f02b295c80bcdf624da1417a52ccc56c284e6964/library/core/src/quote_engine.rs\"},{\"addr\":\"0x1e4e\",\"string\":\"/rustc/42a060fde428c5fbe4a12f4486555745cf8358ab/library/core/src/quote_engine.rs\"},{\"addr\":\"0x1e9f\",\"string\":\"/rustc/467df7b69ddf10619b2c120727764b17ff766245/library/core/src/quote_engine.rs\"},{\"addr\":\"0x1ef0\",\"string\":\"/rustc/17b3b728a4cb3c4420fc94e2acadf53d49c6e3fc/library/core/src/quote_engine.rs\"},{\"addr\":\"0x1f41\",\"string\":\"/rustc/b2d42b362a509092f083941f170ef5ddeb9b50aa/library/core/src/quote_engine.rs\"},{\"addr\":\"0x1f92\",\"string\":\"/rustc/ce4d9076d21a9813ad841632eaffc027bcef74e7/library/core/src/quote_engine.rs\"},{\"addr\":\"0x1fe3\",\"string\":\"/rustc/4a0ce19bcc432cda693c77381c5877c421778a99/library/core/src/quote_engine.rs\"},{\"addr\":\"0x2034\",\"string\":\"/rustc/985f17691c3ea6a39df75f55e0d40cc6dcf0b35c/library/core/src/quote_engine.rs\"},{\"addr\":\"0x2085\",\"string\":\"/rustc/c6648616613b3f752adac879d62d443876decc70/library/core/src/quote_engine.rs\"},{\"addr\":\"0x20d6\",\"string\":\"/rustc/0f62baec75d21ee99ccc44b63f7e246d5856c2f1/library/core/src/quote_engine.rs\"},{\"addr\":\"0x2127\",\"string\":\"/rustc/5637ab12f226535ee7e5fb9536473a905b3501ab/library/core/src/quote_engine.rs\"},{\"addr\":\"0x2178\",\"string\":\"/rustc/f96f38f895eacaa1c2230d057dec7bff1ad84275/library/core/src/quote_engine.rs\"},{\"addr\":\"0x21c9\",\"string\":\"/rustc/08756d6a0a436ffa786bad74bc3cd932d50fbe8c/library/core/src/quote_engine.rs\"},{\"addr\":\"0x221a\",\"string\":\"/rustc/9635ace962b61edb6a87e5ac517970c7d9d01aaa/library/core/src/quote_engine.rs\"},{\"addr\":\"0x226b\",\"string\":\"/rustc/a95740c84ea6c0b371b802651272c5567201d1e3/library/core/src/quote_engine.rs\"},{\"addr\":\"0x22bc\",\"string\":\"/rustc/1d1eb3cc0453958f14270af5eaa2a0ecda7d8d43/library/core/src/quote_engine.rs\"},{\"addr\":\"0x230d\",\"string\":\"/rustc/7bda5c1daa646e797200119ee210d54244e0c1f4/library/core/src/quote_engine.rs\"},{\"addr\":\"0x235e\",\"string\":\"/rustc/3fb3a7faa2f04ffb5fb505adcc9c551b7077ad1c/library/core/src/quote_engine.rs\"},{\"addr\":\"0x23af\",\"string\":\"/rustc/c255dade4858d8c60de43e830dcfc233f3917d01/library/core/src/quote_engine.rs\"},{\"addr\":\"0x2400\",\"string\":\"/rustc/9a4168b71d5bc581a0c1387b55bdeff5e7bb62a0/library/core/src/quote_engine.rs\"},{\"addr\":\"0x2451\",\"string\":\"/rustc/71b3b957aab056986dd826b9dde213daba7779a6/library/core/src/quote_engine.rs\"},{\"addr\":\"0x24a2\",\"string\":\"/rustc/a71032016e84d4576bb169bef99160df72c94c38/library/core/src/quote_engine.rs\"},{\"addr\":\"0x24f3\",\"string\":\"/rustc/0fc499e6bc0f33e83e0675898808d2701b78c822/library/core/src/quote_engine.rs\"},{\"addr\":\"0x2544\",\"string\":\"{\\\"module\\\":\\\"tee_quote_stage_00\\\",\\\"interface\\\":\\\"enclave://quote/shard/0\\\",\\\"state\\\":0,\\\"algorithm\\\":\\\"epoch-seal\\\",\\\"policy\\\":{\\\"base\\\":149,\\\"discount_basis_points\\\":9300,\\\"epoch\\\":17}}\"},{\"addr\":\"0x25eb\",\"string\":\"{\\\"module\\\":\\\"tee_quote_stage_01\\\",\\\"interface\\\":\\\"enclave://quote/shard/1\\\",\\\"state\\\":1,\\\"algorithm\\\":\\\"quote-route\\\",\\\"policy\\\":{\\\"base\\\":279,\\\"discount_basis_points\\\":9300,\\\"epoch\\\":18}}\"},{\"addr\":\"0x2693\",\"string\":\"{\\\"module\\\":\\\"tee_quote_stage_02\\\",\\\"interface\\\":\\\"enclave://quote/shard/2\\\",\\\"state\\\":2,\\\"algorithm\\\":\\\"policy-ledger\\\",\\\"policy\\\":{\\\"base\\\":409,\\\"discount_basis_points\\\":9300,\\\"epoch\\\":19}}\"},{\"addr\":\"0x273d\",\"string\":\"{\\\"module\\\":\\\"tee_quote_stage_03\\\",\\\"interface\\\":\\\"enclave://quote/shard/3\\\",\\\"state\\\":3,\\\"algorithm\\\":\\\"epoch-seal\\\",\\\"policy\\\":{\\\"base\\\":149,\\\"discount_basis_points\\\":9300,\\\"epoch\\\":20}}\"},{\"addr\":\"0x27e4\",\"string\":\"{\\\"module\\\":\\\"tee_quote_stage_04\\\",\\\"interface\\\":\\\"enclave://quote/shard/4\\\",\\\"state\\\":4,\\\"algorithm\\\":\\\"quote-route\\\",\\\"policy\\\":{\\\"base\\\":279,\\\"discount_basis_points\\\":9300,\\\"epoch\\\":21}}\"},{\"addr\":\"0x288c\",\"string\":\"{\\\"module\\\":\\\"tee_quote_stage_05\\\",\\\"interface\\\":\\\"enclave://quote/shard/5\\\",\\\"state\\\":5,\\\"algorithm\\\":\\\"policy-ledger\\\",\\\"policy\\\":{\\\"base\\\":409,\\\"discount_basis_points\\\":9300,\\\"epoch\\\":22}}\"},{\"addr\":\"0x2936\",\"string\":\"{\\\"module\\\":\\\"tee_quote_stage_06\\\",\\\"interface\\\":\\\"enclave://quote/shard/6\\\",\\\"state\\\":6,\\\"algorithm\\\":\\\"epoch-seal\\\",\\\"policy\\\":{\\\"base\\\":149,\\\"discount_basis_points\\\":9300,\\\"epoch\\\":23}}\"},{\"addr\":\"0x29dd\",\"string\":\"{\\\"module\\\":\\\"tee_quote_stage_07\\\",\\\"interface\\\":\\\"enclave://quote/shard/7\\\",\\\"state\\\":0,\\\"algorithm\\\":\\\"quote-route\\\",\\\"policy\\\":{\\\"base\\\":279,\\\"discount_basis_points\\\":9300,\\\"epoch\\\":24}}\"}],\"cursor\":{\"next\":100}}},{\"tool\":\"find_regex\",\"arguments\":{\"pattern\":\"(?s).*\",\"offset\":100,\"limit\":100,\"database\":\"rea-9e368312-ffcb-4655-bd17-7b26b122292a\"},\"result\":{\"n\":43,\"matches\":[{\"addr\":\"0x2a85\",\"string\":\"{\\\"module\\\":\\\"tee_quote_stage_08\\\",\\\"interface\\\":\\\"enclave://quote/shard/8\\\",\\\"state\\\":1,\\\"algorithm\\\":\\\"policy-ledger\\\",\\\"policy\\\":{\\\"base\\\":409,\\\"discount_basis_points\\\":9300,\\\"epoch\\\":25}}\"},{\"addr\":\"0x2b2f\",\"string\":\"{\\\"module\\\":\\\"tee_quote_stage_09\\\",\\\"interface\\\":\\\"enclave://quote/shard/9\\\",\\\"state\\\":2,\\\"algorithm\\\":\\\"epoch-seal\\\",\\\"policy\\\":{\\\"base\\\":149,\\\"discount_basis_points\\\":9300,\\\"epoch\\\":26}}\"},{\"addr\":\"0x2bd6\",\"string\":\"{\\\"module\\\":\\\"tee_quote_stage_10\\\",\\\"interface\\\":\\\"enclave://quote/shard/10\\\",\\\"state\\\":3,\\\"algorithm\\\":\\\"quote-route\\\",\\\"policy\\\":{\\\"base\\\":279,\\\"discount_basis_points\\\":9300,\\\"epoch\\\":27}}\"},{\"addr\":\"0x2c7f\",\"string\":\"{\\\"module\\\":\\\"tee_quote_stage_11\\\",\\\"interface\\\":\\\"enclave://quote/shard/11\\\",\\\"state\\\":4,\\\"algorithm\\\":\\\"policy-ledger\\\",\\\"policy\\\":{\\\"base\\\":409,\\\"discount_basis_points\\\":9300,\\\"epoch\\\":28}}\"},{\"addr\":\"0x2d2a\",\"string\":\"{\\\"module\\\":\\\"tee_quote_stage_12\\\",\\\"interface\\\":\\\"enclave://quote/shard/12\\\",\\\"state\\\":5,\\\"algorithm\\\":\\\"epoch-seal\\\",\\\"policy\\\":{\\\"base\\\":149,\\\"discount_basis_points\\\":9300,\\\"epoch\\\":29}}\"},{\"addr\":\"0x2dd2\",\"string\":\"{\\\"module\\\":\\\"tee_quote_stage_13\\\",\\\"interface\\\":\\\"enclave://quote/shard/13\\\",\\\"state\\\":6,\\\"algorithm\\\":\\\"quote-route\\\",\\\"policy\\\":{\\\"base\\\":279,\\\"discount_basis_points\\\":9300,\\\"epoch\\\":30}}\"},{\"addr\":\"0x2e7b\",\"string\":\"{\\\"module\\\":\\\"tee_quote_stage_14\\\",\\\"interface\\\":\\\"enclave://quote/shard/14\\\",\\\"state\\\":0,\\\"algorithm\\\":\\\"policy-ledger\\\",\\\"policy\\\":{\\\"base\\\":409,\\\"discount_basis_points\\\":9300,\\\"epoch\\\":31}}\"},{\"addr\":\"0x2f26\",\"string\":\"{\\\"module\\\":\\\"tee_quote_stage_15\\\",\\\"interface\\\":\\\"enclave://quote/shard/15\\\",\\\"state\\\":1,\\\"algorithm\\\":\\\"epoch-seal\\\",\\\"policy\\\":{\\\"base\\\":149,\\\"discount_basis_points\\\":9300,\\\"epoch\\\":32}}\"},{\"addr\":\"0x2fce\",\"string\":\"{\\\"module\\\":\\\"tee_quote_stage_16\\\",\\\"interface\\\":\\\"enclave://quote/shard/16\\\",\\\"state\\\":2,\\\"algorithm\\\":\\\"quote-route\\\",\\\"policy\\\":{\\\"base\\\":279,\\\"discount_basis_points\\\":9300,\\\"epoch\\\":33}}\"},{\"addr\":\"0x3077\",\"string\":\"{\\\"module\\\":\\\"tee_quote_stage_17\\\",\\\"interface\\\":\\\"enclave://quote/shard/17\\\",\\\"state\\\":3,\\\"algorithm\\\":\\\"policy-ledger\\\",\\\"policy\\\":{\\\"base\\\":409,\\\"discount_basis_points\\\":9300,\\\"epoch\\\":34}}\"},{\"addr\":\"0x3122\",\"string\":\"{\\\"module\\\":\\\"tee_quote_stage_18\\\",\\\"interface\\\":\\\"enclave://quote/shard/18\\\",\\\"state\\\":4,\\\"algorithm\\\":\\\"epoch-seal\\\",\\\"policy\\\":{\\\"base\\\":149,\\\"discount_basis_points\\\":9300,\\\"epoch\\\":35}}\"},{\"addr\":\"0x31ca\",\"string\":\"{\\\"module\\\":\\\"tee_quote_stage_19\\\",\\\"interface\\\":\\\"enclave://quote/shard/19\\\",\\\"state\\\":5,\\\"algorithm\\\":\\\"quote-route\\\",\\\"policy\\\":{\\\"base\\\":279,\\\"discount_basis_points\\\":9300,\\\"epoch\\\":36}}\"},{\"addr\":\"0x3273\",\"string\":\"{\\\"module\\\":\\\"tee_quote_stage_20\\\",\\\"interface\\\":\\\"enclave://quote/shard/20\\\",\\\"state\\\":6,\\\"algorithm\\\":\\\"policy-ledger\\\",\\\"policy\\\":{\\\"base\\\":409,\\\"discount_basis_points\\\":9300,\\\"epoch\\\":37}}\"},{\"addr\":\"0x331e\",\"string\":\"{\\\"module\\\":\\\"tee_quote_stage_21\\\",\\\"interface\\\":\\\"enclave://quote/shard/21\\\",\\\"state\\\":0,\\\"algorithm\\\":\\\"epoch-seal\\\",\\\"policy\\\":{\\\"base\\\":149,\\\"discount_basis_points\\\":9300,\\\"epoch\\\":38}}\"},{\"addr\":\"0x33c6\",\"string\":\"{\\\"module\\\":\\\"tee_quote_stage_22\\\",\\\"interface\\\":\\\"enclave://quote/shard/22\\\",\\\"state\\\":1,\\\"algorithm\\\":\\\"quote-route\\\",\\\"policy\\\":{\\\"base\\\":279,\\\"discount_basis_points\\\":9300,\\\"epoch\\\":39}}\"},{\"addr\":\"0x346f\",\"string\":\"{\\\"module\\\":\\\"tee_quote_stage_23\\\",\\\"interface\\\":\\\"enclave://quote/shard/23\\\",\\\"state\\\":2,\\\"algorithm\\\":\\\"policy-ledger\\\",\\\"policy\\\":{\\\"base\\\":409,\\\"discount_basis_points\\\":9300,\\\"epoch\\\":40}}\"},{\"addr\":\"0x351a\",\"string\":\"{\\\"module\\\":\\\"tee_quote_stage_24\\\",\\\"interface\\\":\\\"enclave://quote/shard/24\\\",\\\"state\\\":3,\\\"algorithm\\\":\\\"epoch-seal\\\",\\\"policy\\\":{\\\"base\\\":149,\\\"discount_basis_points\\\":9300,\\\"epoch\\\":41}}\"},{\"addr\":\"0x35c2\",\"string\":\"{\\\"module\\\":\\\"tee_quote_stage_25\\\",\\\"interface\\\":\\\"enclave://quote/shard/25\\\",\\\"state\\\":4,\\\"algorithm\\\":\\\"quote-route\\\",\\\"policy\\\":{\\\"base\\\":279,\\\"discount_basis_points\\\":9300,\\\"epoch\\\":42}}\"},{\"addr\":\"0x366b\",\"string\":\"{\\\"module\\\":\\\"tee_quote_stage_26\\\",\\\"interface\\\":\\\"enclave://quote/shard/26\\\",\\\"state\\\":5,\\\"algorithm\\\":\\\"policy-ledger\\\",\\\"policy\\\":{\\\"base\\\":409,\\\"discount_basis_points\\\":9300,\\\"epoch\\\":43}}\"},{\"addr\":\"0x3716\",\"string\":\"{\\\"module\\\":\\\"tee_quote_stage_27\\\",\\\"interface\\\":\\\"enclave://quote/shard/27\\\",\\\"state\\\":6,\\\"algorithm\\\":\\\"epoch-seal\\\",\\\"policy\\\":{\\\"base\\\":149,\\\"discount_basis_points\\\":9300,\\\"epoch\\\":44}}\"},{\"addr\":\"0x37be\",\"string\":\"{\\\"module\\\":\\\"tee_quote_stage_28\\\",\\\"interface\\\":\\\"enclave://quote/shard/28\\\",\\\"state\\\":0,\\\"algorithm\\\":\\\"quote-route\\\",\\\"policy\\\":{\\\"base\\\":279,\\\"discount_basis_points\\\":9300,\\\"epoch\\\":45}}\"},{\"addr\":\"0x3867\",\"string\":\"{\\\"module\\\":\\\"tee_quote_stage_29\\\",\\\"interface\\\":\\\"enclave://quote/shard/29\\\",\\\"state\\\":1,\\\"algorithm\\\":\\\"policy-ledger\\\",\\\"policy\\\":{\\\"base\\\":409,\\\"discount_basis_points\\\":9300,\\\"epoch\\\":46}}\"},{\"addr\":\"0x3912\",\"string\":\"{\\\"module\\\":\\\"tee_quote_stage_30\\\",\\\"interface\\\":\\\"enclave://quote/shard/30\\\",\\\"state\\\":2,\\\"algorithm\\\":\\\"epoch-seal\\\",\\\"policy\\\":{\\\"base\\\":149,\\\"discount_basis_points\\\":9300,\\\"epoch\\\":47}}\"},{\"addr\":\"0x39ba\",\"string\":\"{\\\"module\\\":\\\"tee_quote_stage_31\\\",\\\"interface\\\":\\\"enclave://quote/shard/31\\\",\\\"state\\\":3,\\\"algorithm\\\":\\\"quote-route\\\",\\\"policy\\\":{\\\"base\\\":279,\\\"discount_basis_points\\\":9300,\\\"epoch\\\":48}}\"},{\"addr\":\"0x3a63\",\"string\":\"{\\\"module\\\":\\\"tee_quote_stage_32\\\",\\\"interface\\\":\\\"enclave://quote/shard/32\\\",\\\"state\\\":4,\\\"algorithm\\\":\\\"policy-ledger\\\",\\\"policy\\\":{\\\"base\\\":409,\\\"discount_basis_points\\\":9300,\\\"epoch\\\":49}}\"},{\"addr\":\"0x3b0e\",\"string\":\"{\\\"module\\\":\\\"tee_quote_stage_33\\\",\\\"interface\\\":\\\"enclave://quote/shard/33\\\",\\\"state\\\":5,\\\"algorithm\\\":\\\"epoch-seal\\\",\\\"policy\\\":{\\\"base\\\":149,\\\"discount_basis_points\\\":9300,\\\"epoch\\\":50}}\"},{\"addr\":\"0x3bb6\",\"string\":\"{\\\"module\\\":\\\"tee_quote_stage_34\\\",\\\"interface\\\":\\\"enclave://quote/shard/34\\\",\\\"state\\\":6,\\\"algorithm\\\":\\\"quote-route\\\",\\\"policy\\\":{\\\"base\\\":279,\\\"discount_basis_points\\\":9300,\\\"epoch\\\":51}}\"},{\"addr\":\"0x3c5f\",\"string\":\"{\\\"module\\\":\\\"tee_quote_stage_35\\\",\\\"interface\\\":\\\"enclave://quote/shard/35\\\",\\\"state\\\":0,\\\"algorithm\\\":\\\"policy-ledger\\\",\\\"policy\\\":{\\\"base\\\":409,\\\"discount_basis_points\\\":9300,\\\"epoch\\\":52}}\"},{\"addr\":\"0x3d0a\",\"string\":\"{\\\"module\\\":\\\"tee_quote_stage_36\\\",\\\"interface\\\":\\\"enclave://quote/shard/36\\\",\\\"state\\\":1,\\\"algorithm\\\":\\\"epoch-seal\\\",\\\"policy\\\":{\\\"base\\\":149,\\\"discount_basis_points\\\":9300,\\\"epoch\\\":53}}\"},{\"addr\":\"0x3db2\",\"string\":\"{\\\"module\\\":\\\"tee_quote_stage_37\\\",\\\"interface\\\":\\\"enclave://quote/shard/37\\\",\\\"state\\\":2,\\\"algorithm\\\":\\\"quote-route\\\",\\\"policy\\\":{\\\"base\\\":279,\\\"discount_basis_points\\\":9300,\\\"epoch\\\":54}}\"},{\"addr\":\"0x3e5b\",\"string\":\"{\\\"module\\\":\\\"tee_quote_stage_38\\\",\\\"interface\\\":\\\"enclave://quote/shard/38\\\",\\\"state\\\":3,\\\"algorithm\\\":\\\"policy-ledger\\\",\\\"policy\\\":{\\\"base\\\":409,\\\"discount_basis_points\\\":9300,\\\"epoch\\\":55}}\"},{\"addr\":\"0x3f06\",\"string\":\"{\\\"module\\\":\\\"tee_quote_stage_39\\\",\\\"interface\\\":\\\"enclave://quote/shard/39\\\",\\\"state\\\":4,\\\"algorithm\\\":\\\"epoch-seal\\\",\\\"policy\\\":{\\\"base\\\":149,\\\"discount_basis_points\\\":9300,\\\"epoch\\\":56}}\"},{\"addr\":\"0x3fae\",\"string\":\"{\\\"module\\\":\\\"tee_quote_stage_40\\\",\\\"interface\\\":\\\"enclave://quote/shard/40\\\",\\\"state\\\":5,\\\"algorithm\\\":\\\"quote-route\\\",\\\"policy\\\":{\\\"base\\\":279,\\\"discount_basis_points\\\":9300,\\\"epoch\\\":57}}\"},{\"addr\":\"0x4057\",\"string\":\"{\\\"module\\\":\\\"tee_quote_stage_41\\\",\\\"interface\\\":\\\"enclave://quote/shard/41\\\",\\\"state\\\":6,\\\"algorithm\\\":\\\"policy-ledger\\\",\\\"policy\\\":{\\\"base\\\":409,\\\"discount_basis_points\\\":9300,\\\"epoch\\\":58}}\"},{\"addr\":\"0x4102\",\"string\":\"{\\\"module\\\":\\\"tee_quote_stage_42\\\",\\\"interface\\\":\\\"enclave://quote/shard/42\\\",\\\"state\\\":0,\\\"algorithm\\\":\\\"epoch-seal\\\",\\\"policy\\\":{\\\"base\\\":149,\\\"discount_basis_points\\\":9300,\\\"epoch\\\":59}}\"},{\"addr\":\"0x41aa\",\"string\":\"{\\\"module\\\":\\\"tee_quote_stage_43\\\",\\\"interface\\\":\\\"enclave://quote/shard/43\\\",\\\"state\\\":1,\\\"algorithm\\\":\\\"quote-route\\\",\\\"policy\\\":{\\\"base\\\":279,\\\"discount_basis_points\\\":9300,\\\"epoch\\\":60}}\"},{\"addr\":\"0x4253\",\"string\":\"{\\\"module\\\":\\\"tee_quote_stage_44\\\",\\\"interface\\\":\\\"enclave://quote/shard/44\\\",\\\"state\\\":2,\\\"algorithm\\\":\\\"policy-ledger\\\",\\\"policy\\\":{\\\"base\\\":409,\\\"discount_basis_points\\\":9300,\\\"epoch\\\":61}}\"},{\"addr\":\"0x42fe\",\"string\":\"{\\\"module\\\":\\\"tee_quote_stage_45\\\",\\\"interface\\\":\\\"enclave://quote/shard/45\\\",\\\"state\\\":3,\\\"algorithm\\\":\\\"epoch-seal\\\",\\\"policy\\\":{\\\"base\\\":149,\\\"discount_basis_points\\\":9300,\\\"epoch\\\":62}}\"},{\"addr\":\"0x43a6\",\"string\":\"{\\\"module\\\":\\\"tee_quote_stage_46\\\",\\\"interface\\\":\\\"enclave://quote/shard/46\\\",\\\"state\\\":4,\\\"algorithm\\\":\\\"quote-route\\\",\\\"policy\\\":{\\\"base\\\":279,\\\"discount_basis_points\\\":9300,\\\"epoch\\\":63}}\"},{\"addr\":\"0x444f\",\"string\":\"{\\\"module\\\":\\\"tee_quote_stage_47\\\",\\\"interface\\\":\\\"enclave://quote/shard/47\\\",\\\"state\\\":5,\\\"algorithm\\\":\\\"policy-ledger\\\",\\\"policy\\\":{\\\"base\\\":409,\\\"discount_basis_points\\\":9300,\\\"epoch\\\":64}}\"},{\"addr\":\"0x44fa\",\"string\":\"/proc/self/status\"},{\"addr\":\"0x450c\",\"string\":\"/proc/self/maps\"},{\"addr\":\"0x451d\",\"string\":\"frida-gadget\"}],\"cursor\":{\"done\":true}}}]},\"normalized_result\":[],\"confidence\":\"observed\",\"authority\":\"shipped-artifact\",\"environment\":null,\"limitations\":[\"Provider version identifies the REA IDA adapter. IDA engine and upstream distribution versions are unknown unless separately observed; MCP serverInfo is reported independently.\",\"Results describe the current IDA analysis database. Input identity does not prove an unmodified database; patches, annotations, analysis completeness, and database revision remain unknown.\",\"Live results are never replayed from analysis snapshots. Target checks before and after a request do not provide an atomic lock against external GUI changes.\",\"Caller cancellation drains the in-flight MCP request before cleanup; it does not prove that IDA engine work was interrupted.\",\"Headless workers are released through the upstream database lifecycle. Abrupt termination of REA, its proxy, or the supervisor cannot prove worker cleanup; inspect upstream inventory after an interrupted process.\",\"Complete function body ranges, typed references, unresolved indirect calls, referenced data, and basic blocks are unavailable in this adapter. Empty unsupported dossier facets are unknown, not observed absence.\"],\"relationship_coverage\":null,\"locations\":[{\"kind\":\"artifact-path\",\"path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/fixed-target.so\"}],\"evidence_links\":[],\"caller_input_path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/fixed-target.so\"}\n", "stderr": ""}, "call": 14}
{"elapsed": 110.43093224999029, "request": {"name": "python", "arguments": {"code": "from elftools.elf.elffile import ELFFile\nf=open('target.so','rb');e=ELFFile(f)\nfor x in e.get_section_by_name('.eh_frame').iter_CEs():\n print(type(x).__name__,getattr(x,'header',None))\n"}}, "call": 15}
{"elapsed": 110.56699824999669, "response": {"returncode": 1, "timed_out": false, "memory_exceeded": false, "stdout": "", "stderr": "Traceback (most recent call last):\n  File \"/private/tmp/anti-rev-blind-v4-40fr3iyo/trials/8674d65e676be161/script-015.py\", line 3, in <module>\n    for x in e.get_section_by_name('.eh_frame').iter_CEs():\n             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nAttributeError: 'Section' object has no attribute 'iter_CEs'\n"}, "call": 15}
{"elapsed": 112.93999020798947, "request": {"name": "analyze", "arguments": {"operation": "xrefs", "selector": "0x44fa"}}, "call": 16}
{"elapsed": 114.94714812497841, "response": {"returncode": 0, "stdout": "{\"evidence_id\":\"ev_f73af68ec756cdd6bb82976fd44fe9c18923a668857b2cc9c0c38a21899388ad\",\"subject\":{\"name\":\"fixed-target.so\",\"digest\":{\"sha256\":\"bbbf5a91598728147700dd8e5da32824eb5b2649964afce2a86cb5bd4f4e4e18\"},\"local_path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/fixed-target.so\",\"format\":\"elf\",\"architecture\":\"arm64\"},\"provider\":{\"id\":\"ida\",\"name\":\"IDA MCP adapter\",\"version\":\"1\"},\"analysis_profile\":{\"provider\":{\"id\":\"ida\",\"name\":\"IDA MCP adapter\",\"version\":\"1\"},\"parameters\":{\"version_scope\":\"rea-ida-adapter\",\"engine_version\":null,\"upstream_distribution_version\":null,\"mode\":\"headless\",\"compatibility_profile\":\"database-supervisor\",\"database_revision\":null,\"cache_policy\":\"live\",\"registration_digest\":\"fc98b2ba93843987265320f0699dec551f92aa5824accd6ebbf1e2e066051b61\"},\"digest\":\"6088cea28242a9c3c73c2f9d9f98202ba5830c5895056df6b2a85f8f9bdb83bd\"},\"predicate_type\":\"rea.analysis\",\"operation\":\"xrefs\",\"parameters\":{\"address\":\"0x44fa\"},\"raw_result\":{\"upstream\":{\"name\":\"ida-pro-mcp\",\"version\":\"1.0.0\"},\"metadata_before\":{\"status\":\"ok\",\"uptime_sec\":0.622,\"idb_path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/ida/rea-ida-P4rFHP/fixed-target.so.i64\",\"module\":\"fixed-target.so\",\"input_path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/ida/rea-ida-P4rFHP/fixed-target.so\",\"imagebase\":\"0x0\",\"auto_analysis_ready\":true,\"hexrays_ready\":true,\"strings_cache_ready\":true,\"strings_cache_size\":143},\"metadata_after\":{\"status\":\"ok\",\"uptime_sec\":0.628,\"idb_path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/ida/rea-ida-P4rFHP/fixed-target.so.i64\",\"module\":\"fixed-target.so\",\"input_path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/ida/rea-ida-P4rFHP/fixed-target.so\",\"imagebase\":\"0x0\",\"auto_analysis_ready\":true,\"hexrays_ready\":true,\"strings_cache_ready\":true,\"strings_cache_size\":143},\"observations\":[{\"tool\":\"xrefs_to\",\"arguments\":{\"addrs\":[\"0x44fa\"],\"limit\":1000,\"database\":\"rea-71d0997e-c654-414a-a2c5-0eff44389cc5\"},\"result\":[{\"addr\":\"0x44fa\",\"xrefs\":[{\"addr\":\"0x6ec8\",\"type\":\"data\",\"fn\":{\"addr\":\"0x6e74\",\"name\":\"sub_6E74\",\"size\":\"0x350\"}}],\"more\":false,\"xref_count\":1}]}]},\"normalized_result\":[\"0x6ec8\"],\"confidence\":\"observed\",\"authority\":\"shipped-artifact\",\"environment\":null,\"limitations\":[\"Provider version identifies the REA IDA adapter. IDA engine and upstream distribution versions are unknown unless separately observed; MCP serverInfo is reported independently.\",\"Results describe the current IDA analysis database. Input identity does not prove an unmodified database; patches, annotations, analysis completeness, and database revision remain unknown.\",\"Live results are never replayed from analysis snapshots. Target checks before and after a request do not provide an atomic lock against external GUI changes.\",\"Caller cancellation drains the in-flight MCP request before cleanup; it does not prove that IDA engine work was interrupted.\",\"Headless workers are released through the upstream database lifecycle. Abrupt termination of REA, its proxy, or the supervisor cannot prove worker cleanup; inspect upstream inventory after an interrupted process.\",\"Complete function body ranges, typed references, unresolved indirect calls, referenced data, and basic blocks are unavailable in this adapter. Empty unsupported dossier facets are unknown, not observed absence.\"],\"relationship_coverage\":null,\"locations\":[{\"kind\":\"artifact-path\",\"path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/fixed-target.so\"},{\"kind\":\"address\",\"address\":\"0x44fa\"}],\"evidence_links\":[],\"caller_input_path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/fixed-target.so\"}\n", "stderr": ""}, "call": 16}
{"elapsed": 116.54507695799111, "request": {"name": "analyze", "arguments": {"operation": "decompile", "selector": "0x6e74"}}, "call": 17}
{"elapsed": 118.67578520800453, "response": {"returncode": 0, "stdout": "{\"evidence_id\":\"ev_7beda96100adef88293dafe42fdc71ae32753edf898be65080ce493d8669dc17\",\"subject\":{\"name\":\"fixed-target.so\",\"digest\":{\"sha256\":\"bbbf5a91598728147700dd8e5da32824eb5b2649964afce2a86cb5bd4f4e4e18\"},\"local_path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/fixed-target.so\",\"format\":\"elf\",\"architecture\":\"arm64\"},\"provider\":{\"id\":\"ida\",\"name\":\"IDA MCP adapter\",\"version\":\"1\"},\"analysis_profile\":{\"provider\":{\"id\":\"ida\",\"name\":\"IDA MCP adapter\",\"version\":\"1\"},\"parameters\":{\"version_scope\":\"rea-ida-adapter\",\"engine_version\":null,\"upstream_distribution_version\":null,\"mode\":\"headless\",\"compatibility_profile\":\"database-supervisor\",\"database_revision\":null,\"cache_policy\":\"live\",\"registration_digest\":\"fc98b2ba93843987265320f0699dec551f92aa5824accd6ebbf1e2e066051b61\"},\"digest\":\"6088cea28242a9c3c73c2f9d9f98202ba5830c5895056df6b2a85f8f9bdb83bd\"},\"predicate_type\":\"rea.analysis\",\"operation\":\"procedure_pseudo_code\",\"parameters\":{\"procedure\":\"0x6e74\"},\"raw_result\":{\"upstream\":{\"name\":\"ida-pro-mcp\",\"version\":\"1.0.0\"},\"metadata_before\":{\"status\":\"ok\",\"uptime_sec\":0.609,\"idb_path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/ida/rea-ida-uae1za/fixed-target.so.i64\",\"module\":\"fixed-target.so\",\"input_path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/ida/rea-ida-uae1za/fixed-target.so\",\"imagebase\":\"0x0\",\"auto_analysis_ready\":true,\"hexrays_ready\":true,\"strings_cache_ready\":true,\"strings_cache_size\":143},\"metadata_after\":{\"status\":\"ok\",\"uptime_sec\":0.673,\"idb_path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/ida/rea-ida-uae1za/fixed-target.so.i64\",\"module\":\"fixed-target.so\",\"input_path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/ida/rea-ida-uae1za/fixed-target.so\",\"imagebase\":\"0x0\",\"auto_analysis_ready\":true,\"hexrays_ready\":true,\"strings_cache_ready\":true,\"strings_cache_size\":143},\"observations\":[{\"tool\":\"lookup_funcs\",\"arguments\":{\"queries\":[\"0x6e74\"],\"database\":\"rea-c9c19070-a0ee-4282-8e8d-abfe4bf37e78\"},\"result\":[{\"query\":\"0x6e74\",\"fn\":{\"addr\":\"0x6e74\",\"name\":\"sub_6E74\",\"size\":\"0x350\"},\"error\":null}]},{\"tool\":\"decompile\",\"arguments\":{\"addr\":\"0x6e74\",\"offset\":0,\"max_lines\":100,\"database\":\"rea-c9c19070-a0ee-4282-8e8d-abfe4bf37e78\"},\"result\":{\"addr\":\"0x6e74\",\"code\":\"__int64 sub_6E74()\\n{\\n  unsigned int v0; // w9\\n  unsigned int v1; // w19\\n  signed __int64 v2; // x0\\n  int v3; // w10\\n  __int64 v4; // x9\\n  signed __int64 v5; // x0\\n  int v6; // w20\\n  int v7; // w24\\n  __int64 v8; // x28\\n  __int64 v9; // x0\\n  unsigned __int64 v10; // x23\\n  __int64 v11; // x22\\n  __int64 v12; // x9\\n  __int64 v13; // x8\\n  _OWORD *v14; // x11\\n  __int64 v15; // x12\\n  __int128 *v16; // x10\\n  __int128 v17; // q0\\n  __int128 v18; // q1\\n  __int64 v19; // x11\\n  __int64 v20; // x10\\n  _QWORD *v21; // x11\\n  __int64 v22; // x10\\n  _BYTE *v23; // x9\\n  __int64 v25; // x11\\n  unsigned __int64 v26; // x12\\n  __int64 v27; // x14\\n  bool v28; // zf\\n  _BYTE *v29; // x15\\n  _BYTE *v30; // x15\\n  __int64 v31; // x16\\n  int v32; // w17\\n  _BYTE v33[16]; // [xsp+8h] [xbp-1448h] BYREF\\n  _BYTE v34[1072]; // [xsp+18h] [xbp-1438h] BYREF\\n  _BYTE v35[4104]; // [xsp+448h] [xbp-1008h] BYREF\\n\\n  do /*0x6eac*/\\n    v0 = __ldxr((unsigned int *)&dword_F2F0); /*0x6ea0*/\\n  while ( __stxr(v0 + 1, (unsigned int *)&dword_F2F0) != 0 ); /*0x6eac*/\\n  if ( (v0 & 0x3F) == 0 ) /*0x6eb4*/\\n  {\\n    v2 = linux_eabi_syscall(__NR_openat, -100, \\\"/proc/self/status\\\", 0); /*0x6edc*/\\n    if ( v2 < 0 /*0x6f20*/\\n      || (v3 = v2, v4 = linux_eabi_syscall(__NR_read, v2, v35, 0x1000u), linux_eabi_syscall(__NR_close, v3), v4 <= 9) )\\n    {\\n      v1 = 0; /*0x6f2c*/\\n    }\\n    else\\n    {\\n      v25 = 0; /*0x70d0*/\\n      v1 = 0; /*0x70d4*/\\n      v26 = 10; /*0x70dc*/\\n      v27 = v4 - 10; /*0x70e4*/\\n      do /*0x70fc*/\\n      {\\n        if ( v25 == 0 || v34[v25 + 1071] == 10 ) /*0x710c*/\\n        {\\n          v29 = &v35[v25]; /*0x7110*/\\n          if ( v35[v25] == 84 /*0x7190*/\\n            && v29[1] == 114\\n            && v29[2] == 97\\n            && v29[3] == 99\\n            && v29[4] == 101\\n            && v29[5] == 114\\n            && v29[6] == 80\\n            && v29[7] == 105\\n            && v29[8] == 100\\n            && v29[9] == 58\\n            && v26 < v4 )\\n          {\\n            v30 = v35; /*0x7194*/\\n            v31 = v27; /*0x7198*/\\n            do /*0x71bc*/\\n            {\\n              v32 = (unsigned __int8)v30[v26]; /*0x719c*/\\n              if ( v32 == 10 ) /*0x71a4*/\\n                break; /*0x71a4*/\\n              ++v30; /*0x71ac*/\\n              if ( (unsigned int)(v32 - 49) < 9 ) /*0x71b4*/\\n                v1 = 1; /*0x71b4*/\\n              --v31; /*0x71b8*/\\n            }\\n            while ( v31 != 0 ); /*0x71bc*/\\n          }\\n        }\\n        v28 = v25++ == v4 - 10; /*0x70ec*/\\n        ++v26; /*0x70f4*/\\n        --v27; /*0x70f8*/\\n      }\\n      while ( !v28 ); /*0x70fc*/\\n    }\\n    v5 = linux_eabi_syscall(__NR_openat, -100, \\\"/proc/self/maps\\\", 0); /*0x6f48*/\\n    if ( v5 < 0 ) /*0x6f4c*/\\n    {\\nLABEL_30:\\n      dword_F2F4 = v1; /*0x70a0*/\\n      return v1; /*0x70a4*/\\n    }\",\"line_count\":100,\"total_lines\":178,\"truncated\":true,\"cursor\":{\"next\":100},\"refs\":[{\"addr\":\"0xf2f0\",\"name\":\"dword_F2F0\"},{\"addr\":\"0x44fa\",\"name\":\"aProcSelfStatus\",\"string\":\"/proc/self/status\"},{\"addr\":\"0x450c\",\"name\":\"aProcSelfMaps\",\"string\":\"/proc/self/maps\"},{\"addr\":\"0xf2f4\",\"name\":\"dword_F2F4\"},{\"addr\":\"0x67e4\",\"name\":\"sub_67E4\"},{\"addr\":\"0x451c\",\"name\":\"unk_451C\"}]}},{\"tool\":\"decompile\",\"arguments\":{\"addr\":\"0x6e74\",\"offset\":100,\"max_lines\":100,\"database\":\"rea-c9c19070-a0ee-4282-8e8d-abfe4bf37e78\"},\"result\":{\"addr\":\"0x6e74\",\"code\":\"    v6 = v5; /*0x6f54*/\\n    v7 = 0; /*0x6f58*/\\n    v8 = 0; /*0x6f5c*/\\n    while ( 1 ) /*0x6f98*/\\n    {\\n      v9 = linux_eabi_syscall(__NR_read, v6, &v33[v8], 0x400u); /*0x6f98*/\\n      if ( v9 < 1 /*0x6fc4*/\\n        || (v10 = v9 + v8, v11 = v9, v1 |= sub_67E4(a1: &unk_451C, a2: 0, a3: v33, a4: v9 + v8), (v1 & 2) != 0) )\\n      {\\nLABEL_29:\\n        linux_eabi_syscall(__NR_close, v6); /*0x7088*/\\n        goto LABEL_30; /*0x709c*/\\n      }\\n      v12 = 0; /*0x6fcc*/\\n      if ( v10 >= 0x40 ) /*0x6fd0*/\\n        v13 = 64; /*0x6fd0*/\\n      else\\n        v13 = v10; /*0x6fd0*/\\n      if ( v10 >= 8 && v13 - v10 >= 0x20 ) /*0x6fe4*/\\n      {\\n        if ( v10 < 0x20 ) /*0x6fec*/\\n        {\\n          v12 = 0; /*0x6ff0*/\\nLABEL_23:\\n          v19 = v12; /*0x7034*/\\n          v12 = v13 & 0x78; /*0x7038*/\\n          v20 = v19 - v12; /*0x7040*/\\n          v21 = &v33[v19]; /*0x7044*/\\n          do /*0x7058*/\\n          {\\n            v20 += 8; /*0x7050*/\\n            *v21 = *(_QWORD *)((char *)v21 + v11 + v8 - v13); /*0x7054*/\\n            ++v21; /*0x7054*/\\n          }\\n          while ( v20 != 0 ); /*0x7058*/\\n          if ( v13 == v12 ) /*0x7060*/\\n            goto LABEL_9; /*0x7060*/\\n          goto LABEL_26; /*0x7060*/\\n        }\\n        v12 = v13 & 0x60; /*0x6ffc*/\\n        v14 = v34; /*0x7000*/\\n        v15 = v12; /*0x7008*/\\n        v16 = (__int128 *)&v33[v11 + v8 - v13]; /*0x700c*/\\n        do /*0x7020*/\\n        {\\n          v17 = *v16; /*0x7010*/\\n          v18 = v16[1]; /*0x7010*/\\n          v16 += 2; /*0x7010*/\\n          v15 -= 32; /*0x7014*/\\n          *(v14 - 1) = v17; /*0x7018*/\\n          *v14 = v18; /*0x7018*/\\n          v14 += 2; /*0x701c*/\\n        }\\n        while ( v15 != 0 ); /*0x7020*/\\n        if ( v13 == v12 ) /*0x7028*/\\n          goto LABEL_9; /*0x7028*/\\n        if ( (v13 & 0x18) != 0 ) /*0x7030*/\\n          goto LABEL_23; /*0x7030*/\\n      }\\nLABEL_26:\\n      v22 = v13 - v12; /*0x7064*/\\n      v23 = &v33[v12]; /*0x706c*/\\n      do /*0x7080*/\\n      {\\n        --v22; /*0x7078*/\\n        *v23 = v23[v11 + v8 - v13]; /*0x707c*/\\n        ++v23; /*0x707c*/\\n      }\\n      while ( v22 != 0 ); /*0x7080*/\\nLABEL_9:\\n      ++v7; /*0x6f74*/\\n      v8 = v13; /*0x6f78*/\\n      if ( v7 == 32 ) /*0x6f80*/\\n        goto LABEL_29; /*0x6f80*/\\n    }\\n  }\\n  return (unsigned int)dword_F2F4; /*0x70cc*/\\n}\",\"line_count\":78,\"total_lines\":178,\"truncated\":true,\"cursor\":{\"done\":true}}}]},\"normalized_result\":\"__int64 sub_6E74()\\n{\\n  unsigned int v0; // w9\\n  unsigned int v1; // w19\\n  signed __int64 v2; // x0\\n  int v3; // w10\\n  __int64 v4; // x9\\n  signed __int64 v5; // x0\\n  int v6; // w20\\n  int v7; // w24\\n  __int64 v8; // x28\\n  __int64 v9; // x0\\n  unsigned __int64 v10; // x23\\n  __int64 v11; // x22\\n  __int64 v12; // x9\\n  __int64 v13; // x8\\n  _OWORD *v14; // x11\\n  __int64 v15; // x12\\n  __int128 *v16; // x10\\n  __int128 v17; // q0\\n  __int128 v18; // q1\\n  __int64 v19; // x11\\n  __int64 v20; // x10\\n  _QWORD *v21; // x11\\n  __int64 v22; // x10\\n  _BYTE *v23; // x9\\n  __int64 v25; // x11\\n  unsigned __int64 v26; // x12\\n  __int64 v27; // x14\\n  bool v28; // zf\\n  _BYTE *v29; // x15\\n  _BYTE *v30; // x15\\n  __int64 v31; // x16\\n  int v32; // w17\\n  _BYTE v33[16]; // [xsp+8h] [xbp-1448h] BYREF\\n  _BYTE v34[1072]; // [xsp+18h] [xbp-1438h] BYREF\\n  _BYTE v35[4104]; // [xsp+448h] [xbp-1008h] BYREF\\n\\n  do /*0x6eac*/\\n    v0 = __ldxr((unsigned int *)&dword_F2F0); /*0x6ea0*/\\n  while ( __stxr(v0 + 1, (unsigned int *)&dword_F2F0) != 0 ); /*0x6eac*/\\n  if ( (v0 & 0x3F) == 0 ) /*0x6eb4*/\\n  {\\n    v2 = linux_eabi_syscall(__NR_openat, -100, \\\"/proc/self/status\\\", 0); /*0x6edc*/\\n    if ( v2 < 0 /*0x6f20*/\\n      || (v3 = v2, v4 = linux_eabi_syscall(__NR_read, v2, v35, 0x1000u), linux_eabi_syscall(__NR_close, v3), v4 <= 9) )\\n    {\\n      v1 = 0; /*0x6f2c*/\\n    }\\n    else\\n    {\\n      v25 = 0; /*0x70d0*/\\n      v1 = 0; /*0x70d4*/\\n      v26 = 10; /*0x70dc*/\\n      v27 = v4 - 10; /*0x70e4*/\\n      do /*0x70fc*/\\n      {\\n        if ( v25 == 0 || v34[v25 + 1071] == 10 ) /*0x710c*/\\n        {\\n          v29 = &v35[v25]; /*0x7110*/\\n          if ( v35[v25] == 84 /*0x7190*/\\n            && v29[1] == 114\\n            && v29[2] == 97\\n            && v29[3] == 99\\n            && v29[4] == 101\\n            && v29[5] == 114\\n            && v29[6] == 80\\n            && v29[7] == 105\\n            && v29[8] == 100\\n            && v29[9] == 58\\n            && v26 < v4 )\\n          {\\n            v30 = v35; /*0x7194*/\\n            v31 = v27; /*0x7198*/\\n            do /*0x71bc*/\\n            {\\n              v32 = (unsigned __int8)v30[v26]; /*0x719c*/\\n              if ( v32 == 10 ) /*0x71a4*/\\n                break; /*0x71a4*/\\n              ++v30; /*0x71ac*/\\n              if ( (unsigned int)(v32 - 49) < 9 ) /*0x71b4*/\\n                v1 = 1; /*0x71b4*/\\n              --v31; /*0x71b8*/\\n            }\\n            while ( v31 != 0 ); /*0x71bc*/\\n          }\\n        }\\n        v28 = v25++ == v4 - 10; /*0x70ec*/\\n        ++v26; /*0x70f4*/\\n        --v27; /*0x70f8*/\\n      }\\n      while ( !v28 ); /*0x70fc*/\\n    }\\n    v5 = linux_eabi_syscall(__NR_openat, -100, \\\"/proc/self/maps\\\", 0); /*0x6f48*/\\n    if ( v5 < 0 ) /*0x6f4c*/\\n    {\\nLABEL_30:\\n      dword_F2F4 = v1; /*0x70a0*/\\n      return v1; /*0x70a4*/\\n    }\\n    v6 = v5; /*0x6f54*/\\n    v7 = 0; /*0x6f58*/\\n    v8 = 0; /*0x6f5c*/\\n    while ( 1 ) /*0x6f98*/\\n    {\\n      v9 = linux_eabi_syscall(__NR_read, v6, &v33[v8], 0x400u); /*0x6f98*/\\n      if ( v9 < 1 /*0x6fc4*/\\n        || (v10 = v9 + v8, v11 = v9, v1 |= sub_67E4(a1: &unk_451C, a2: 0, a3: v33, a4: v9 + v8), (v1 & 2) != 0) )\\n      {\\nLABEL_29:\\n        linux_eabi_syscall(__NR_close, v6); /*0x7088*/\\n        goto LABEL_30; /*0x709c*/\\n      }\\n      v12 = 0; /*0x6fcc*/\\n      if ( v10 >= 0x40 ) /*0x6fd0*/\\n        v13 = 64; /*0x6fd0*/\\n      else\\n        v13 = v10; /*0x6fd0*/\\n      if ( v10 >= 8 && v13 - v10 >= 0x20 ) /*0x6fe4*/\\n      {\\n        if ( v10 < 0x20 ) /*0x6fec*/\\n        {\\n          v12 = 0; /*0x6ff0*/\\nLABEL_23:\\n          v19 = v12; /*0x7034*/\\n          v12 = v13 & 0x78; /*0x7038*/\\n          v20 = v19 - v12; /*0x7040*/\\n          v21 = &v33[v19]; /*0x7044*/\\n          do /*0x7058*/\\n          {\\n            v20 += 8; /*0x7050*/\\n            *v21 = *(_QWORD *)((char *)v21 + v11 + v8 - v13); /*0x7054*/\\n            ++v21; /*0x7054*/\\n          }\\n          while ( v20 != 0 ); /*0x7058*/\\n          if ( v13 == v12 ) /*0x7060*/\\n            goto LABEL_9; /*0x7060*/\\n          goto LABEL_26; /*0x7060*/\\n        }\\n        v12 = v13 & 0x60; /*0x6ffc*/\\n        v14 = v34; /*0x7000*/\\n        v15 = v12; /*0x7008*/\\n        v16 = (__int128 *)&v33[v11 + v8 - v13]; /*0x700c*/\\n        do /*0x7020*/\\n        {\\n          v17 = *v16; /*0x7010*/\\n          v18 = v16[1]; /*0x7010*/\\n          v16 += 2; /*0x7010*/\\n          v15 -= 32; /*0x7014*/\\n          *(v14 - 1) = v17; /*0x7018*/\\n          *v14 = v18; /*0x7018*/\\n          v14 += 2; /*0x701c*/\\n        }\\n        while ( v15 != 0 ); /*0x7020*/\\n        if ( v13 == v12 ) /*0x7028*/\\n          goto LABEL_9; /*0x7028*/\\n        if ( (v13 & 0x18) != 0 ) /*0x7030*/\\n          goto LABEL_23; /*0x7030*/\\n      }\\nLABEL_26:\\n      v22 = v13 - v12; /*0x7064*/\\n      v23 = &v33[v12]; /*0x706c*/\\n      do /*0x7080*/\\n      {\\n        --v22; /*0x7078*/\\n        *v23 = v23[v11 + v8 - v13]; /*0x707c*/\\n        ++v23; /*0x707c*/\\n      }\\n      while ( v22 != 0 ); /*0x7080*/\\nLABEL_9:\\n      ++v7; /*0x6f74*/\\n      v8 = v13; /*0x6f78*/\\n      if ( v7 == 32 ) /*0x6f80*/\\n        goto LABEL_29; /*0x6f80*/\\n    }\\n  }\\n  return (unsigned int)dword_F2F4; /*0x70cc*/\\n}\",\"confidence\":\"observed\",\"authority\":\"shipped-artifact\",\"environment\":null,\"limitations\":[\"Provider version identifies the REA IDA adapter. IDA engine and upstream distribution versions are unknown unless separately observed; MCP serverInfo is reported independently.\",\"Results describe the current IDA analysis database. Input identity does not prove an unmodified database; patches, annotations, analysis completeness, and database revision remain unknown.\",\"Live results are never replayed from analysis snapshots. Target checks before and after a request do not provide an atomic lock against external GUI changes.\",\"Caller cancellation drains the in-flight MCP request before cleanup; it does not prove that IDA engine work was interrupted.\",\"Headless workers are released through the upstream database lifecycle. Abrupt termination of REA, its proxy, or the supervisor cannot prove worker cleanup; inspect upstream inventory after an interrupted process.\",\"Complete function body ranges, typed references, unresolved indirect calls, referenced data, and basic blocks are unavailable in this adapter. Empty unsupported dossier facets are unknown, not observed absence.\"],\"relationship_coverage\":null,\"locations\":[{\"kind\":\"artifact-path\",\"path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/fixed-target.so\"},{\"kind\":\"address\",\"address\":\"0x6e74\"}],\"evidence_links\":[],\"caller_input_path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/fixed-target.so\"}\n", "stderr": ""}, "call": 17}
{"elapsed": 121.5610932080017, "request": {"name": "analyze", "arguments": {"operation": "xrefs", "selector": "0x6e74"}}, "call": 18}
{"elapsed": 123.66234700000496, "response": {"returncode": 0, "stdout": "{\"evidence_id\":\"ev_9db0c870b24f59529353994abdf9c6bd59f2d210a3d7e5497f8c5411e445764a\",\"subject\":{\"name\":\"fixed-target.so\",\"digest\":{\"sha256\":\"bbbf5a91598728147700dd8e5da32824eb5b2649964afce2a86cb5bd4f4e4e18\"},\"local_path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/fixed-target.so\",\"format\":\"elf\",\"architecture\":\"arm64\"},\"provider\":{\"id\":\"ida\",\"name\":\"IDA MCP adapter\",\"version\":\"1\"},\"analysis_profile\":{\"provider\":{\"id\":\"ida\",\"name\":\"IDA MCP adapter\",\"version\":\"1\"},\"parameters\":{\"version_scope\":\"rea-ida-adapter\",\"engine_version\":null,\"upstream_distribution_version\":null,\"mode\":\"headless\",\"compatibility_profile\":\"database-supervisor\",\"database_revision\":null,\"cache_policy\":\"live\",\"registration_digest\":\"fc98b2ba93843987265320f0699dec551f92aa5824accd6ebbf1e2e066051b61\"},\"digest\":\"6088cea28242a9c3c73c2f9d9f98202ba5830c5895056df6b2a85f8f9bdb83bd\"},\"predicate_type\":\"rea.analysis\",\"operation\":\"xrefs\",\"parameters\":{\"address\":\"0x6e74\"},\"raw_result\":{\"upstream\":{\"name\":\"ida-pro-mcp\",\"version\":\"1.0.0\"},\"metadata_before\":{\"status\":\"ok\",\"uptime_sec\":0.599,\"idb_path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/ida/rea-ida-KAoviD/fixed-target.so.i64\",\"module\":\"fixed-target.so\",\"input_path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/ida/rea-ida-KAoviD/fixed-target.so\",\"imagebase\":\"0x0\",\"auto_analysis_ready\":true,\"hexrays_ready\":true,\"strings_cache_ready\":true,\"strings_cache_size\":143},\"metadata_after\":{\"status\":\"ok\",\"uptime_sec\":0.605,\"idb_path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/ida/rea-ida-KAoviD/fixed-target.so.i64\",\"module\":\"fixed-target.so\",\"input_path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/ida/rea-ida-KAoviD/fixed-target.so\",\"imagebase\":\"0x0\",\"auto_analysis_ready\":true,\"hexrays_ready\":true,\"strings_cache_ready\":true,\"strings_cache_size\":143},\"observations\":[{\"tool\":\"xrefs_to\",\"arguments\":{\"addrs\":[\"0x6e74\"],\"limit\":1000,\"database\":\"rea-7ef37273-7ba8-48b1-8c16-2a75f347ad17\"},\"result\":[{\"addr\":\"0x6e74\",\"xrefs\":[{\"addr\":\"0x45ac\",\"type\":\"code\",\"fn\":null}],\"more\":false,\"xref_count\":1}]}]},\"normalized_result\":[\"0x45ac\"],\"confidence\":\"observed\",\"authority\":\"shipped-artifact\",\"environment\":null,\"limitations\":[\"Provider version identifies the REA IDA adapter. IDA engine and upstream distribution versions are unknown unless separately observed; MCP serverInfo is reported independently.\",\"Results describe the current IDA analysis database. Input identity does not prove an unmodified database; patches, annotations, analysis completeness, and database revision remain unknown.\",\"Live results are never replayed from analysis snapshots. Target checks before and after a request do not provide an atomic lock against external GUI changes.\",\"Caller cancellation drains the in-flight MCP request before cleanup; it does not prove that IDA engine work was interrupted.\",\"Headless workers are released through the upstream database lifecycle. Abrupt termination of REA, its proxy, or the supervisor cannot prove worker cleanup; inspect upstream inventory after an interrupted process.\",\"Complete function body ranges, typed references, unresolved indirect calls, referenced data, and basic blocks are unavailable in this adapter. Empty unsupported dossier facets are unknown, not observed absence.\"],\"relationship_coverage\":null,\"locations\":[{\"kind\":\"artifact-path\",\"path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/fixed-target.so\"},{\"kind\":\"address\",\"address\":\"0x6e74\"}],\"evidence_links\":[],\"caller_input_path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/fixed-target.so\"}\n", "stderr": ""}, "call": 18}
{"elapsed": 144.00078429098357, "request": {"name": "python", "arguments": {"code": "from unicorn import *\nfrom unicorn.arm64_const import *\nimport struct,itertools,time,random\nraw=open('target.so','rb').read();B=0x100000;ST=0x800000;SENT=0x900000\nmu=Uc(UC_ARCH_ARM64,UC_MODE_ARM);mu.mem_map(B,0x10000);mu.mem_write(B,raw[:0x7200]);mu.mem_write(B+0xb200,raw[0x7200:0x72f0]);mu.mem_write(B+0xb2e8,struct.pack('<Q',B+0x456c));mu.mem_map(ST,0x20000);mu.mem_map(SENT,0x1000)\ndef hook(mu,a,s,u):\n if a==B+0x6e74:\n  mu.reg_write(UC_ARM64_REG_X0,0);mu.reg_write(UC_ARM64_REG_PC,mu.reg_read(UC_ARM64_REG_LR))\n elif a==SENT:mu.emu_stop()\nmu.hook_add(UC_HOOK_CODE,hook)\nregs=[UC_ARM64_REG_X0,UC_ARM64_REG_X1,UC_ARM64_REG_X2,UC_ARM64_REG_X3]\ndef run(v):\n mu.reg_write(UC_ARM64_REG_SP,ST+0x10000);mu.reg_write(UC_ARM64_REG_LR,SENT)\n for r,x in zip(regs,v):mu.reg_write(r,x)\n mu.emu_start(B+0x456c,SENT,count=200000)\n return mu.reg_read(UC_ARM64_REG_X0)&0xffffffff\nvals=[0,1,2,3,4,5,6,7,16,17,18,47,48,64,100,149,279,409,9300,10000,0xffffffff]\ntests=[(x,0,0,0) for x in vals]+[(0,x,0,0) for x in vals]+[(0,0,x,0) for x in vals]+[(0,0,0,x) for x in vals]\ntests += list(itertools.product([0,1,2,47],[0,1,6],[149,279,409,9300],[17,18,64,9300]))\nt0=time.time();seen={}\nfor v in tests:\n o=run(v);seen.setdefault(o,[]).append(v)\nprint('time',time.time()-t0,'outputs')\nfor o,vs in seen.items():print(hex(o),len(vs),vs[:20])\n"}}, "call": 19}
{"elapsed": 145.4114164999919, "response": {"returncode": 0, "timed_out": false, "memory_exceeded": false, "stdout": "time 1.352283000946045 outputs\n0x80000001 134 [(0, 0, 0, 0), (1, 0, 0, 0), (2, 0, 0, 0), (3, 0, 0, 0), (4, 0, 0, 0), (5, 0, 0, 0), (6, 0, 0, 0), (7, 0, 0, 0), (16, 0, 0, 0), (17, 0, 0, 0), (18, 0, 0, 0), (47, 0, 0, 0), (48, 0, 0, 0), (64, 0, 0, 0), (100, 0, 0, 0), (149, 0, 0, 0), (279, 0, 0, 0), (409, 0, 0, 0), (9300, 0, 0, 0), (10000, 0, 0, 0)]\n0x80000003 14 [(0, 1, 0, 0), (0, 2, 0, 0), (0, 3, 0, 0), (0, 4, 0, 0), (0, 5, 0, 0), (0, 6, 0, 0), (0, 7, 0, 0), (0, 16, 0, 0), (0, 17, 0, 0), (0, 18, 0, 0), (0, 47, 0, 0), (0, 48, 0, 0), (0, 64, 0, 0), (0, 100, 0, 0)]\n0x80000002 128 [(0, 1, 149, 17), (0, 1, 149, 18), (0, 1, 149, 64), (0, 1, 149, 9300), (0, 1, 279, 17), (0, 1, 279, 18), (0, 1, 279, 64), (0, 1, 279, 9300), (0, 1, 409, 17), (0, 1, 409, 18), (0, 1, 409, 64), (0, 1, 409, 9300), (0, 1, 9300, 17), (0, 1, 9300, 18), (0, 1, 9300, 64), (0, 1, 9300, 9300), (0, 6, 149, 17), (0, 6, 149, 18), (0, 6, 149, 64), (0, 6, 149, 9300)]\n", "stderr": ""}, "call": 19}
{"elapsed": 153.17273362498963, "request": {"name": "python", "arguments": {"code": "import ctypes.util,glob,os\nprint('capstone',ctypes.util.find_library('capstone'))\nfor p in ['/usr/lib','/usr/local/lib','/opt/homebrew/lib']:\n print(p,glob.glob(p+'/*capstone*')[:10],glob.glob(p+'/*LLVM*')[:10])\n"}}, "call": 20}
{"elapsed": 153.21211983298417, "response": {"returncode": 0, "timed_out": false, "memory_exceeded": false, "stdout": "capstone /opt/homebrew/lib/libcapstone.dylib\n/usr/lib [] []\n/usr/local/lib [] []\n/opt/homebrew/lib ['/opt/homebrew/lib/libcapstone.5.dylib', '/opt/homebrew/lib/libcapstone.a', '/opt/homebrew/lib/libcapstone.dylib'] []\n", "stderr": ""}, "call": 20}
{"elapsed": 160.27839983298327, "request": {"name": "python", "arguments": {"code": "import ctypes,ctypes.util\nlib=ctypes.CDLL(ctypes.util.find_library('capstone'))\nclass Insn(ctypes.Structure):\n _fields_=[('id',ctypes.c_uint),('address',ctypes.c_uint64),('size',ctypes.c_uint16),('bytes',ctypes.c_ubyte*24),('mnemonic',ctypes.c_char*32),('op_str',ctypes.c_char*160),('detail',ctypes.c_void_p)]\nlib.cs_open.argtypes=[ctypes.c_int,ctypes.c_int,ctypes.POINTER(ctypes.c_size_t)];lib.cs_open.restype=ctypes.c_int\nlib.cs_disasm.argtypes=[ctypes.c_size_t,ctypes.c_void_p,ctypes.c_size_t,ctypes.c_uint64,ctypes.c_size_t,ctypes.POINTER(ctypes.POINTER(Insn))];lib.cs_disasm.restype=ctypes.c_size_t\nh=ctypes.c_size_t();print('open',lib.cs_open(1,0,ctypes.byref(h)),h.value)\nb=open('target.so','rb').read()[0x456c:0x62d4];buf=ctypes.create_string_buffer(b);out=ctypes.POINTER(Insn)();n=lib.cs_disasm(h,buf,len(b),0x456c,0,ctypes.byref(out));print('n',n)\nfor i in range(min(n,500)):\n x=out[i];print(f'{x.address:06x}: {x.mnemonic.decode():8} {x.op_str.decode()}')\nlib.cs_free(out,n);lib.cs_close(ctypes.byref(h))\n"}}, "call": 21}
{"elapsed": 160.31558312498964, "response": {"returncode": 0, "timed_out": false, "memory_exceeded": false, "stdout": "open 0 4389621968\nn 1002\n00456c: stp      x29, x30, [sp, #-0x60]!\n004570: stp      x28, x27, [sp, #0x10]\n004574: stp      x26, x25, [sp, #0x20]\n004578: stp      x24, x23, [sp, #0x30]\n00457c: stp      x22, x21, [sp, #0x40]\n004580: stp      x20, x19, [sp, #0x50]\n004584: mov      x29, sp\n004588: sub      sp, sp, #0x30\n00458c: mov      w19, w3\n004590: mov      w20, w2\n004594: mov      w21, w1\n004598: mov      w22, w0\n00459c: mul      w8, w22, w22\n0045a0: and      w8, w8, #7\n0045a4: cmp      w8, #3\n0045a8: cset     w23, eq\n0045ac: bl       #0x6e74\n0045b0: cmp      w0, #0\n0045b4: cset     w8, ne\n0045b8: orr      w8, w23, w8\n0045bc: tbnz     w8, #0, #0x62a0\n0045c0: mov      x3, sp\n0045c4: subs     x8, x3, #0x120\n0045c8: mov      sp, x8\n0045cc: mov      x4, sp\n0045d0: subs     x9, x4, #0x10\n0045d4: stur     x9, [x29, #-8]\n0045d8: mov      sp, x9\n0045dc: subs     x10, sp, #0x10\n0045e0: mov      sp, x10\n0045e4: subs     x11, sp, #0x10\n0045e8: mov      sp, x11\n0045ec: subs     x9, sp, #0x10\n0045f0: stur     x9, [x29, #-0x10]\n0045f4: mov      sp, x9\n0045f8: subs     x13, sp, #0x10\n0045fc: mov      sp, x13\n004600: subs     x14, sp, #0x10\n004604: mov      sp, x14\n004608: subs     x9, sp, #0x10\n00460c: stur     x9, [x29, #-0x18]\n004610: mov      sp, x9\n004614: subs     x9, sp, #0x10\n004618: stur     x9, [x29, #-0x20]\n00461c: mov      sp, x9\n004620: subs     x9, sp, #0x10\n004624: stur     x9, [x29, #-0x28]\n004628: mov      sp, x9\n00462c: subs     x0, sp, #0x10\n004630: mov      sp, x0\n004634: subs     x9, sp, #0x10\n004638: stur     x9, [x29, #-0x30]\n00463c: mov      sp, x9\n004640: mov      x5, sp\n004644: subs     x2, x5, #0x10\n004648: mov      sp, x2\n00464c: mov      w12, #0xf8f8\n004650: movk     w12, #0x2b42, lsl #16\n004654: add      w12, w19, w12\n004658: eor      w12, w22, w12\n00465c: eor      w12, w12, w12, lsr #16\n004660: mov      w15, #0x352d\n004664: movk     w15, #0x7feb, lsl #16\n004668: mul      w12, w12, w15\n00466c: eor      w12, w12, w12, lsr #15\n004670: mov      w15, #0xa68b\n004674: movk     w15, #0x846c, lsl #16\n004678: mul      w12, w12, w15\n00467c: eor      w12, w12, w12, lsr #16\n004680: stur     w12, [x5, #-0x10]\n004684: ldur     w12, [x5, #-0x10]\n004688: mov      w15, #0xb320\n00468c: movk     w15, #0xeb4a, lsl #16\n004690: mul      w12, w12, w15\n004694: str      w12, [x8]\n004698: ldur     w12, [x5, #-0x10]\n00469c: mov      w15, #0xae35\n0046a0: movk     w15, #0xc2b2, lsl #16\n0046a4: eor      w15, w12, w15\n0046a8: mov      w17, #0x4c63\n0046ac: movk     w17, #0xe897, lsl #16\n0046b0: madd     w12, w15, w17, w12\n0046b4: mov      w15, #0xca6b\n0046b8: movk     w15, #0x85eb, lsl #16\n0046bc: add      w12, w12, w15\n0046c0: str      w12, [x8, #4]\n0046c4: ldur     w12, [x5, #-0x10]\n0046c8: mov      w15, #0x5c6a\n0046cc: movk     w15, #0x8565, lsl #16\n0046d0: eor      w15, w12, w15\n0046d4: mov      w17, #0xd193\n0046d8: movk     w17, #0x5ee3, lsl #16\n0046dc: madd     w12, w15, w17, w12\n0046e0: mov      w15, #0x94d6\n0046e4: movk     w15, #0xbd7, lsl #16\n0046e8: add      w12, w12, w15\n0046ec: str      w12, [x8, #8]\n0046f0: ldur     w12, [x5, #-0x10]\n0046f4: mov      w15, #0xa9f\n0046f8: movk     w15, #0x4818, lsl #16\n0046fc: eor      w15, w12, w15\n004700: mov      w17, #0x6599\n004704: movk     w17, #0xd1b0, lsl #16\n004708: madd     w12, w15, w17, w12\n00470c: mov      w15, #0x5f41\n004710: movk     w15, #0x91c3, lsl #16\n004714: add      w12, w12, w15\n004718: str      w12, [x8, #0xc]\n00471c: ldur     w12, [x5, #-0x10]\n004720: mov      w15, #0xb8d4\n004724: movk     w15, #0xaca, lsl #16\n004728: eor      w15, w12, w15\n00472c: mov      w17, #0xcf15\n004730: movk     w17, #0xcfbe, lsl #16\n004734: madd     w12, w15, w17, w12\n004738: mov      w15, #0x29ac\n00473c: movk     w15, #0x17af, lsl #16\n004740: add      w12, w12, w15\n004744: str      w12, [x8, #0x10]\n004748: ldur     w12, [x5, #-0x10]\n00474c: mov      w15, #0x6709\n004750: movk     w15, #0xcd7d, lsl #16\n004754: eor      w15, w12, w15\n004758: mov      w17, #0x1fa9\n00475c: movk     w17, #0xd127, lsl #16\n004760: madd     w12, w15, w17, w12\n004764: mov      w15, #0xf417\n004768: movk     w15, #0x9d9a, lsl #16\n00476c: add      w12, w12, w15\n004770: str      w12, [x8, #0x14]\n004774: ldur     w12, [x5, #-0x10]\n004778: mov      w15, #0x153e\n00477c: movk     w15, #0x9030, lsl #16\n004780: eor      w15, w12, w15\n004784: mov      w17, #0x8ea1\n004788: movk     w17, #0x7ae5, lsl #16\n00478c: madd     w12, w15, w17, w12\n004790: mov      w15, #0xbe82\n004794: movk     w15, #0x2386, lsl #16\n004798: add      w12, w12, w15\n00479c: str      w12, [x8, #0x18]\n0047a0: ldur     w12, [x5, #-0x10]\n0047a4: mov      w15, #0xc373\n0047a8: movk     w15, #0x52e2, lsl #16\n0047ac: eor      w15, w12, w15\n0047b0: mov      w17, #0x9eb7\n0047b4: movk     w17, #0x1981, lsl #16\n0047b8: madd     w12, w15, w17, w12\n0047bc: mov      w15, #0x88ed\n0047c0: movk     w15, #0xa972, lsl #16\n0047c4: add      w12, w12, w15\n0047c8: str      w12, [x8, #0x1c]\n0047cc: ldur     w12, [x5, #-0x10]\n0047d0: mov      w15, #0x71a8\n0047d4: movk     w15, #0x1595, lsl #16\n0047d8: eor      w15, w12, w15\n0047dc: mov      w17, #0x7317\n0047e0: movk     w17, #0x1b5b, lsl #16\n0047e4: madd     w12, w15, w17, w12\n0047e8: mov      w15, #0x5358\n0047ec: movk     w15, #0x2f5e, lsl #16\n0047f0: add      w12, w12, w15\n0047f4: stur     w12, [x3, #-0x100]\n0047f8: ldur     w12, [x5, #-0x10]\n0047fc: mov      w15, #0x1fdd\n004800: movk     w15, #0xd848, lsl #16\n004804: eor      w15, w12, w15\n004808: mov      w17, #0x7d89\n00480c: movk     w17, #0x598, lsl #16\n004810: madd     w12, w15, w17, w12\n004814: mov      w15, #0x1dc3\n004818: movk     w15, #0xb54a, lsl #16\n00481c: add      w12, w12, w15\n004820: stur     w12, [x3, #-0xfc]\n004824: ldur     w12, [x5, #-0x10]\n004828: mov      w15, #0xce12\n00482c: movk     w15, #0x9afa, lsl #16\n004830: eor      w15, w12, w15\n004834: mov      w17, #0x8a6b\n004838: movk     w17, #0x7360, lsl #16\n00483c: madd     w12, w15, w17, w12\n004840: mov      w15, #0xe82e\n004844: movk     w15, #0x3b35, lsl #16\n004848: add      w12, w12, w15\n00484c: stur     w12, [x3, #-0xf8]\n004850: ldur     w12, [x5, #-0x10]\n004854: mov      w15, #0x7c47\n004858: movk     w15, #0x5dad, lsl #16\n00485c: eor      w15, w12, w15\n004860: mov      w17, #0x188b\n004864: movk     w17, #0xefb5, lsl #16\n004868: madd     w12, w15, w17, w12\n00486c: mov      w15, #0xb299\n004870: movk     w15, #0xc121, lsl #16\n004874: add      w12, w12, w15\n004878: stur     w12, [x3, #-0xf4]\n00487c: ldur     w12, [x5, #-0x10]\n004880: mov      w15, #0x2a7c\n004884: movk     w15, #0x2060, lsl #16\n004888: eor      w15, w12, w15\n00488c: mov      w17, #0xdf75\n004890: movk     w17, #0x7a53, lsl #16\n004894: madd     w12, w15, w17, w12\n004898: mov      w15, #0x7d04\n00489c: movk     w15, #0x470d, lsl #16\n0048a0: add      w12, w12, w15\n0048a4: stur     w12, [x3, #-0xf0]\n0048a8: ldur     w12, [x5, #-0x10]\n0048ac: mov      w6, #0xd8b1\n0048b0: movk     w6, #0xe312, lsl #16\n0048b4: eor      w15, w12, w6\n0048b8: mov      w7, #0xca75\n0048bc: movk     w7, #0x6ec7, lsl #16\n0048c0: madd     w12, w15, w7, w12\n0048c4: mov      w23, #0x476f\n0048c8: movk     w23, #0xccf9, lsl #16\n0048cc: add      w12, w12, w23\n0048d0: stur     w12, [x3, #-0xec]\n0048d4: ldur     w12, [x5, #-0x10]\n0048d8: mov      w15, #0x86e6\n0048dc: movk     w15, #0xa5c5, lsl #16\n0048e0: eor      w15, w12, w15\n0048e4: mov      w17, #0xa5e5\n0048e8: movk     w17, #0x2164, lsl #16\n0048ec: madd     w12, w15, w17, w12\n0048f0: mov      w15, #0x11da\n0048f4: movk     w15, #0x52e5, lsl #16\n0048f8: add      w12, w12, w15\n0048fc: stur     w12, [x3, #-0xe8]\n004900: ldur     w12, [x5, #-0x10]\n004904: mov      w15, #0x351b\n004908: movk     w15, #0x6878, lsl #16\n00490c: eor      w15, w12, w15\n004910: mov      w17, #0xd243\n004914: movk     w17, #0x64c7, lsl #16\n004918: madd     w12, w15, w17, w12\n00491c: mov      w15, #0xdc45\n004920: movk     w15, #0xd8d0, lsl #16\n004924: add      w12, w12, w15\n004928: stur     w12, [x3, #-0xe4]\n00492c: ldur     w12, [x5, #-0x10]\n004930: mov      w15, #0xe350\n004934: movk     w15, #0x2b2a, lsl #16\n004938: eor      w15, w12, w15\n00493c: mov      w17, #0x2245\n004940: movk     w17, #0x3b62, lsl #16\n004944: madd     w12, w15, w17, w12\n004948: mov      w15, #0xa6b0\n00494c: movk     w15, #0x5ebc, lsl #16\n004950: add      w12, w12, w15\n004954: stur     w12, [x3, #-0xe0]\n004958: ldur     w12, [x5, #-0x10]\n00495c: mov      w15, #0x9185\n004960: movk     w15, #0xeddd, lsl #16\n004964: eor      w15, w12, w15\n004968: mov      w17, #0x41ff\n00496c: movk     w17, #0x3252, lsl #16\n004970: madd     w12, w15, w17, w12\n004974: mov      w15, #0x711b\n004978: movk     w15, #0xe4a8, lsl #16\n00497c: add      w12, w12, w15\n004980: stur     w12, [x3, #-0xdc]\n004984: ldur     w12, [x5, #-0x10]\n004988: mov      w15, #0x3fba\n00498c: movk     w15, #0xb090, lsl #16\n004990: eor      w15, w12, w15\n004994: mov      w17, #0x4243\n004998: movk     w17, #0x5755, lsl #16\n00499c: madd     w12, w15, w17, w12\n0049a0: mov      w15, #0x3b86\n0049a4: movk     w15, #0x6a94, lsl #16\n0049a8: add      w12, w12, w15\n0049ac: stur     w12, [x3, #-0xd8]\n0049b0: ldur     w12, [x5, #-0x10]\n0049b4: mov      w15, #0xedef\n0049b8: movk     w15, #0x7342, lsl #16\n0049bc: eor      w15, w12, w15\n0049c0: mov      w17, #0x9bf9\n0049c4: movk     w17, #0xc962, lsl #16\n0049c8: madd     w12, w15, w17, w12\n0049cc: mov      w15, #0x5f1\n0049d0: movk     w15, #0xf080, lsl #16\n0049d4: add      w12, w12, w15\n0049d8: stur     w12, [x3, #-0xd4]\n0049dc: ldur     w12, [x5, #-0x10]\n0049e0: mov      w15, #0x9c24\n0049e4: movk     w15, #0x35f5, lsl #16\n0049e8: eor      w15, w12, w15\n0049ec: mov      w17, #0xa1f1\n0049f0: movk     w17, #0x3518, lsl #16\n0049f4: madd     w12, w15, w17, w12\n0049f8: mov      w15, #0xd05c\n0049fc: movk     w15, #0x766b, lsl #16\n004a00: add      w12, w12, w15\n004a04: stur     w12, [x3, #-0xd0]\n004a08: ldur     w12, [x5, #-0x10]\n004a0c: mov      w15, #0x4a59\n004a10: movk     w15, #0xf8a8, lsl #16\n004a14: eor      w15, w12, w15\n004a18: mov      w17, #0x2b15\n004a1c: movk     w17, #0x6863, lsl #16\n004a20: madd     w12, w15, w17, w12\n004a24: mov      w15, #0x9ac7\n004a28: movk     w15, #0xfc57, lsl #16\n004a2c: add      w12, w12, w15\n004a30: stur     w12, [x3, #-0xcc]\n004a34: ldur     w12, [x5, #-0x10]\n004a38: mov      w15, #0xf88e\n004a3c: movk     w15, #0xbb5a, lsl #16\n004a40: eor      w15, w12, w15\n004a44: mov      w17, #0x70e9\n004a48: movk     w17, #0x9d35, lsl #16\n004a4c: madd     w12, w15, w17, w12\n004a50: mov      w15, #0x6532\n004a54: movk     w15, #0x8243, lsl #16\n004a58: add      w12, w12, w15\n004a5c: stur     w12, [x3, #-0xc8]\n004a60: ldur     w12, [x5, #-0x10]\n004a64: mov      w15, #0xa6c3\n004a68: movk     w15, #0x7e0d, lsl #16\n004a6c: eor      w15, w12, w15\n004a70: mov      w17, #0xcb65\n004a74: movk     w17, #0xaed8, lsl #16\n004a78: madd     w12, w15, w17, w12\n004a7c: mov      w15, #0x2f9d\n004a80: movk     w15, #0x82f, lsl #16\n004a84: add      w12, w12, w15\n004a88: stur     w12, [x3, #-0xc4]\n004a8c: ldur     w12, [x5, #-0x10]\n004a90: mov      w15, #0x54f8\n004a94: movk     w15, #0x40c0, lsl #16\n004a98: eor      w15, w12, w15\n004a9c: mov      w17, #0xf8a7\n004aa0: movk     w17, #0x95c, lsl #16\n004aa4: madd     w12, w15, w17, w12\n004aa8: mov      w15, #0xfa08\n004aac: movk     w15, #0x8e1a, lsl #16\n004ab0: add      w12, w12, w15\n004ab4: stur     w12, [x3, #-0xc0]\n004ab8: ldur     w12, [x5, #-0x10]\n004abc: mov      w15, #0x32d\n004ac0: movk     w15, #0x373, lsl #16\n004ac4: eor      w15, w12, w15\n004ac8: mov      w17, #0x462d\n004acc: movk     w17, #0x8f0e, lsl #16\n004ad0: madd     w12, w15, w17, w12\n004ad4: mov      w15, #0xc473\n004ad8: movk     w15, #0x1406, lsl #16\n004adc: add      w12, w12, w15\n004ae0: stur     w12, [x3, #-0xbc]\n004ae4: ldur     w12, [x5, #-0x10]\n004ae8: mov      w15, #0xb162\n004aec: movk     w15, #0xc625, lsl #16\n004af0: eor      w15, w12, w15\n004af4: mov      w17, #0xce41\n004af8: movk     w17, #0xc5fb, lsl #16\n004afc: madd     w12, w15, w17, w12\n004b00: mov      w15, #0x8ede\n004b04: movk     w15, #0x99f2, lsl #16\n004b08: add      w12, w12, w15\n004b0c: stur     w12, [x3, #-0xb8]\n004b10: ldur     w12, [x5, #-0x10]\n004b14: mov      w15, #0x5f97\n004b18: movk     w15, #0x88d8, lsl #16\n004b1c: eor      w15, w12, w15\n004b20: mov      w17, #0x9e51\n004b24: movk     w17, #0xc5f2, lsl #16\n004b28: madd     w12, w15, w17, w12\n004b2c: mov      w15, #0x5949\n004b30: movk     w15, #0x1fde, lsl #16\n004b34: add      w12, w12, w15\n004b38: stur     w12, [x3, #-0xb4]\n004b3c: ldur     w12, [x5, #-0x10]\n004b40: mov      w24, #0xdcc\n004b44: movk     w24, #0x4b8b, lsl #16\n004b48: eor      w15, w12, w24\n004b4c: mov      w25, #0xb315\n004b50: movk     w25, #0xfff5, lsl #16\n004b54: madd     w12, w15, w25, w12\n004b58: mov      w26, #0x23b4\n004b5c: movk     w26, #0xa5ca, lsl #16\n004b60: add      w12, w12, w26\n004b64: stur     w12, [x3, #-0xb0]\n004b68: ldur     w12, [x5, #-0x10]\n004b6c: mov      w15, #0xbc01\n004b70: movk     w15, #0xe3d, lsl #16\n004b74: eor      w15, w12, w15\n004b78: mov      w17, #0x2c69\n004b7c: movk     w17, #0x503d, lsl #16\n004b80: madd     w12, w15, w17, w12\n004b84: mov      w15, #0xee1f\n004b88: movk     w15, #0x2bb5, lsl #16\n004b8c: add      w12, w12, w15\n004b90: stur     w12, [x3, #-0xac]\n004b94: ldur     w12, [x5, #-0x10]\n004b98: mov      w15, #0x6a36\n004b9c: movk     w15, #0xd0f0, lsl #16\n004ba0: eor      w15, w12, w15\n004ba4: mov      w17, #0x24cd\n004ba8: movk     w17, #0x49d2, lsl #16\n004bac: madd     w12, w15, w17, w12\n004bb0: mov      w15, #0xb88a\n004bb4: movk     w15, #0xb1a1, lsl #16\n004bb8: add      w12, w12, w15\n004bbc: stur     w12, [x3, #-0xa8]\n004bc0: ldur     w12, [x5, #-0x10]\n004bc4: mov      w15, #0x186b\n004bc8: movk     w15, #0x93a3, lsl #16\n004bcc: eor      w15, w12, w15\n004bd0: mov      w17, #0xb635\n004bd4: movk     w17, #0x1875, lsl #16\n004bd8: madd     w12, w15, w17, w12\n004bdc: mov      w15, #0x82f5\n004be0: movk     w15, #0x378d, lsl #16\n004be4: add      w12, w12, w15\n004be8: stur     w12, [x3, #-0xa4]\n004bec: ldur     w12, [x5, #-0x10]\n004bf0: mov      w15, #0xc6a0\n004bf4: movk     w15, #0x5655, lsl #16\n004bf8: eor      w15, w12, w15\n004bfc: mov      w17, #0xe48b\n004c00: movk     w17, #0x50af, lsl #16\n004c04: madd     w12, w15, w17, w12\n004c08: mov      w15, #0x4d60\n004c0c: movk     w15, #0xbd79, lsl #16\n004c10: add      w12, w12, w15\n004c14: stur     w12, [x3, #-0xa0]\n004c18: ldur     w12, [x5, #-0x10]\n004c1c: mov      w15, #0x74d5\n004c20: movk     w15, #0x1908, lsl #16\n004c24: eor      w15, w12, w15\n004c28: mov      w17, #0x1955\n004c2c: movk     w17, #0x4cd, lsl #16\n004c30: madd     w12, w15, w17, w12\n004c34: mov      w15, #0x17cb\n004c38: movk     w15, #0x4365, lsl #16\n004c3c: add      w12, w12, w15\n004c40: stur     w12, [x3, #-0x9c]\n004c44: ldur     w12, [x5, #-0x10]\n004c48: mov      w15, #0x230a\n004c4c: movk     w15, #0xdbbb, lsl #16\n004c50: eor      w15, w12, w15\n004c54: mov      w17, #0xbee9\n004c58: movk     w17, #0x36c3, lsl #16\n004c5c: madd     w12, w15, w17, w12\n004c60: mov      w15, #0xe236\n004c64: movk     w15, #0xc950, lsl #16\n004c68: add      w12, w12, w15\n004c6c: stur     w12, [x3, #-0x98]\n004c70: ldur     w12, [x5, #-0x10]\n004c74: mov      w15, #0xd13f\n004c78: movk     w15, #0x9e6d, lsl #16\n004c7c: eor      w15, w12, w15\n004c80: mov      w17, #0x5f55\n004c84: movk     w17, #0x2433, lsl #16\n004c88: madd     w12, w15, w17, w12\n004c8c: mov      w15, #0xaca1\n004c90: movk     w15, #0x4f3c, lsl #16\n004c94: add      w12, w12, w15\n004c98: stur     w12, [x3, #-0x94]\n004c9c: ldur     w12, [x5, #-0x10]\n004ca0: mov      w15, #0x7f74\n004ca4: movk     w15, #0x6120, lsl #16\n004ca8: eor      w15, w12, w15\n004cac: mov      w17, #0x99d\n004cb0: movk     w17, #0x82e8, lsl #16\n004cb4: madd     w12, w15, w17, w12\n004cb8: mov      w15, #0x770c\n004cbc: movk     w15, #0xd528, lsl #16\n004cc0: add      w12, w12, w15\n004cc4: stur     w12, [x3, #-0x90]\n004cc8: ldur     w12, [x5, #-0x10]\n004ccc: mov      w15, #0x2da9\n004cd0: movk     w15, #0x23d3, lsl #16\n004cd4: eor      w15, w12, w15\n004cd8: mov      w17, #0xf5f3\n004cdc: movk     w17, #0xb478, lsl #16\n004ce0: madd     w12, w15, w17, w12\n004ce4: mov      w15, #0x4177\n004ce8: movk     w15, #0x5b14, lsl #16\n004cec: add      w12, w12, w15\n004cf0: stur     w12, [x3, #-0x8c]\n004cf4: ldur     w12, [x5, #-0x10]\n004cf8: mov      w15, #0xdbde\n004cfc: movk     w15, #0xe685, lsl #16\n004d00: eor      w15, w12, w15\n004d04: mov      w17, #0xeeaf\n004d08: movk     w17, #0xf807, lsl #16\n004d0c: madd     w12, w15, w17, w12\n004d10: mov      w15, #0xbe2\n004d14: movk     w15, #0xe100, lsl #16\n004d18: add      w12, w12, w15\n004d1c: stur     w12, [x3, #-0x88]\n004d20: ldur     w12, [x5, #-0x10]\n004d24: mov      w15, #0x8a13\n004d28: movk     w15, #0xa938, lsl #16\n004d2c: eor      w15, w12, w15\n004d30: mov      w17, #0xfeb3\n004d34: movk     w17, #0xd943, lsl #16\n004d38: madd     w12, w15, w17, w12\n", "stderr": ""}, "call": 21}
{"elapsed": 165.26776687498204, "request": {"name": "python", "arguments": {"code": "import ctypes,ctypes.util\nlib=ctypes.CDLL(ctypes.util.find_library('capstone'))\nclass I(ctypes.Structure):_fields_=[('id',ctypes.c_uint),('address',ctypes.c_uint64),('size',ctypes.c_uint16),('bytes',ctypes.c_ubyte*24),('mnemonic',ctypes.c_char*32),('op_str',ctypes.c_char*160),('detail',ctypes.c_void_p)]\nlib.cs_open.argtypes=[ctypes.c_int,ctypes.c_int,ctypes.POINTER(ctypes.c_size_t)];lib.cs_disasm.argtypes=[ctypes.c_size_t,ctypes.c_void_p,ctypes.c_size_t,ctypes.c_uint64,ctypes.c_size_t,ctypes.POINTER(ctypes.POINTER(I))];lib.cs_disasm.restype=ctypes.c_size_t\nh=ctypes.c_size_t();lib.cs_open(1,0,ctypes.byref(h));raw=open('target.so','rb').read();b=raw[0x456c:0x62d4];buf=ctypes.create_string_buffer(b);o=ctypes.POINTER(I)();n=lib.cs_disasm(h,buf,len(b),0x456c,0,ctypes.byref(o))\nfor j in range(n):\n x=o[j]\n if x.address>=0x5400: print(f'{x.address:06x}: {x.mnemonic.decode():8} {x.op_str.decode()}')\nlib.cs_free(o,n);lib.cs_close(ctypes.byref(h))\n"}}, "call": 22}
{"elapsed": 165.30738254098105, "response": {"returncode": 0, "timed_out": false, "memory_exceeded": false, "stdout": "005400: mov      w9, #0x56af\n005404: movk     w9, #0xf2f7, lsl #16\n005408: subs     w9, w12, w9\n00540c: b.eq     #0x5c10\n005410: b        #0x5414\n005414: mov      w9, #0x5cae\n005418: movk     w9, #0xfb10, lsl #16\n00541c: subs     w9, w12, w9\n005420: b.eq     #0x6030\n005424: b        #0x5428\n005428: mov      w9, #0x8d0\n00542c: movk     w9, #0x2b5, lsl #16\n005430: subs     w9, w12, w9\n005434: b.eq     #0x5b98\n005438: b        #0x543c\n00543c: mov      w9, #0x3929\n005440: movk     w9, #0x101b, lsl #16\n005444: subs     w9, w12, w9\n005448: b.eq     #0x5cb8\n00544c: b        #0x5450\n005450: mov      w9, #0xf2f7\n005454: movk     w9, #0x19ee, lsl #16\n005458: subs     w9, w12, w9\n00545c: b.eq     #0x5d80\n005460: b        #0x5464\n005464: mov      w9, #0x9ed8\n005468: movk     w9, #0x1b20, lsl #16\n00546c: subs     w9, w12, w9\n005470: b.eq     #0x5dbc\n005474: b        #0x5478\n005478: mov      w9, #0x6b75\n00547c: movk     w9, #0x1f0a, lsl #16\n005480: subs     w9, w12, w9\n005484: b.eq     #0x5c38\n005488: b        #0x548c\n00548c: mov      w9, #0x179\n005490: movk     w9, #0x2614, lsl #16\n005494: subs     w9, w12, w9\n005498: b.eq     #0x5b30\n00549c: b        #0x54a0\n0054a0: mov      w9, #0x620e\n0054a4: movk     w9, #0x34b8, lsl #16\n0054a8: subs     w9, w12, w9\n0054ac: b.eq     #0x5d1c\n0054b0: b        #0x54b4\n0054b4: mov      w9, #0xb924\n0054b8: movk     w9, #0x4d4c, lsl #16\n0054bc: subs     w9, w12, w9\n0054c0: b.eq     #0x5b50\n0054c4: b        #0x54c8\n0054c8: mov      w9, #0xca5b\n0054cc: movk     w9, #0x4dc6, lsl #16\n0054d0: subs     w9, w12, w9\n0054d4: b.eq     #0x5f80\n0054d8: b        #0x54dc\n0054dc: mov      w9, #0x2894\n0054e0: movk     w9, #0x69d1, lsl #16\n0054e4: subs     w9, w12, w9\n0054e8: b.eq     #0x5fb4\n0054ec: b        #0x54f0\n0054f0: mov      w9, #0x288\n0054f4: movk     w9, #0x7aad, lsl #16\n0054f8: subs     w9, w12, w9\n0054fc: b.ne     #0x5508\n005500: b        #0x5504\n005504: b        #0x5b0c\n005508: ldr      x1, #0x5500\n00550c: blr      x1\n005510: mov      x0, x1\n", "stderr": ""}, "call": 22}
{"elapsed": 174.17101274998276, "request": {"name": "python", "arguments": {"code": "import ctypes,ctypes.util\nlib=ctypes.CDLL(ctypes.util.find_library('capstone'))\nclass I(ctypes.Structure):_fields_=[('id',ctypes.c_uint),('address',ctypes.c_uint64),('size',ctypes.c_uint16),('bytes',ctypes.c_ubyte*24),('mnemonic',ctypes.c_char*32),('op_str',ctypes.c_char*160),('detail',ctypes.c_void_p)]\nlib.cs_open.argtypes=[ctypes.c_int,ctypes.c_int,ctypes.POINTER(ctypes.c_size_t)];lib.cs_disasm.argtypes=[ctypes.c_size_t,ctypes.c_void_p,ctypes.c_size_t,ctypes.c_uint64,ctypes.c_size_t,ctypes.POINTER(ctypes.POINTER(I))];lib.cs_disasm.restype=ctypes.c_size_t\nh=ctypes.c_size_t();lib.cs_open(1,0,ctypes.byref(h));raw=open('target.so','rb').read()\ndef ds(a,z):\n b=raw[a:z];buf=ctypes.create_string_buffer(b);o=ctypes.POINTER(I)();n=lib.cs_disasm(h,buf,len(b),a,0,ctypes.byref(o));print('RANGE',hex(a),hex(z),'n',n)\n for j in range(n):\n  x=o[j];print(f'{x.address:06x}: {x.mnemonic.decode():8} {x.op_str.decode()}')\n lib.cs_free(o,n)\nfor a,z in [(0x5514,0x5b0c),(0x5b0c,0x62d4)]:ds(a,z)\nlib.cs_close(ctypes.byref(h))\n"}}, "call": 23}
{"elapsed": 174.2124415829894, "response": {"returncode": 0, "timed_out": false, "memory_exceeded": false, "stdout": "RANGE 0x5514 0x5b0c n 0\nRANGE 0x5b0c 0x62d4 n 498\n005b0c: mov      w0, #-0x7fffff01\n005b10: mov      sp, x29\n005b14: ldp      x20, x19, [sp, #0x50]\n005b18: ldp      x22, x21, [sp, #0x40]\n005b1c: ldp      x24, x23, [sp, #0x30]\n005b20: ldp      x26, x25, [sp, #0x20]\n005b24: ldp      x28, x27, [sp, #0x10]\n005b28: ldp      x29, x30, [sp], #0x60\n005b2c: ret      \n005b30: ldr      w9, [x0]\n005b34: str      w9, [x3]\n005b38: ldr      w9, [x4]\n005b3c: mov      w12, #0xab3b\n005b40: movk     w12, #0xc362, lsl #16\n005b44: eor      w9, w9, w12\n005b48: str      w9, [x4]\n005b4c: b        #0x629c\n005b50: ldr      w9, [x14]\n005b54: str      w9, [x3]\n005b58: ldr      w9, [x4]\n005b5c: mov      w12, #0x1366\n005b60: movk     w12, #0xa83a, lsl #16\n005b64: eor      w9, w9, w12\n005b68: str      w9, [x4]\n005b6c: b        #0x629c\n005b70: ldr      w9, [x13]\n005b74: ldr      w12, [x14]\n005b78: add      w9, w12, w9\n005b7c: str      w9, [x3]\n005b80: ldr      w9, [x4]\n005b84: mov      w12, #0xb4fb\n005b88: movk     w12, #0x26c4, lsl #16\n005b8c: eor      w9, w9, w12\n005b90: str      w9, [x4]\n005b94: b        #0x629c\n005b98: ldr      w9, [x13]\n005b9c: ldr      w12, [x14]\n005ba0: sub      w9, w12, w9\n005ba4: str      w9, [x3]\n005ba8: ldr      w9, [x4]\n005bac: mov      w12, #0xa292\n005bb0: movk     w12, #0xe7c3, lsl #16\n005bb4: eor      w9, w9, w12\n005bb8: str      w9, [x4]\n005bbc: b        #0x629c\n005bc0: ldr      w9, [x13]\n005bc4: ldr      w12, [x14]\n005bc8: mul      w9, w12, w9\n005bcc: str      w9, [x3]\n005bd0: ldr      w9, [x4]\n005bd4: mov      w12, #0x4382\n005bd8: movk     w12, #0x3d33, lsl #16\n005bdc: eor      w9, w9, w12\n005be0: str      w9, [x4]\n005be4: b        #0x629c\n005be8: ldr      w9, [x13]\n005bec: ldr      w12, [x14]\n005bf0: eor      w9, w12, w9\n005bf4: str      w9, [x3]\n005bf8: ldr      w9, [x4]\n005bfc: mov      w12, #0xd092\n005c00: movk     w12, #0x40d9, lsl #16\n005c04: eor      w9, w9, w12\n005c08: str      w9, [x4]\n005c0c: b        #0x629c\n005c10: ldr      w9, [x13]\n005c14: ldr      w12, [x14]\n005c18: and      w9, w12, w9\n005c1c: str      w9, [x3]\n005c20: ldr      w9, [x4]\n005c24: mov      w12, #0xfced\n005c28: movk     w12, #0x1781, lsl #16\n005c2c: eor      w9, w9, w12\n005c30: str      w9, [x4]\n005c34: b        #0x629c\n005c38: ldr      w9, [x13]\n005c3c: ldr      w12, [x14]\n005c40: orr      w9, w12, w9\n005c44: str      w9, [x3]\n005c48: ldr      w9, [x4]\n005c4c: mov      w12, #0xc137\n005c50: movk     w12, #0xfa7c, lsl #16\n005c54: eor      w9, w9, w12\n005c58: str      w9, [x4]\n005c5c: b        #0x629c\n005c60: ldr      w9, [x13]\n005c64: and      w9, w9, #0x1f\n005c68: ldr      w12, [x14]\n005c6c: lsl      w9, w12, w9\n005c70: str      w9, [x3]\n005c74: ldr      w9, [x4]\n005c78: mov      w12, #0x8535\n005c7c: movk     w12, #0xd43, lsl #16\n005c80: eor      w9, w9, w12\n005c84: str      w9, [x4]\n005c88: b        #0x629c\n005c8c: ldr      w9, [x13]\n005c90: and      w9, w9, #0x1f\n005c94: ldr      w12, [x14]\n005c98: lsr      w9, w12, w9\n005c9c: str      w9, [x3]\n005ca0: ldr      w9, [x4]\n005ca4: mov      w12, #0xccae\n005ca8: movk     w12, #0x1508, lsl #16\n005cac: eor      w9, w9, w12\n005cb0: str      w9, [x4]\n005cb4: b        #0x629c\n005cb8: ldr      w9, [x13]\n005cbc: and      w9, w9, #0x1f\n005cc0: ldr      w12, [x11]\n005cc4: asr      w9, w12, w9\n005cc8: str      w9, [x3]\n005ccc: ldr      w9, [x4]\n005cd0: mov      w12, #0x936b\n005cd4: movk     w12, #0xf56d, lsl #16\n005cd8: eor      w9, w9, w12\n005cdc: str      w9, [x4]\n005ce0: b        #0x629c\n005ce4: ldr      w9, [x13]\n005ce8: ldr      w12, [x13]\n005cec: mov      w15, #1\n005cf0: cmp      w9, #0\n005cf4: csel     w9, w15, w12, eq\n005cf8: ldr      w12, [x14]\n005cfc: udiv     w9, w12, w9\n005d00: str      w9, [x3]\n005d04: ldr      w9, [x4]\n005d08: mov      w12, #0xbe53\n005d0c: movk     w12, #0x6862, lsl #16\n005d10: eor      w9, w9, w12\n005d14: str      w9, [x4]\n005d18: b        #0x629c\n005d1c: ldr      w9, [x10]\n005d20: cmp      w9, #0\n005d24: cset     w9, eq\n005d28: ldr      w12, [x11]\n005d2c: mov      w15, #-0x80000000\n005d30: cmp      w12, w15\n005d34: cset     w12, eq\n005d38: ldr      w15, [x10]\n005d3c: cmn      w15, #1\n005d40: cset     w15, eq\n005d44: and      w12, w12, w15\n005d48: orr      w9, w9, w12\n005d4c: ldr      w12, [x10]\n005d50: mov      w15, #1\n005d54: tst      w9, #1\n005d58: csel     w9, w15, w12, ne\n005d5c: ldr      w12, [x11]\n005d60: sdiv     w9, w12, w9\n005d64: str      w9, [x3]\n005d68: ldr      w9, [x4]\n005d6c: mov      w12, #0xc84c\n005d70: movk     w12, #0xd1ce, lsl #16\n005d74: eor      w9, w9, w12\n005d78: str      w9, [x4]\n005d7c: b        #0x629c\n005d80: ldr      w9, [x13]\n005d84: ldr      w12, [x13]\n005d88: mov      w15, #1\n005d8c: cmp      w9, #0\n005d90: csel     w9, w15, w12, eq\n005d94: ldr      w12, [x14]\n005d98: udiv     w15, w12, w9\n005d9c: msub     w9, w15, w9, w12\n005da0: str      w9, [x3]\n005da4: ldr      w9, [x4]\n005da8: mov      w12, #0x58b5\n005dac: movk     w12, #0xfc98, lsl #16\n005db0: eor      w9, w9, w12\n005db4: str      w9, [x4]\n005db8: b        #0x629c\n005dbc: ldr      w9, [x10]\n005dc0: cmp      w9, #0\n005dc4: cset     w9, eq\n005dc8: ldr      w12, [x11]\n005dcc: mov      w15, #-0x80000000\n005dd0: cmp      w12, w15\n005dd4: cset     w12, eq\n005dd8: ldr      w15, [x10]\n005ddc: cmn      w15, #1\n005de0: cset     w15, eq\n005de4: and      w12, w12, w15\n005de8: orr      w9, w9, w12\n005dec: ldr      w12, [x10]\n005df0: mov      w15, #1\n005df4: tst      w9, #1\n005df8: csel     w9, w15, w12, ne\n005dfc: ldr      w12, [x11]\n005e00: sdiv     w15, w12, w9\n005e04: msub     w9, w15, w9, w12\n005e08: str      w9, [x3]\n005e0c: ldr      w9, [x4]\n005e10: mov      w12, #0x349a\n005e14: movk     w12, #0xfe56, lsl #16\n005e18: eor      w9, w9, w12\n005e1c: str      w9, [x4]\n005e20: b        #0x629c\n005e24: ldr      w9, [x13]\n005e28: ldr      w12, [x14]\n005e2c: cmp      w12, w9\n005e30: cset     w9, eq\n005e34: and      w9, w9, #1\n005e38: ldr      w12, [x0]\n005e3c: cmp      w12, #0x20\n005e40: csel     w9, w9, wzr, eq\n005e44: ldr      w12, [x13]\n005e48: ldr      w15, [x14]\n005e4c: cmp      w15, w12\n005e50: cset     w12, ne\n005e54: and      w12, w12, #1\n005e58: ldr      w15, [x0]\n005e5c: cmp      w15, #0x21\n005e60: csel     w9, w12, w9, eq\n005e64: ldr      w12, [x13]\n005e68: ldr      w15, [x14]\n005e6c: cmp      w15, w12\n005e70: cset     w12, hi\n005e74: and      w12, w12, #1\n005e78: ldr      w15, [x0]\n005e7c: cmp      w15, #0x22\n005e80: csel     w9, w12, w9, eq\n005e84: ldr      w12, [x13]\n005e88: ldr      w15, [x14]\n005e8c: cmp      w15, w12\n005e90: cset     w12, hs\n005e94: and      w12, w12, #1\n005e98: ldr      w15, [x0]\n005e9c: cmp      w15, #0x23\n005ea0: csel     w9, w12, w9, eq\n005ea4: ldr      w12, [x13]\n005ea8: ldr      w15, [x14]\n005eac: cmp      w15, w12\n005eb0: cset     w12, lo\n005eb4: and      w12, w12, #1\n005eb8: ldr      w15, [x0]\n005ebc: cmp      w15, #0x24\n005ec0: csel     w9, w12, w9, eq\n005ec4: ldr      w12, [x13]\n005ec8: ldr      w15, [x14]\n005ecc: cmp      w15, w12\n005ed0: cset     w12, ls\n005ed4: and      w12, w12, #1\n005ed8: ldr      w15, [x0]\n005edc: cmp      w15, #0x25\n005ee0: csel     w9, w12, w9, eq\n005ee4: ldr      w12, [x10]\n005ee8: ldr      w15, [x11]\n005eec: cmp      w15, w12\n005ef0: cset     w12, gt\n005ef4: and      w12, w12, #1\n005ef8: ldr      w15, [x0]\n005efc: cmp      w15, #0x26\n005f00: csel     w9, w12, w9, eq\n005f04: ldr      w12, [x10]\n005f08: ldr      w15, [x11]\n005f0c: cmp      w15, w12\n005f10: cset     w12, ge\n005f14: and      w12, w12, #1\n005f18: ldr      w15, [x0]\n005f1c: cmp      w15, #0x27\n005f20: csel     w9, w12, w9, eq\n005f24: ldr      w12, [x10]\n005f28: ldr      w15, [x11]\n005f2c: cmp      w15, w12\n005f30: cset     w12, lt\n005f34: and      w12, w12, #1\n005f38: ldr      w15, [x0]\n005f3c: cmp      w15, #0x28\n005f40: csel     w9, w12, w9, eq\n005f44: ldr      w12, [x10]\n005f48: ldr      w15, [x11]\n005f4c: cmp      w15, w12\n005f50: cset     w12, le\n005f54: and      w12, w12, #1\n005f58: ldr      w15, [x0]\n005f5c: cmp      w15, #0x29\n005f60: csel     w9, w12, w9, eq\n005f64: str      w9, [x3]\n005f68: ldr      w9, [x4]\n005f6c: mov      w12, #0x5141\n005f70: movk     w12, #0x41dc, lsl #16\n005f74: eor      w9, w9, w12\n005f78: str      w9, [x4]\n005f7c: b        #0x629c\n005f80: ldr      w9, [x14]\n005f84: ldur     x12, [x29, #-0x10]\n005f88: ldr      w12, [x12]\n005f8c: ldr      w15, [x13]\n005f90: cmp      w9, #0\n005f94: csel     w9, w15, w12, ne\n005f98: str      w9, [x3]\n005f9c: ldr      w9, [x4]\n005fa0: mov      w12, #0x6019\n005fa4: movk     w12, #0xa8b0, lsl #16\n005fa8: eor      w9, w9, w12\n005fac: str      w9, [x4]\n005fb0: b        #0x629c\n005fb4: ldr      w9, [x14]\n005fb8: str      w9, [x3]\n005fbc: ldr      w9, [x4]\n005fc0: mov      w12, #0x82d6\n005fc4: movk     w12, #0x8ca7, lsl #16\n005fc8: eor      w9, w9, w12\n005fcc: str      w9, [x4]\n005fd0: b        #0x629c\n005fd4: ldr      w9, [x0]\n005fd8: mov      w12, #0x20\n005fdc: sub      w9, w12, w9\n005fe0: ldr      w12, [x14]\n005fe4: lsl      w12, w12, w9\n005fe8: asr      w9, w12, w9\n005fec: str      w9, [x3]\n005ff0: ldr      w9, [x4]\n005ff4: mov      w12, #0x22d\n005ff8: movk     w12, #0x3deb, lsl #16\n005ffc: eor      w9, w9, w12\n006000: str      w9, [x4]\n006004: b        #0x629c\n006008: ldur     x9, [x29, #-0x20]\n00600c: ldr      w9, [x9]\n006010: ldur     x12, [x29, #-8]\n006014: str      w9, [x12]\n006018: ldr      w9, [x4]\n00601c: mov      w12, #0x7259\n006020: movk     w12, #0x3fc3, lsl #16\n006024: eor      w9, w9, w12\n006028: str      w9, [x4]\n00602c: b        #0x629c\n006030: ldr      w9, [x14]\n006034: ldur     x12, [x29, #-0x18]\n006038: ldr      w12, [x12]\n00603c: ldur     x15, [x29, #-0x20]\n006040: ldr      w15, [x15]\n006044: cmp      w9, #0\n006048: csel     w9, w15, w12, ne\n00604c: ldur     x12, [x29, #-8]\n006050: str      w9, [x12]\n006054: ldr      w9, [x4]\n006058: mov      w12, #0x7980\n00605c: movk     w12, #0x1fb7, lsl #16\n006060: eor      w9, w9, w12\n006064: str      w9, [x4]\n006068: b        #0x629c\n00606c: ldr      w0, [x14]\n006070: mov      sp, x29\n006074: ldp      x20, x19, [sp, #0x50]\n006078: ldp      x22, x21, [sp, #0x40]\n00607c: ldp      x24, x23, [sp, #0x30]\n006080: ldp      x26, x25, [sp, #0x20]\n006084: ldp      x28, x27, [sp, #0x10]\n006088: ldp      x29, x30, [sp], #0x60\n00608c: ret      \n006090: ldr      w9, [x4]\n006094: mov      w12, #0x2457\n006098: movk     w12, #0xc2b3, lsl #16\n00609c: eor      w9, w9, w12\n0060a0: str      w9, [x4]\n0060a4: b        #0x629c\n0060a8: ldr      w9, [x4]\n0060ac: mov      w12, #0x9c0a\n0060b0: movk     w12, #0xa9eb, lsl #16\n0060b4: eor      w9, w9, w12\n0060b8: str      w9, [x4]\n0060bc: b        #0x629c\n0060c0: ldr      w9, [x4]\n0060c4: mov      w12, #0x3b97\n0060c8: movk     w12, #0x2715, lsl #16\n0060cc: eor      w9, w9, w12\n0060d0: str      w9, [x4]\n0060d4: b        #0x629c\n0060d8: ldr      w9, [x4]\n0060dc: mov      w12, #0x2dfe\n0060e0: movk     w12, #0xe612, lsl #16\n0060e4: eor      w9, w9, w12\n0060e8: str      w9, [x4]\n0060ec: b        #0x629c\n0060f0: ldr      w9, [x4]\n0060f4: mov      w12, #0xccee\n0060f8: movk     w12, #0x3ce2, lsl #16\n0060fc: eor      w9, w9, w12\n006100: str      w9, [x4]\n006104: b        #0x629c\n006108: ldr      w9, [x4]\n00610c: mov      w12, #0x5ffe\n006110: movk     w12, #0x4108, lsl #16\n006114: eor      w9, w9, w12\n006118: str      w9, [x4]\n00611c: b        #0x629c\n006120: ldr      w9, [x4]\n006124: mov      w12, #0x7381\n006128: movk     w12, #0x1650, lsl #16\n00612c: eor      w9, w9, w12\n006130: str      w9, [x4]\n006134: b        #0x629c\n006138: ldr      w9, [x4]\n00613c: mov      w12, #0x4e5b\n006140: movk     w12, #0xfbad, lsl #16\n006144: eor      w9, w9, w12\n006148: str      w9, [x4]\n00614c: b        #0x629c\n006150: ldr      w9, [x4]\n006154: mov      w12, #0xa59\n006158: movk     w12, #0xc92, lsl #16\n00615c: eor      w9, w9, w12\n006160: str      w9, [x4]\n006164: b        #0x629c\n006168: ldr      w9, [x4]\n00616c: mov      w12, #0x43c2\n006170: movk     w12, #0x14d9, lsl #16\n006174: eor      w9, w9, w12\n006178: str      w9, [x4]\n00617c: b        #0x629c\n006180: ldr      w9, [x4]\n006184: mov      w12, #0x1c07\n006188: movk     w12, #0xf4bc, lsl #16\n00618c: eor      w9, w9, w12\n006190: str      w9, [x4]\n006194: b        #0x629c\n006198: ldr      w9, [x4]\n00619c: mov      w12, #0x313f\n0061a0: movk     w12, #0x69b3, lsl #16\n0061a4: eor      w9, w9, w12\n0061a8: str      w9, [x4]\n0061ac: b        #0x629c\n0061b0: ldr      w9, [x4]\n0061b4: mov      w12, #0x4720\n0061b8: movk     w12, #0xd01f, lsl #16\n0061bc: eor      w9, w9, w12\n0061c0: str      w9, [x4]\n0061c4: b        #0x629c\n0061c8: ldr      w9, [x4]\n0061cc: mov      w12, #0xd7d9\n0061d0: movk     w12, #0xfd49, lsl #16\n0061d4: eor      w9, w9, w12\n0061d8: str      w9, [x4]\n0061dc: b        #0x629c\n0061e0: ldr      w9, [x4]\n0061e4: mov      w12, #0xbbf6\n0061e8: movk     w12, #0xff87, lsl #16\n0061ec: eor      w9, w9, w12\n0061f0: str      w9, [x4]\n0061f4: b        #0x629c\n0061f8: ldr      w9, [x4]\n0061fc: mov      w12, #0xde2d\n006200: movk     w12, #0x400d, lsl #16\n006204: eor      w9, w9, w12\n006208: str      w9, [x4]\n00620c: b        #0x629c\n006210: ldr      w9, [x4]\n006214: mov      w12, #0xef75\n006218: movk     w12, #0xa961, lsl #16\n00621c: eor      w9, w9, w12\n006220: str      w9, [x4]\n006224: b        #0x629c\n006228: ldr      w9, [x4]\n00622c: mov      w12, #0xdba\n006230: movk     w12, #0x8d76, lsl #16\n006234: eor      w9, w9, w12\n006238: str      w9, [x4]\n00623c: b        #0x629c\n006240: ldr      w9, [x4]\n006244: mov      w12, #0x8d41\n006248: movk     w12, #0x3c3a, lsl #16\n00624c: eor      w9, w9, w12\n006250: str      w9, [x4]\n006254: b        #0x629c\n006258: ldr      w9, [x4]\n00625c: mov      w12, #0x7259\n006260: movk     w12, #0x3fc3, lsl #16\n006264: eor      w9, w9, w12\n006268: str      w9, [x4]\n00626c: b        #0x629c\n006270: ldr      w9, [x4]\n006274: mov      w12, #0x7980\n006278: movk     w12, #0x1fb7, lsl #16\n00627c: eor      w9, w9, w12\n006280: str      w9, [x4]\n006284: b        #0x629c\n006288: ldr      w9, [x4]\n00628c: mov      w12, #0xd851\n006290: movk     w12, #0x316e, lsl #16\n006294: eor      w9, w9, w12\n006298: str      w9, [x4]\n00629c: b        #0x530c\n0062a0: mov      w0, w22\n0062a4: mov      w1, w21\n0062a8: mov      w2, w20\n0062ac: mov      w3, w19\n0062b0: bl       #0x62e8\n0062b4: mov      sp, x29\n0062b8: ldp      x20, x19, [sp, #0x50]\n0062bc: ldp      x22, x21, [sp, #0x40]\n0062c0: ldp      x24, x23, [sp, #0x30]\n0062c4: ldp      x26, x25, [sp, #0x20]\n0062c8: ldp      x28, x27, [sp, #0x10]\n0062cc: ldp      x29, x30, [sp], #0x60\n0062d0: ret      \n", "stderr": ""}, "call": 23}
{"elapsed": 178.45751962499344, "request": {"name": "analyze", "arguments": {"operation": "decompile", "selector": "0x62e8"}}, "call": 24}
{"elapsed": 180.49394966597902, "response": {"returncode": 0, "stdout": "{\"evidence_id\":\"ev_16daae39c3616f80da3ef7294c90fd2e7b97f31dbef4478f8305a660162325f8\",\"subject\":{\"name\":\"fixed-target.so\",\"digest\":{\"sha256\":\"bbbf5a91598728147700dd8e5da32824eb5b2649964afce2a86cb5bd4f4e4e18\"},\"local_path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/fixed-target.so\",\"format\":\"elf\",\"architecture\":\"arm64\"},\"provider\":{\"id\":\"ida\",\"name\":\"IDA MCP adapter\",\"version\":\"1\"},\"analysis_profile\":{\"provider\":{\"id\":\"ida\",\"name\":\"IDA MCP adapter\",\"version\":\"1\"},\"parameters\":{\"version_scope\":\"rea-ida-adapter\",\"engine_version\":null,\"upstream_distribution_version\":null,\"mode\":\"headless\",\"compatibility_profile\":\"database-supervisor\",\"database_revision\":null,\"cache_policy\":\"live\",\"registration_digest\":\"fc98b2ba93843987265320f0699dec551f92aa5824accd6ebbf1e2e066051b61\"},\"digest\":\"6088cea28242a9c3c73c2f9d9f98202ba5830c5895056df6b2a85f8f9bdb83bd\"},\"predicate_type\":\"rea.analysis\",\"operation\":\"procedure_pseudo_code\",\"parameters\":{\"procedure\":\"0x62e8\"},\"raw_result\":{\"upstream\":{\"name\":\"ida-pro-mcp\",\"version\":\"1.0.0\"},\"metadata_before\":{\"status\":\"ok\",\"uptime_sec\":0.608,\"idb_path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/ida/rea-ida-ReH1e0/fixed-target.so.i64\",\"module\":\"fixed-target.so\",\"input_path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/ida/rea-ida-ReH1e0/fixed-target.so\",\"imagebase\":\"0x0\",\"auto_analysis_ready\":true,\"hexrays_ready\":true,\"strings_cache_ready\":true,\"strings_cache_size\":143},\"metadata_after\":{\"status\":\"ok\",\"uptime_sec\":0.623,\"idb_path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/ida/rea-ida-ReH1e0/fixed-target.so.i64\",\"module\":\"fixed-target.so\",\"input_path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/ida/rea-ida-ReH1e0/fixed-target.so\",\"imagebase\":\"0x0\",\"auto_analysis_ready\":true,\"hexrays_ready\":true,\"strings_cache_ready\":true,\"strings_cache_size\":143},\"observations\":[{\"tool\":\"lookup_funcs\",\"arguments\":{\"queries\":[\"0x62e8\"],\"database\":\"rea-1ebdd92f-b8ac-4261-b878-cae32ea417c0\"},\"result\":[{\"query\":\"0x62e8\",\"fn\":{\"addr\":\"0x62e8\",\"name\":\"sub_62E8\",\"size\":\"0x150\"},\"error\":null}]},{\"tool\":\"decompile\",\"arguments\":{\"addr\":\"0x62e8\",\"offset\":0,\"max_lines\":100,\"database\":\"rea-1ebdd92f-b8ac-4261-b878-cae32ea417c0\"},\"result\":{\"addr\":\"0x62e8\",\"code\":\"__int64 __rust sub_62E8(int a1, unsigned int a2, unsigned int a3, unsigned int a4)\\n{\\n  unsigned int i; // [xsp+0h] [xbp-20h]\\n  int v6; // [xsp+4h] [xbp-1Ch]\\n  unsigned int v7; // [xsp+8h] [xbp-18h]\\n  unsigned int v8; // [xsp+Ch] [xbp-14h]\\n\\n  v8 = sub_6438(a1: a1 ^ a4, a2: 4); /*0x6318*/\\n  v7 = 0; /*0x631c*/\\n  v6 = v8 & 3; /*0x6328*/\\n  for ( i = 0; i < 6; ++i ) /*0x632c*/\\n  {\\n    if ( v6 != 0 ) /*0x6344*/\\n    {\\n      if ( v6 == 1 ) /*0x6350*/\\n      {\\n        v7 *= a2 % 0x64 + 1; /*0x63b4*/\\n        v6 = 2; /*0x63bc*/\\n      }\\n      else if ( v6 == 2 ) /*0x635c*/\\n      {\\n        v7 = 93 * v7 / 0x64; /*0x63d8*/\\n        v6 = 3; /*0x63e0*/\\n      }\\n      else\\n      {\\n        v7 ^= v8 & 0xF; /*0x63f8*/\\n        v6 = 0; /*0x63fc*/\\n      }\\n    }\\n    else\\n    {\\n      v7 = 130 * (a3 % 3) + 149; /*0x6384*/\\n      v6 = 1; /*0x638c*/\\n    }\\n    v8 = (v8 >> 25) | (v8 << 7); /*0x6410*/\\n  }\\n  return v7 & 0x7FFFFFFF; /*0x6434*/\\n}\",\"line_count\":39,\"total_lines\":39,\"truncated\":false,\"cursor\":{\"done\":true},\"refs\":[{\"addr\":\"0x6438\",\"name\":\"sub_6438\"}]}}]},\"normalized_result\":\"__int64 __rust sub_62E8(int a1, unsigned int a2, unsigned int a3, unsigned int a4)\\n{\\n  unsigned int i; // [xsp+0h] [xbp-20h]\\n  int v6; // [xsp+4h] [xbp-1Ch]\\n  unsigned int v7; // [xsp+8h] [xbp-18h]\\n  unsigned int v8; // [xsp+Ch] [xbp-14h]\\n\\n  v8 = sub_6438(a1: a1 ^ a4, a2: 4); /*0x6318*/\\n  v7 = 0; /*0x631c*/\\n  v6 = v8 & 3; /*0x6328*/\\n  for ( i = 0; i < 6; ++i ) /*0x632c*/\\n  {\\n    if ( v6 != 0 ) /*0x6344*/\\n    {\\n      if ( v6 == 1 ) /*0x6350*/\\n      {\\n        v7 *= a2 % 0x64 + 1; /*0x63b4*/\\n        v6 = 2; /*0x63bc*/\\n      }\\n      else if ( v6 == 2 ) /*0x635c*/\\n      {\\n        v7 = 93 * v7 / 0x64; /*0x63d8*/\\n        v6 = 3; /*0x63e0*/\\n      }\\n      else\\n      {\\n        v7 ^= v8 & 0xF; /*0x63f8*/\\n        v6 = 0; /*0x63fc*/\\n      }\\n    }\\n    else\\n    {\\n      v7 = 130 * (a3 % 3) + 149; /*0x6384*/\\n      v6 = 1; /*0x638c*/\\n    }\\n    v8 = (v8 >> 25) | (v8 << 7); /*0x6410*/\\n  }\\n  return v7 & 0x7FFFFFFF; /*0x6434*/\\n}\",\"confidence\":\"observed\",\"authority\":\"shipped-artifact\",\"environment\":null,\"limitations\":[\"Provider version identifies the REA IDA adapter. IDA engine and upstream distribution versions are unknown unless separately observed; MCP serverInfo is reported independently.\",\"Results describe the current IDA analysis database. Input identity does not prove an unmodified database; patches, annotations, analysis completeness, and database revision remain unknown.\",\"Live results are never replayed from analysis snapshots. Target checks before and after a request do not provide an atomic lock against external GUI changes.\",\"Caller cancellation drains the in-flight MCP request before cleanup; it does not prove that IDA engine work was interrupted.\",\"Headless workers are released through the upstream database lifecycle. Abrupt termination of REA, its proxy, or the supervisor cannot prove worker cleanup; inspect upstream inventory after an interrupted process.\",\"Complete function body ranges, typed references, unresolved indirect calls, referenced data, and basic blocks are unavailable in this adapter. Empty unsupported dossier facets are unknown, not observed absence.\"],\"relationship_coverage\":null,\"locations\":[{\"kind\":\"artifact-path\",\"path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/fixed-target.so\"},{\"kind\":\"address\",\"address\":\"0x62e8\"}],\"evidence_links\":[],\"caller_input_path\":\"/private/tmp/anti-rev-blind-v4-40fr3iyo/controller/8674d65e676be161/fixed-target.so\"}\n", "stderr": ""}, "call": 24}
{"elapsed": 195.90483541600406, "request": {"name": "python", "arguments": {"code": "from unicorn import *\nfrom unicorn.arm64_const import *\nimport struct,itertools,collections,time\nraw=open('target.so','rb').read();B=0x100000;ST=0x800000;SENT=0x900000\nmu=Uc(UC_ARCH_ARM64,UC_MODE_ARM);mu.mem_map(B,0x10000);mu.mem_write(B,raw[:0x7200]);mu.mem_write(B+0xb200,raw[0x7200:0x72f0]);mu.mem_write(B+0xb2e8,struct.pack('<Q',B+0x456c));mu.mem_map(ST,0x20000);mu.mem_map(SENT,0x1000)\ndef hook(mu,a,s,u):\n if a==B+0x6e74:mu.reg_write(UC_ARM64_REG_X0,0);mu.reg_write(UC_ARM64_REG_PC,mu.reg_read(UC_ARM64_REG_LR))\n elif a==SENT:mu.emu_stop()\nmu.hook_add(UC_HOOK_CODE,hook);regs=[UC_ARM64_REG_X0,UC_ARM64_REG_X1,UC_ARM64_REG_X2,UC_ARM64_REG_X3]\ndef run(v):\n mu.reg_write(UC_ARM64_REG_SP,ST+0x10000);mu.reg_write(UC_ARM64_REG_LR,SENT)\n for r,x in zip(regs,v):mu.reg_write(r,x)\n mu.emu_start(B+0x456c,SENT,count=200000)\n return mu.reg_read(UC_ARM64_REG_X0)&0xffffffff\nnames=['stage','state','base','disc','epoch']\nfound=[]; cnt=collections.Counter();t=time.time()\nfor i in range(48):\n fs=[i,i%7,149+130*(i%3),9300,17+i]\n for inds in itertools.permutations(range(5),4):\n  v=tuple(fs[k] for k in inds);o=run(v);cnt[o]+=1\n  if o<0x80000000:found.append((i,tuple(names[k] for k in inds),v,o))\nprint('time',time.time()-t,'found',len(found));print(found[:50]);print([(hex(k),v) for k,v in cnt.most_common(10)])\n"}}, "call": 25}
{"elapsed": 224.67661041597603, "response": {"returncode": 0, "timed_out": false, "memory_exceeded": false, "stdout": "time 28.702472925186157 found 0\n[]\n[('0x80000002', 2988), ('0x80000001', 2496), ('0x80000003', 276)]\n", "stderr": ""}, "call": 25}
{"elapsed": 231.52703995798947, "request": {"name": "python", "arguments": {"code": "import ctypes,ctypes.util\nL=ctypes.CDLL(ctypes.util.find_library('capstone'))\nclass I(ctypes.Structure):_fields_=[('id',ctypes.c_uint),('address',ctypes.c_uint64),('size',ctypes.c_uint16),('bytes',ctypes.c_ubyte*24),('mnemonic',ctypes.c_char*32),('op_str',ctypes.c_char*160),('detail',ctypes.c_void_p)]\nL.cs_open.argtypes=[ctypes.c_int,ctypes.c_int,ctypes.POINTER(ctypes.c_size_t)];L.cs_disasm.argtypes=[ctypes.c_size_t,ctypes.c_void_p,ctypes.c_size_t,ctypes.c_uint64,ctypes.c_size_t,ctypes.POINTER(ctypes.POINTER(I))];L.cs_disasm.restype=ctypes.c_size_t\nh=ctypes.c_size_t();L.cs_open(1,0,ctypes.byref(h));raw=open('target.so','rb').read();a=0x4d20;z=0x5400;b=raw[a:z];buf=ctypes.create_string_buffer(b);o=ctypes.POINTER(I)();n=L.cs_disasm(h,buf,len(b),a,0,ctypes.byref(o))\nfor j in range(n):\n x=o[j];print(f'{x.address:06x}: {x.mnemonic.decode():8} {x.op_str.decode()}')\nprint('n',n,'end',hex(o[n-1].address) if n else '')\n"}}, "call": 26}
{"elapsed": 231.56485591598903, "response": {"returncode": 0, "timed_out": false, "memory_exceeded": false, "stdout": "004d20: ldur     w12, [x5, #-0x10]\n004d24: mov      w15, #0x8a13\n004d28: movk     w15, #0xa938, lsl #16\n004d2c: eor      w15, w12, w15\n004d30: mov      w17, #0xfeb3\n004d34: movk     w17, #0xd943, lsl #16\n004d38: madd     w12, w15, w17, w12\n004d3c: mov      w15, #0xd64d\n004d40: movk     w15, #0x66eb, lsl #16\n004d44: add      w12, w12, w15\n004d48: stur     w12, [x3, #-0x84]\n004d4c: ldur     w12, [x5, #-0x10]\n004d50: mov      w15, #0x3848\n004d54: movk     w15, #0x6beb, lsl #16\n004d58: eor      w15, w12, w15\n004d5c: mov      w17, #0xc1f5\n004d60: movk     w17, #0x41ba, lsl #16\n004d64: madd     w12, w15, w17, w12\n004d68: mov      w15, #0xa0b8\n004d6c: movk     w15, #0xecd7, lsl #16\n004d70: add      w12, w12, w15\n004d74: stur     w12, [x3, #-0x80]\n004d78: ldur     w12, [x5, #-0x10]\n004d7c: mov      w15, #0xe67d\n004d80: movk     w15, #0x2e9d, lsl #16\n004d84: eor      w15, w12, w15\n004d88: mov      w17, #0xfef9\n004d8c: movk     w17, #0x25f7, lsl #16\n004d90: madd     w12, w15, w17, w12\n004d94: mov      w15, #0x6b23\n004d98: movk     w15, #0x72c3, lsl #16\n004d9c: add      w12, w12, w15\n004da0: stur     w12, [x3, #-0x7c]\n004da4: ldur     w12, [x5, #-0x10]\n004da8: mov      w15, #0x94b2\n004dac: movk     w15, #0xf150, lsl #16\n004db0: eor      w15, w12, w15\n004db4: mov      w17, #0xa0f7\n004db8: movk     w17, #0x1718, lsl #16\n004dbc: madd     w12, w15, w17, w12\n004dc0: mov      w15, #0x358e\n004dc4: movk     w15, #0xf8af, lsl #16\n004dc8: add      w12, w12, w15\n004dcc: stur     w12, [x3, #-0x78]\n004dd0: ldur     w12, [x5, #-0x10]\n004dd4: mov      w15, #0x42e7\n004dd8: movk     w15, #0xb403, lsl #16\n004ddc: eor      w15, w12, w15\n004de0: mov      w17, #0xf10d\n004de4: movk     w17, #0x1a42, lsl #16\n004de8: madd     w12, w15, w17, w12\n004dec: mov      w15, #0xfff9\n004df0: movk     w15, #0x7e9a, lsl #16\n004df4: add      w12, w12, w15\n004df8: stur     w12, [x3, #-0x74]\n004dfc: ldur     w12, [x5, #-0x10]\n004e00: mov      w27, #0xf11c\n004e04: movk     w27, #0x76b5, lsl #16\n004e08: eor      w15, w12, w27\n004e0c: mov      w28, #0x38e1\n004e10: movk     w28, #0x7ee0, lsl #16\n004e14: madd     w12, w15, w28, w12\n004e18: mov      w30, #0xca64\n004e1c: movk     w30, #0x486, lsl #16\n004e20: add      w12, w12, w30\n004e24: stur     w12, [x3, #-0x70]\n004e28: ldur     w12, [x5, #-0x10]\n004e2c: mov      w15, #0x9f51\n004e30: movk     w15, #0x3968, lsl #16\n004e34: eor      w15, w12, w15\n004e38: mov      w17, #0x77d\n004e3c: movk     w17, #0x53f5, lsl #16\n004e40: madd     w12, w15, w17, w12\n004e44: mov      w15, #0x94cf\n004e48: movk     w15, #0x8a72, lsl #16\n004e4c: add      w12, w12, w15\n004e50: stur     w12, [x3, #-0x6c]\n004e54: ldur     w12, [x5, #-0x10]\n004e58: mov      w15, #0x4d86\n004e5c: movk     w15, #0xfc1b, lsl #16\n004e60: eor      w15, w12, w15\n004e64: mov      w17, #0xfc3b\n004e68: movk     w17, #0xbf11, lsl #16\n004e6c: madd     w12, w15, w17, w12\n004e70: mov      w15, #0x5f3a\n004e74: movk     w15, #0x105e, lsl #16\n004e78: add      w12, w12, w15\n004e7c: stur     w12, [x3, #-0x68]\n004e80: ldur     w12, [x5, #-0x10]\n004e84: mov      w15, #0xfbbb\n004e88: movk     w15, #0xbecd, lsl #16\n004e8c: eor      w15, w12, w15\n004e90: mov      w17, #0x89b7\n004e94: movk     w17, #0xa723, lsl #16\n004e98: madd     w12, w15, w17, w12\n004e9c: mov      w15, #0x29a5\n004ea0: movk     w15, #0x964a, lsl #16\n004ea4: add      w12, w12, w15\n004ea8: stur     w12, [x3, #-0x64]\n004eac: ldur     w12, [x5, #-0x10]\n004eb0: mov      w15, #0xa9f0\n004eb4: movk     w15, #0x8180, lsl #16\n004eb8: eor      w15, w12, w15\n004ebc: mov      w17, #0x5b1b\n004ec0: movk     w17, #0x188d, lsl #16\n004ec4: madd     w12, w15, w17, w12\n004ec8: mov      w15, #0xf410\n004ecc: movk     w15, #0x1c35, lsl #16\n004ed0: add      w12, w12, w15\n004ed4: stur     w12, [x3, #-0x60]\n004ed8: ldur     w12, [x5, #-0x10]\n004edc: mov      w15, #0x5825\n004ee0: movk     w15, #0x4433, lsl #16\n004ee4: eor      w15, w12, w15\n004ee8: mov      w17, #0x5fcd\n004eec: movk     w17, #0x10d7, lsl #16\n004ef0: madd     w12, w15, w17, w12\n004ef4: mov      w15, #0xbe7b\n004ef8: movk     w15, #0xa221, lsl #16\n004efc: add      w12, w12, w15\n004f00: stur     w12, [x3, #-0x5c]\n004f04: ldur     w12, [x5, #-0x10]\n004f08: mov      w15, #0x65a\n004f0c: movk     w15, #0x6e6, lsl #16\n004f10: eor      w15, w12, w15\n004f14: mov      w17, #0x4bdf\n004f18: movk     w17, #0xe587, lsl #16\n004f1c: madd     w12, w15, w17, w12\n004f20: mov      w15, #0x88e6\n004f24: movk     w15, #0x280d, lsl #16\n004f28: add      w12, w12, w15\n004f2c: stur     w12, [x3, #-0x58]\n004f30: ldur     w17, [x5, #-0x10]\n004f34: mov      w12, #0xb48f\n004f38: movk     w12, #0xc998, lsl #16\n004f3c: eor      w9, w17, w12\n004f40: mov      w15, #0x2d51\n004f44: movk     w15, #0x1d54, lsl #16\n004f48: madd     w9, w9, w15, w17\n004f4c: mov      w17, #0x5351\n004f50: movk     w17, #0xadf9, lsl #16\n004f54: add      w9, w9, w17\n004f58: stur     w9, [x3, #-0x54]\n004f5c: ldur     w9, [x5, #-0x10]\n004f60: mov      w1, #0x62c4\n004f64: movk     w1, #0x8c4b, lsl #16\n004f68: eor      w1, w9, w1\n004f6c: mov      w16, #0xbfe1\n004f70: movk     w16, #0x6c58, lsl #16\n004f74: madd     w9, w1, w16, w9\n004f78: mov      w16, #0x1dbc\n004f7c: movk     w16, #0x33e5, lsl #16\n004f80: add      w9, w9, w16\n004f84: stur     w9, [x3, #-0x50]\n004f88: ldur     w9, [x5, #-0x10]\n004f8c: mov      w16, #0x10f9\n004f90: movk     w16, #0x4efe, lsl #16\n004f94: eor      w16, w9, w16\n004f98: mov      w1, #0xda5d\n004f9c: movk     w1, #0x8681, lsl #16\n004fa0: madd     w9, w16, w1, w9\n004fa4: mov      w16, #0xe827\n004fa8: movk     w16, #0xb9d0, lsl #16\n004fac: add      w9, w9, w16\n004fb0: stur     w9, [x3, #-0x4c]\n004fb4: ldur     w9, [x5, #-0x10]\n004fb8: mov      w16, #0xbf2e\n004fbc: movk     w16, #0x11b0, lsl #16\n004fc0: eor      w16, w9, w16\n004fc4: mov      w1, #0x661\n004fc8: movk     w1, #0x996, lsl #16\n004fcc: madd     w9, w16, w1, w9\n004fd0: mov      w16, #0xb292\n004fd4: movk     w16, #0x3fbc, lsl #16\n004fd8: add      w9, w9, w16\n004fdc: stur     w9, [x3, #-0x48]\n004fe0: ldur     w9, [x5, #-0x10]\n004fe4: mov      w16, #0x6d63\n004fe8: movk     w16, #0xd463, lsl #16\n004fec: eor      w16, w9, w16\n004ff0: mov      w1, #0x30a7\n004ff4: movk     w1, #0x89f4, lsl #16\n004ff8: madd     w9, w16, w1, w9\n004ffc: mov      w16, #0x7cfd\n005000: movk     w16, #0xc5a8, lsl #16\n005004: add      w9, w9, w16\n005008: stur     w9, [x3, #-0x44]\n00500c: ldur     w9, [x5, #-0x10]\n005010: mov      w16, #0x1b98\n005014: movk     w16, #0x9716, lsl #16\n005018: eor      w16, w9, w16\n00501c: mov      w1, #0x8f77\n005020: movk     w1, #0x2dc6, lsl #16\n005024: madd     w9, w16, w1, w9\n005028: mov      w16, #0x4768\n00502c: movk     w16, #0x4b94, lsl #16\n005030: add      w9, w9, w16\n005034: stur     w9, [x3, #-0x40]\n005038: ldur     w9, [x5, #-0x10]\n00503c: mov      w16, #0xc9cd\n005040: movk     w16, #0x59c8, lsl #16\n005044: eor      w16, w9, w16\n005048: mov      w1, #0xa8c9\n00504c: movk     w1, #0x9856, lsl #16\n005050: madd     w9, w16, w1, w9\n005054: mov      w16, #0x11d3\n005058: movk     w16, #0xd180, lsl #16\n00505c: add      w9, w9, w16\n005060: stur     w9, [x3, #-0x3c]\n005064: ldur     w9, [x5, #-0x10]\n005068: mov      w16, #0x7802\n00506c: movk     w16, #0x1c7b, lsl #16\n005070: eor      w16, w9, w16\n005074: mov      w1, #0x45bf\n005078: movk     w1, #0xa632, lsl #16\n00507c: madd     w9, w16, w1, w9\n005080: mov      w16, #0xdc3e\n005084: movk     w16, #0x576b, lsl #16\n005088: add      w9, w9, w16\n00508c: stur     w9, [x3, #-0x38]\n005090: ldur     w9, [x5, #-0x10]\n005094: mov      w16, #0x2637\n005098: movk     w16, #0xdf2e, lsl #16\n00509c: eor      w16, w9, w16\n0050a0: mov      w1, #0xf633\n0050a4: movk     w1, #0x8063, lsl #16\n0050a8: madd     w9, w16, w1, w9\n0050ac: mov      w16, #0xa6a9\n0050b0: movk     w16, #0xdd57, lsl #16\n0050b4: add      w9, w9, w16\n0050b8: stur     w9, [x3, #-0x34]\n0050bc: ldur     w9, [x5, #-0x10]\n0050c0: mov      w16, #0xd46c\n0050c4: movk     w16, #0xa1e0, lsl #16\n0050c8: eor      w16, w9, w16\n0050cc: mov      w1, #0x3131\n0050d0: movk     w1, #0x418b, lsl #16\n0050d4: madd     w9, w16, w1, w9\n0050d8: mov      w16, #0x7114\n0050dc: movk     w16, #0x6343, lsl #16\n0050e0: add      w9, w9, w16\n0050e4: stur     w9, [x3, #-0x30]\n0050e8: ldur     w9, [x5, #-0x10]\n0050ec: mov      w16, #0x82a1\n0050f0: movk     w16, #0x6493, lsl #16\n0050f4: eor      w16, w9, w16\n0050f8: mov      w1, #0x471b\n0050fc: movk     w1, #0x28db, lsl #16\n005100: madd     w9, w16, w1, w9\n005104: mov      w16, #0x3b7f\n005108: movk     w16, #0xe92f, lsl #16\n00510c: add      w9, w9, w16\n005110: stur     w9, [x3, #-0x2c]\n005114: ldur     w9, [x5, #-0x10]\n005118: mov      w16, #0x30d6\n00511c: movk     w16, #0x2746, lsl #16\n005120: eor      w16, w9, w16\n005124: mov      w1, #0xbb4b\n005128: movk     w1, #0xce49, lsl #16\n00512c: madd     w9, w16, w1, w9\n005130: mov      w16, #0x5ea\n005134: movk     w16, #0x6f1b, lsl #16\n005138: add      w9, w9, w16\n00513c: stur     w9, [x3, #-0x28]\n005140: ldur     w9, [x5, #-0x10]\n005144: mov      w16, #0xdf0b\n005148: movk     w16, #0xe9f8, lsl #16\n00514c: eor      w16, w9, w16\n005150: mov      w1, #0x7aaf\n005154: movk     w1, #0xd9bc, lsl #16\n005158: madd     w9, w16, w1, w9\n00515c: mov      w16, #0xd055\n005160: movk     w16, #0xf506, lsl #16\n005164: add      w9, w9, w16\n005168: stur     w9, [x3, #-0x24]\n00516c: ldur     w9, [x5, #-0x10]\n005170: mov      w16, #0x8d40\n005174: movk     w16, #0xacab, lsl #16\n005178: eor      w16, w9, w16\n00517c: mov      w1, #0x92e5\n005180: movk     w1, #0x2097, lsl #16\n005184: madd     w9, w16, w1, w9\n005188: mov      w16, #0x9ac0\n00518c: movk     w16, #0x7af2, lsl #16\n005190: add      w9, w9, w16\n005194: stur     w9, [x3, #-0x20]\n005198: ldur     w9, [x5, #-0x10]\n00519c: mov      w16, #0x3b75\n0051a0: movk     w16, #0x6f5e, lsl #16\n0051a4: eor      w16, w9, w16\n0051a8: mov      w1, #0x7feb\n0051ac: movk     w1, #0xf92b, lsl #16\n0051b0: madd     w9, w16, w1, w9\n0051b4: mov      w16, #0x652b\n0051b8: movk     w16, #0xde, lsl #16\n0051bc: add      w9, w9, w16\n0051c0: stur     w9, [x3, #-0x1c]\n0051c4: ldur     w9, [x5, #-0x10]\n0051c8: mov      w16, #0xe9aa\n0051cc: movk     w16, #0x3210, lsl #16\n0051d0: eor      w16, w9, w16\n0051d4: mov      w1, #0x8361\n0051d8: movk     w1, #0x15f2, lsl #16\n0051dc: madd     w9, w16, w1, w9\n0051e0: mov      w16, #0x2f96\n0051e4: movk     w16, #0x86ca, lsl #16\n0051e8: add      w9, w9, w16\n0051ec: stur     w9, [x3, #-0x18]\n0051f0: ldur     w9, [x5, #-0x10]\n0051f4: mov      w16, #0x97df\n0051f8: movk     w16, #0xf4c3, lsl #16\n0051fc: eor      w16, w9, w16\n005200: mov      w1, #0xf069\n005204: movk     w1, #0x6556, lsl #16\n005208: madd     w9, w16, w1, w9\n00520c: mov      w16, #0xfa01\n005210: movk     w16, #0xcb5, lsl #16\n005214: add      w9, w9, w16\n005218: stur     w9, [x3, #-0x14]\n00521c: ldur     w9, [x5, #-0x10]\n005220: mov      w16, #0x4614\n005224: movk     w16, #0xb776, lsl #16\n005228: eor      w16, w9, w16\n00522c: mov      w1, #0xc33b\n005230: movk     w1, #0xc3d6, lsl #16\n005234: madd     w9, w16, w1, w9\n005238: mov      w16, #0xc46c\n00523c: movk     w16, #0x92a1, lsl #16\n005240: add      w9, w9, w16\n005244: stur     w9, [x3, #-0x10]\n005248: ldur     w9, [x5, #-0x10]\n00524c: mov      w16, #0xf449\n005250: movk     w16, #0x7a28, lsl #16\n005254: eor      w16, w9, w16\n005258: mov      w1, #0x1ce9\n00525c: movk     w1, #0x2805, lsl #16\n005260: madd     w9, w16, w1, w9\n005264: mov      w16, #0x8ed7\n005268: movk     w16, #0x188d, lsl #16\n00526c: add      w9, w9, w16\n005270: stur     w9, [x3, #-0xc]\n005274: ldur     w9, [x5, #-0x10]\n005278: eor      w16, w22, w24\n00527c: eor      w16, w9, w16\n005280: madd     w9, w16, w25, w9\n005284: add      w9, w9, w26\n005288: stur     w9, [x3, #-0xb0]\n00528c: ldur     w9, [x5, #-0x10]\n005290: eor      w16, w21, w27\n005294: eor      w16, w9, w16\n005298: madd     w9, w16, w28, w9\n00529c: add      w9, w9, w30\n0052a0: stur     w9, [x3, #-0x70]\n0052a4: ldur     w9, [x5, #-0x10]\n0052a8: eor      w12, w20, w12\n0052ac: eor      w12, w9, w12\n0052b0: madd     w9, w12, w15, w9\n0052b4: add      w9, w9, w17\n0052b8: stur     w9, [x3, #-0x54]\n0052bc: ldur     w9, [x5, #-0x10]\n0052c0: eor      w12, w19, w6\n0052c4: eor      w12, w9, w12\n0052c8: madd     w9, w12, w7, w9\n0052cc: add      w9, w9, w23\n0052d0: stur     w9, [x3, #-0xec]\n0052d4: stur     wzr, [x4, #-0x10]\n0052d8: subs     x3, sp, #0x10\n0052dc: mov      sp, x3\n0052e0: subs     x4, sp, #0x10\n0052e4: mov      sp, x4\n0052e8: mov      w9, #0x6f72\n0052ec: movk     w9, #0xbb68, lsl #16\n0052f0: mov      w12, #0xfa58\n0052f4: movk     w12, #0x2318, lsl #16\n0052f8: mov      w15, #0x45a4\n0052fc: movk     w15, #0x7ae6, lsl #16\n005300: eor      w9, w9, w15\n005304: add      w9, w9, w12\n005308: str      w9, [x4]\n00530c: ldr      w12, [x4]\n005310: mov      w9, #0x1411\n005314: movk     w9, #0x8d14, lsl #16\n005318: subs     w9, w12, w9\n00531c: b.eq     #0x5ce4\n005320: b        #0x5324\n005324: mov      w9, #0xfb03\n005328: movk     w9, #0xa4aa, lsl #16\n00532c: subs     w9, w12, w9\n005330: b.eq     #0x5e24\n005334: b        #0x5338\n005338: mov      w9, #0x7ad0\n00533c: movk     w9, #0xa5af, lsl #16\n005340: subs     w9, w12, w9\n005344: b.eq     #0x5be8\n005348: b        #0x534c\n00534c: mov      w9, #0x1eb9\n005350: movk     w9, #0xc3b2, lsl #16\n005354: subs     w9, w12, w9\n005358: b.eq     #0x5b70\n00535c: b        #0x5360\n005360: mov      w9, #0xfd7f\n005364: movk     w9, #0xd5c9, lsl #16\n005368: subs     w9, w12, w9\n00536c: b.eq     #0x606c\n005370: b        #0x5374\n005374: mov      w9, #0xe9c0\n005378: movk     w9, #0xd845, lsl #16\n00537c: subs     w9, w12, w9\n005380: b.eq     #0x5bc0\n005384: b        #0x5388\n005388: mov      w9, #0xa86f\n00538c: movk     w9, #0xd89d, lsl #16\n005390: subs     w9, w12, w9\n005394: b.eq     #0x5fd4\n005398: b        #0x539c\n00539c: mov      w9, #0x5777\n0053a0: movk     w9, #0xdb64, lsl #16\n0053a4: subs     w9, w12, w9\n0053a8: b.eq     #0x6008\n0053ac: b        #0x53b0\n0053b0: mov      w9, #0x252e\n0053b4: movk     w9, #0xe4a7, lsl #16\n0053b8: subs     w9, w12, w9\n0053bc: b.eq     #0x551c\n0053c0: b        #0x53c4\n0053c4: mov      w9, #0xaa42\n0053c8: movk     w9, #0xe576, lsl #16\n0053cc: subs     w9, w12, w9\n0053d0: b.eq     #0x5a34\n0053d4: b        #0x53d8\n0053d8: mov      w9, #0x2f77\n0053dc: movk     w9, #0xe835, lsl #16\n0053e0: subs     w9, w12, w9\n0053e4: b.eq     #0x5c60\n0053e8: b        #0x53ec\n0053ec: mov      w9, #0x66ec\n0053f0: movk     w9, #0xf07e, lsl #16\n0053f4: subs     w9, w12, w9\n0053f8: b.eq     #0x5c8c\n0053fc: b        #0x5400\nn 440 end 0x53fc\n", "stderr": ""}, "call": 26}
{"elapsed": 237.14471437499742, "request": {"name": "python", "arguments": {"code": "import struct\nb=open('target.so','rb').read()\nfor a in range(0x5500,0x5b10,16):print(hex(a),b[a:a+16].hex(),[hex(x) for x in struct.unpack('<4I',b[a:a+16])])\n"}}, "call": 27}
{"elapsed": 237.18263158298214, "response": {"returncode": 0, "timed_out": false, "memory_exceeded": false, "stdout": "0x5500 0100001482010014c1ffff5820003fd6 ['0x14000001', '0x14000182', '0x58ffffc1', '0xd63f0020']\n0x5510 e00301aaf1fff2a261030014a9835ff8 ['0xaa0103e0', '0xa2f2fff1', '0x14000361', '0xf85f83a9']\n0x5520 290140b9270d090b1f2003d5336dfd10 ['0xb9400129', '0xb090d27', '0xd503201f', '0x10fd6d33']\n0x5530 70da67b82c378f52ecc6b372357d0c1b ['0xb867da70', '0x528f372c', '0x72b3c6ec', '0x1b0c7d35']\n0x5540 a9599652e95ebf72a902094a2941494a ['0x529659a9', '0x72bf5ee9', '0x4a0902a9', '0x4a494129']\n0x5550 aca586526cfdaf72297d0c1b293d494a ['0x5286a5ac', '0x72affd6c', '0x1b0c7d29', '0x4a493d29']\n0x5560 6fd194528f8db072297d0f1b2941494a ['0x5294d16f', '0x72b08d8f', '0x1b0f7d29', '0x4a494129']\n0x5570 0502094ae904001169da69b8d0148f52 ['0x4a090205', '0x110004e9', '0xb869da69', '0x528f14d0']\n0x5580 90e3af72b002104a1042504a107e0c1b ['0x72afe390', '0x4a1002b0', '0x4a504210', '0x1b0c7e10']\n0x5590 103e504a107e0f1b1042504a2901104a ['0x4a503e10', '0x1b0f7e10', '0x4a504210', '0x4a100129']\n0x55a0 b0035df8090200b9e908001169da69b8 ['0xf85d03b0', '0xb9000209', '0x110008e9', '0xb869da69']\n0x55b0 70c384521024be72b002104a1042504a ['0x5284c370', '0x72be2410', '0x4a1002b0', '0x4a504210']\n0x55c0 107e0c1b103e504a107e0f1b1042504a ['0x1b0c7e10', '0x4a503e10', '0x1b0f7e10', '0x4a504210']\n0x55d0 3401104ae90c001169da69b890b19d52 ['0x4a100134', '0x11000ce9', '0xb869da69', '0x529db190']\n0x55e0 9066ad72b002104a1042504a107e0c1b ['0x72ad6690', '0x4a1002b0', '0x4a504210', '0x1b0c7e10']\n0x55f0 103e504a107e0f1b1042504a2601104a ['0x4a503e10', '0x1b0f7e10', '0x4a504210', '0x4a100126']\n0x5600 e910001169da69b8306c935210abbd72 ['0x110010e9', '0xb869da69', '0x52936c30', '0x72bdab10']\n0x5610 b002104a1042504a107e0c1b103e504a ['0x4a1002b0', '0x4a504210', '0x1b0c7e10', '0x4a503e10']\n0x5620 107e0f1b1042504a3101104ae9140011 ['0x1b0f7e10', '0x4a504210', '0x4a100131', '0x110014e9']\n0x5630 69da69b850db8852b0edac72b002104a ['0xb869da69', '0x5288db50', '0x72acedb0', '0x4a1002b0']\n0x5640 1042504a107e0c1b103e504a107e0f1b ['0x4a504210', '0x1b0c7e10', '0x4a503e10', '0x1b0f7e10']\n0x5650 1042504a2901104a090000b9e9180011 ['0x4a504210', '0x4a100129', '0xb9000009', '0x110018e9']\n0x5660 69da69b8f0898152302ebb72b002104a ['0xb869da69', '0x528189f0', '0x72bb2e30', '0x4a1002b0']\n0x5670 1042504a107e0c1b103e504a107e0f1b ['0x4a504210', '0x1b0c7e10', '0x4a503e10', '0x1b0f7e10']\n0x5680 1042504a2901104ab8835df8090300b9 ['0x4a504210', '0x4a100129', '0xf85d83b8', '0xb9000309']\n0x5690 e91c001169da69b810448752b070aa72 ['0x11001ce9', '0xb869da69', '0x52874410', '0x72aa70b0']\n0x56a0 b002104a1042504a107e0c1b103e504a ['0x4a1002b0', '0x4a504210', '0x1b0c7e10', '0x4a503e10']\n0x56b0 107e0f1b1042504a2901104ab0035ef8 ['0x1b0f7e10', '0x4a504210', '0x4a100129', '0xf85e03b0']\n0x56c0 090200b9e920001169da69b8b0329c52 ['0xb9000209', '0x110020e9', '0xb869da69', '0x529c32b0']\n0x56d0 30b5ba72b002104a1042504a107e0c1b ['0x72bab530', '0x4a1002b0', '0x4a504210', '0x1b0c7e10']\n0x56e0 103e504a107e0f1b1042504a2901104a ['0x4a503e10', '0x1b0f7e10', '0x4a504210', '0x4a100129']\n0x56f0 b0835ef8090200b909d974b8906d9352 ['0xf85e83b0', '0xb9000209', '0xb874d909', '0x52936d90']\n0x5700 90f9b0728102104a2140414a217c0c1b ['0x72b0f990', '0x4a100281', '0x4a414021', '0x1b0c7c21']\n0x5710 213c414a217c0f1b2140414a21000032 ['0x4a413c21', '0x1b0f7c21', '0x4a414021', '0x32000021']\n0x5720 47008052339c011b337c131b359c131b ['0x52800047', '0x1b019c33', '0x1b137c33', '0x1b139c35']\n0x5730 737e151b359c131b737e151b359c131b ['0x1b157e73', '0x1b139c35', '0x1b157e73', '0x1b139c35']\n0x5740 737e151b219c131b617e011b734d9952 ['0x1b157e73', '0x1b139c21', '0x1b017e61', '0x52994d73']\n0x5750 73bdb072550040b99656131bb7c69552 ['0x72b0bd73', '0xb9400055', '0x1b135696', '0x5295c6b7']\n0x5760 5756b872947e171b9402154a2901166b ['0x72b85657', '0x1b177e94', '0x4a150294', '0x6b160129']\n0x5770 297d011b2901144ac90100b909d966b8 ['0x1b017d29', '0x4a140129', '0xb90001c9', '0xb866d909']\n0x5780 c100104a2140414a217c0c1b213c414a ['0x4a1000c1', '0x4a414021', '0x1b0c7c21', '0x4a413c21']\n0x5790 217c0f1b2140414a21000032349c011b ['0x1b0f7c21', '0x4a414021', '0x32000021', '0x1b019c34']\n0x57a0 347c141b359c141b947e151b359c141b ['0x1b147c34', '0x1b149c35', '0x1b157e94', '0x1b149c35']\n0x57b0 947e151b359c141b947e151b219c141b ['0x1b157e94', '0x1b149c35', '0x1b157e94', '0x1b149c21']\n0x57c0 817e011b540040b9d550131bc67c171b ['0x1b017e81', '0xb9400054', '0x1b1350d5', '0x1b177cc6']\n0x57d0 c600144a2901156b297d011b2901064a ['0x4a1400c6', '0x6b150129', '0x1b017d29', '0x4a060129']\n0x57e0 a90100b909d971b83002104a1042504a ['0xb90001a9', '0xb871d909', '0x4a100230', '0x4a504210']\n0x57f0 0c7e0c1b8c3d4c4a8c7d0f1b8c414c4a ['0x1b0c7e0c', '0x4a4c3d8c', '0x1b0f7d8c', '0x4a4c418c']\n0x5800 8c0100328f9d0c1b8f7d0f1b909d0f1b ['0x3200018c', '0x1b0c9d8f', '0x1b0f7d8f', '0x1b0f9d90']\n0x5810 ef7d101b909d0f1bef7d101b909d0f1b ['0x1b107def', '0x1b0f9d90', '0x1b107def', '0x1b0f9d90']\n0x5820 ef7d101b8c9d0f1bec7d0c1b4f0040b9 ['0x1b107def', '0x1b0f9d8c', '0x1b0c7dec', '0xb940004f']\n0x5830 303e131b317e171b2f020f4a2901106b ['0x1b133e30', '0x1b177e31', '0x4a0f022f', '0x6b100129']\n0x5840 297d0c1b29010f4aac035ff8890100b9 ['0x1b0c7d29', '0x4a0f0129', '0xf85f03ac', '0xb9000189']\n0x5850 090340b9cc0140b9e903094b8c21c91a ['0xb9400309', '0xb94001cc', '0x4b0903e9', '0x1ac9218c']\n0x5860 8c29c91a6c0100b9ac0140b98c21c91a ['0x1ac9298c', '0xb900016c', '0xb94001ac', '0x1ac9218c']\n0x5870 8929c91a490100b989209d52e961b272 ['0x1ac92989', '0xb9000149', '0x529d2089', '0x72b261e9']\n0x5880 a900096ba045005401000014a9d98f52 ['0x6b0900a9', '0x540045a0', '0x14000001', '0x528fd9a9']\n0x5890 699eb672a900096b0048005401000014 ['0x72b69e69', '0x6b0900a9', '0x54004800', '0x14000001']\n0x58a0 49918c52694db772a900096ba0400054 ['0x528c9149', '0x72b74d69', '0x6b0900a9', '0x540040a0']\n0x58b0 01000014e9cc8252a971b972a900096b ['0x14000001', '0x5282cce9', '0x72b971a9', '0x6b0900a9']\n0x58c0 804a005401000014a9579c52a953bb72 ['0x54004a80', '0x14000001', '0x529c57a9', '0x72bb53a9']\n0x58d0 a900096b6042005401000014a92b9352 ['0x6b0900a9', '0x54004260', '0x14000001', '0x52932ba9']\n0x58e0 e9b9bb72a900096bc04a005401000014 ['0x72bbb9e9', '0x6b0900a9', '0x54004ac0', '0x14000001']\n0x58f0 a9c28d52a972bc72a900096b604c0054 ['0x528dc2a9', '0x72bc72a9', '0x6b0900a9', '0x54004c60']\n0x5900 01000014696987526910bd72a900096b ['0x14000001', '0x52876969', '0x72bd1069', '0x6b0900a9']\n0x5910 404a00540100001449ca86522907be72 ['0x54004a40', '0x14000001', '0x5286ca49', '0x72be0729']\n0x5920 a900096b204500540100001489b89e52 ['0x6b0900a9', '0x54004520', '0x14000001', '0x529eb889']\n0x5930 e9a7be72a900096bc043005401000014 ['0x72bea7e9', '0x6b0900a9', '0x540043c0', '0x14000001']\n0x5940 a9059752e91ca272a900096b20400054 ['0x529705a9', '0x72a21ce9', '0x6b0900a9', '0x54004020']\n0x5950 01000014898d8e52298ca372a900096b ['0x14000001', '0x528e8d89', '0x72a38c29', '0x6b0900a9']\n0x5960 404600540100001409248e522970a472 ['0x54004640', '0x14000001', '0x528e2409', '0x72a47029']\n0x5970 a900096be04700540100001429fb8352 ['0x6b0900a9', '0x540047e0', '0x14000001', '0x5283fb29']\n0x5980 e93aa572a900096b803a005401000014 ['0x72a53ae9', '0x6b0900a9', '0x54003a80', '0x14000001']\n0x5990 e9b79752a97ba572a900096b603b0054 ['0x5297b7e9', '0x72a57ba9', '0x6b0900a9', '0x54003b60']\n0x59a0 01000014a92e9952a9dfa872a900096b ['0x14000001', '0x52992ea9', '0x72a8dfa9', '0x6b0900a9']\n0x59b0 c03d005401000014097b9452a92baa72 ['0x54003dc0', '0x14000001', '0x52947b09', '0x72aa2ba9']\n0x59c0 a900096b603900540100001409639552 ['0x6b0900a9', '0x54003960', '0x14000001', '0x52956309']\n0x59d0 e934ac72a900096b403d005401000014 ['0x72ac34e9', '0x6b0900a9', '0x54003d40', '0x14000001']\n0x59e0 e9de9052a9c3ac72a900096b20350054 ['0x5290dee9', '0x72acc3a9', '0x6b0900a9', '0x54003520']\n0x59f0 01000014093d97522998ae72a900096b ['0x14000001', '0x52973d09', '0x72ae9829', '0x6b0900a9']\n0x5a00 003f005401000014c9298352e9f7ae72 ['0x54003f00', '0x14000001', '0x528329c9', '0x72aef7e9']\n0x5a10 a900096ba03400540100001429488b52 ['0x6b0900a9', '0x540034a0', '0x14000001', '0x528b4829']\n0x5a20 a97baf72a900096b803e005401000014 ['0x72af7ba9', '0x6b0900a9', '0x54003e80', '0x14000001']\n0x5a30 37000014690040b9ac835df88c0140b9 ['0x14000037', '0xb9400069', '0xf85d83ac', '0xb940018c']\n0x5a40 0f048052ec010c4b0f008012ec25cc1a ['0x5280040f', '0x4b0c01ec', '0x1280000f', '0x1acc25ec']\n0x5a50 29010c0aa1035df82c0040b98f6d9352 ['0xa0c0129', '0xf85d03a1', '0xb940002c', '0x52936d8f']\n0x5a60 8ff9b0728c010f4a8f7d10538c010f4a ['0x72b0f98f', '0x4a0f018c', '0x53107d8f', '0x4a0f018c']\n0x5a70 afa586526ffdaf728c7d0f1b8f7d0f53 ['0x5286a5af', '0x72affd6f', '0x1b0f7d8c', '0x530f7d8f']\n0x5a80 8c010f4a6fd194528f8db0728c7d0f1b ['0x4a0f018c', '0x5294d16f', '0x72b08d8f', '0x1b0f7d8c']\n0x5a90 8f7d10538c010f4a8c0100322f0040b9 ['0x53107d8f', '0x4a0f018c', '0x3200018c', '0xb940002f']\n0x5aa0 704d995270bdb072510040b9ef45101b ['0x52994d70', '0x72b0bd70', '0xb9400051', '0x1b1045ef']\n0x5ab0 300040b9b1c695525156b872107e111b ['0xb9400030', '0x5295c6b1', '0x72b85651', '0x1b117e10']\n0x5ac0 510040b91002114a2901104a293d0c1b ['0xb9400051', '0x4a110210', '0x4a100129', '0x1b0c3d29']\n0x5ad0 2c0040b98c7d40938f0080d28c210f9b ['0xb940002c', '0x93407d8c', '0xd280008f', '0x9b0f218c']\n0x5ae0 890100b9a9035ef8290140b9ac835ff8 ['0xb9000189', '0xf85e03a9', '0xb9400129', '0xf85f83ac']\n0x5af0 890100b9890040b98ced91522c3aa072 ['0xb9000189', '0xb9400089', '0x5291ed8c', '0x72a03a2c']\n0x5b00 29010c4a890000b9e5010014e0230132 ['0x4a0c0129', '0xb9000089', '0x140001e5', '0x320123e0']\n", "stderr": ""}, "call": 27}
{"elapsed": 243.50503779097926, "request": {"name": "python", "arguments": {"code": "import ctypes,ctypes.util\nL=ctypes.CDLL(ctypes.util.find_library('capstone'))\nclass I(ctypes.Structure):_fields_=[('id',ctypes.c_uint),('address',ctypes.c_uint64),('size',ctypes.c_uint16),('bytes',ctypes.c_ubyte*24),('mnemonic',ctypes.c_char*32),('op_str',ctypes.c_char*160),('detail',ctypes.c_void_p)]\nL.cs_open.argtypes=[ctypes.c_int,ctypes.c_int,ctypes.POINTER(ctypes.c_size_t)];L.cs_disasm.argtypes=[ctypes.c_size_t,ctypes.c_void_p,ctypes.c_size_t,ctypes.c_uint64,ctypes.c_size_t,ctypes.POINTER(ctypes.POINTER(I))];L.cs_disasm.restype=ctypes.c_size_t\nh=ctypes.c_size_t();L.cs_open(1,0,ctypes.byref(h));r=open('target.so','rb').read();a=0x551c;z=0x5b0c;b=r[a:z];buf=ctypes.create_string_buffer(b);o=ctypes.POINTER(I)();n=L.cs_disasm(h,buf,len(b),a,0,ctypes.byref(o));print(n)\nfor j in range(n):\n x=o[j];print(f'{x.address:06x}: {x.mnemonic.decode():8} {x.op_str.decode()}')\n"}}, "call": 28}
{"elapsed": 243.58594591598376, "response": {"returncode": 0, "timed_out": false, "memory_exceeded": false, "stdout": "380\n00551c: ldur     x9, [x29, #-8]\n005520: ldr      w9, [x9]\n005524: add      w7, w9, w9, lsl #3\n005528: nop      \n00552c: adr      x19, #0x2d0\n005530: ldr      w16, [x19, w7, sxtw #2]\n005534: mov      w12, #0x79b9\n005538: movk     w12, #0x9e37, lsl #16\n00553c: mul      w21, w9, w12\n005540: mov      w9, #0xb2cd\n005544: movk     w9, #0xfaf7, lsl #16\n005548: eor      w9, w21, w9\n00554c: eor      w9, w9, w9, lsr #16\n005550: mov      w12, #0x352d\n005554: movk     w12, #0x7feb, lsl #16\n005558: mul      w9, w9, w12\n00555c: eor      w9, w9, w9, lsr #15\n005560: mov      w15, #0xa68b\n005564: movk     w15, #0x846c, lsl #16\n005568: mul      w9, w9, w15\n00556c: eor      w9, w9, w9, lsr #16\n005570: eor      w5, w16, w9\n005574: add      w9, w7, #1\n005578: ldr      w9, [x19, w9, sxtw #2]\n00557c: mov      w16, #0x78a6\n005580: movk     w16, #0x7f1c, lsl #16\n005584: eor      w16, w21, w16\n005588: eor      w16, w16, w16, lsr #16\n00558c: mul      w16, w16, w12\n005590: eor      w16, w16, w16, lsr #15\n005594: mul      w16, w16, w15\n005598: eor      w16, w16, w16, lsr #16\n00559c: eor      w9, w9, w16\n0055a0: ldur     x16, [x29, #-0x30]\n0055a4: str      w9, [x16]\n0055a8: add      w9, w7, #2\n0055ac: ldr      w9, [x19, w9, sxtw #2]\n0055b0: mov      w16, #0x261b\n0055b4: movk     w16, #0xf120, lsl #16\n0055b8: eor      w16, w21, w16\n0055bc: eor      w16, w16, w16, lsr #16\n0055c0: mul      w16, w16, w12\n0055c4: eor      w16, w16, w16, lsr #15\n0055c8: mul      w16, w16, w15\n0055cc: eor      w16, w16, w16, lsr #16\n0055d0: eor      w20, w9, w16\n0055d4: add      w9, w7, #3\n0055d8: ldr      w9, [x19, w9, sxtw #2]\n0055dc: mov      w16, #0xed8c\n0055e0: movk     w16, #0x6b34, lsl #16\n0055e4: eor      w16, w21, w16\n0055e8: eor      w16, w16, w16, lsr #16\n0055ec: mul      w16, w16, w12\n0055f0: eor      w16, w16, w16, lsr #15\n0055f4: mul      w16, w16, w15\n0055f8: eor      w16, w16, w16, lsr #16\n0055fc: eor      w6, w9, w16\n005600: add      w9, w7, #4\n005604: ldr      w9, [x19, w9, sxtw #2]\n005608: mov      w16, #0x9b61\n00560c: movk     w16, #0xed58, lsl #16\n005610: eor      w16, w21, w16\n005614: eor      w16, w16, w16, lsr #16\n005618: mul      w16, w16, w12\n00561c: eor      w16, w16, w16, lsr #15\n005620: mul      w16, w16, w15\n005624: eor      w16, w16, w16, lsr #16\n005628: eor      w17, w9, w16\n00562c: add      w9, w7, #5\n005630: ldr      w9, [x19, w9, sxtw #2]\n005634: mov      w16, #0x46da\n005638: movk     w16, #0x676d, lsl #16\n00563c: eor      w16, w21, w16\n005640: eor      w16, w16, w16, lsr #16\n005644: mul      w16, w16, w12\n005648: eor      w16, w16, w16, lsr #15\n00564c: mul      w16, w16, w15\n005650: eor      w16, w16, w16, lsr #16\n005654: eor      w9, w9, w16\n005658: str      w9, [x0]\n00565c: add      w9, w7, #6\n005660: ldr      w9, [x19, w9, sxtw #2]\n005664: mov      w16, #0xc4f\n005668: movk     w16, #0xd971, lsl #16\n00566c: eor      w16, w21, w16\n005670: eor      w16, w16, w16, lsr #16\n005674: mul      w16, w16, w12\n005678: eor      w16, w16, w16, lsr #15\n00567c: mul      w16, w16, w15\n005680: eor      w16, w16, w16, lsr #16\n005684: eor      w9, w9, w16\n005688: ldur     x24, [x29, #-0x28]\n00568c: str      w9, [x24]\n005690: add      w9, w7, #7\n005694: ldr      w9, [x19, w9, sxtw #2]\n005698: mov      w16, #0x3a20\n00569c: movk     w16, #0x5385, lsl #16\n0056a0: eor      w16, w21, w16\n0056a4: eor      w16, w16, w16, lsr #16\n0056a8: mul      w16, w16, w12\n0056ac: eor      w16, w16, w16, lsr #15\n0056b0: mul      w16, w16, w15\n0056b4: eor      w16, w16, w16, lsr #16\n0056b8: eor      w9, w9, w16\n0056bc: ldur     x16, [x29, #-0x20]\n0056c0: str      w9, [x16]\n0056c4: add      w9, w7, #8\n0056c8: ldr      w9, [x19, w9, sxtw #2]\n0056cc: mov      w16, #0xe195\n0056d0: movk     w16, #0xd5a9, lsl #16\n0056d4: eor      w16, w21, w16\n0056d8: eor      w16, w16, w16, lsr #16\n0056dc: mul      w16, w16, w12\n0056e0: eor      w16, w16, w16, lsr #15\n0056e4: mul      w16, w16, w15\n0056e8: eor      w16, w16, w16, lsr #16\n0056ec: eor      w9, w9, w16\n0056f0: ldur     x16, [x29, #-0x18]\n0056f4: str      w9, [x16]\n0056f8: ldr      w9, [x8, w20, sxtw #2]\n0056fc: mov      w16, #0x9b6c\n005700: movk     w16, #0x87cc, lsl #16\n005704: eor      w1, w20, w16\n005708: eor      w1, w1, w1, lsr #16\n00570c: mul      w1, w1, w12\n005710: eor      w1, w1, w1, lsr #15\n005714: mul      w1, w1, w15\n005718: eor      w1, w1, w1, lsr #16\n00571c: orr      w1, w1, #1\n005720: mov      w7, #2\n005724: msub     w19, w1, w1, w7\n005728: mul      w19, w1, w19\n00572c: msub     w21, w1, w19, w7\n005730: mul      w19, w19, w21\n005734: msub     w21, w1, w19, w7\n005738: mul      w19, w19, w21\n00573c: msub     w21, w1, w19, w7\n005740: mul      w19, w19, w21\n005744: msub     w1, w1, w19, w7\n005748: mul      w1, w19, w1\n00574c: mov      w19, #0xca6b\n005750: movk     w19, #0x85eb, lsl #16\n005754: ldr      w21, [x2]\n005758: madd     w22, w20, w19, w21\n00575c: mov      w23, #0xae35\n005760: movk     w23, #0xc2b2, lsl #16\n005764: mul      w20, w20, w23\n005768: eor      w20, w20, w21\n00576c: subs     w9, w9, w22\n005770: mul      w9, w9, w1\n005774: eor      w9, w9, w20\n005778: str      w9, [x14]\n00577c: ldr      w9, [x8, w6, sxtw #2]\n005780: eor      w1, w6, w16\n005784: eor      w1, w1, w1, lsr #16\n005788: mul      w1, w1, w12\n00578c: eor      w1, w1, w1, lsr #15\n005790: mul      w1, w1, w15\n005794: eor      w1, w1, w1, lsr #16\n005798: orr      w1, w1, #1\n00579c: msub     w20, w1, w1, w7\n0057a0: mul      w20, w1, w20\n0057a4: msub     w21, w1, w20, w7\n0057a8: mul      w20, w20, w21\n0057ac: msub     w21, w1, w20, w7\n0057b0: mul      w20, w20, w21\n0057b4: msub     w21, w1, w20, w7\n0057b8: mul      w20, w20, w21\n0057bc: msub     w1, w1, w20, w7\n0057c0: mul      w1, w20, w1\n0057c4: ldr      w20, [x2]\n0057c8: madd     w21, w6, w19, w20\n0057cc: mul      w6, w6, w23\n0057d0: eor      w6, w6, w20\n0057d4: subs     w9, w9, w21\n0057d8: mul      w9, w9, w1\n0057dc: eor      w9, w9, w6\n0057e0: str      w9, [x13]\n0057e4: ldr      w9, [x8, w17, sxtw #2]\n0057e8: eor      w16, w17, w16\n0057ec: eor      w16, w16, w16, lsr #16\n0057f0: mul      w12, w16, w12\n0057f4: eor      w12, w12, w12, lsr #15\n0057f8: mul      w12, w12, w15\n0057fc: eor      w12, w12, w12, lsr #16\n005800: orr      w12, w12, #1\n005804: msub     w15, w12, w12, w7\n005808: mul      w15, w12, w15\n00580c: msub     w16, w12, w15, w7\n005810: mul      w15, w15, w16\n005814: msub     w16, w12, w15, w7\n005818: mul      w15, w15, w16\n00581c: msub     w16, w12, w15, w7\n005820: mul      w15, w15, w16\n005824: msub     w12, w12, w15, w7\n005828: mul      w12, w15, w12\n00582c: ldr      w15, [x2]\n005830: madd     w16, w17, w19, w15\n005834: mul      w17, w17, w23\n005838: eor      w15, w17, w15\n00583c: subs     w9, w9, w16\n005840: mul      w9, w9, w12\n005844: eor      w9, w9, w15\n005848: ldur     x12, [x29, #-0x10]\n00584c: str      w9, [x12]\n005850: ldr      w9, [x24]\n005854: ldr      w12, [x14]\n005858: neg      w9, w9\n00585c: lsl      w12, w12, w9\n005860: asr      w12, w12, w9\n005864: str      w12, [x11]\n005868: ldr      w12, [x13]\n00586c: lsl      w12, w12, w9\n005870: asr      w9, w12, w9\n005874: str      w9, [x10]\n005878: mov      w9, #0xe904\n00587c: movk     w9, #0x930f, lsl #16\n005880: subs     w9, w5, w9\n005884: b.eq     #0x6138\n005888: b        #0x588c\n00588c: mov      w9, #0x7ecd\n005890: movk     w9, #0xb4f3, lsl #16\n005894: subs     w9, w5, w9\n005898: b.eq     #0x6198\n00589c: b        #0x58a0\n0058a0: mov      w9, #0x648a\n0058a4: movk     w9, #0xba6b, lsl #16\n0058a8: subs     w9, w5, w9\n0058ac: b.eq     #0x60c0\n0058b0: b        #0x58b4\n0058b4: mov      w9, #0x1667\n0058b8: movk     w9, #0xcb8d, lsl #16\n0058bc: subs     w9, w5, w9\n0058c0: b.eq     #0x6210\n0058c4: b        #0x58c8\n0058c8: mov      w9, #0xe2bd\n0058cc: movk     w9, #0xda9d, lsl #16\n0058d0: subs     w9, w5, w9\n0058d4: b.eq     #0x6120\n0058d8: b        #0x58dc\n0058dc: mov      w9, #0x995d\n0058e0: movk     w9, #0xddcf, lsl #16\n0058e4: subs     w9, w5, w9\n0058e8: b.eq     #0x6240\n0058ec: b        #0x58f0\n0058f0: mov      w9, #0x6e15\n0058f4: movk     w9, #0xe395, lsl #16\n0058f8: subs     w9, w5, w9\n0058fc: b.eq     #0x6288\n005900: b        #0x5904\n005904: mov      w9, #0x3b4b\n005908: movk     w9, #0xe883, lsl #16\n00590c: subs     w9, w5, w9\n005910: b.eq     #0x6258\n005914: b        #0x5918\n005918: mov      w9, #0x3652\n00591c: movk     w9, #0xf039, lsl #16\n005920: subs     w9, w5, w9\n005924: b.eq     #0x61c8\n005928: b        #0x592c\n00592c: mov      w9, #0xf5c4\n005930: movk     w9, #0xf53f, lsl #16\n005934: subs     w9, w5, w9\n005938: b.eq     #0x61b0\n00593c: b        #0x5940\n005940: mov      w9, #0xb82d\n005944: movk     w9, #0x10e7, lsl #16\n005948: subs     w9, w5, w9\n00594c: b.eq     #0x6150\n005950: b        #0x5954\n005954: mov      w9, #0x746c\n005958: movk     w9, #0x1c61, lsl #16\n00595c: subs     w9, w5, w9\n005960: b.eq     #0x6228\n005964: b        #0x5968\n005968: mov      w9, #0x7120\n00596c: movk     w9, #0x2381, lsl #16\n005970: subs     w9, w5, w9\n005974: b.eq     #0x6270\n005978: b        #0x597c\n00597c: mov      w9, #0x1fd9\n005980: movk     w9, #0x29d7, lsl #16\n005984: subs     w9, w5, w9\n005988: b.eq     #0x60d8\n00598c: b        #0x5990\n005990: mov      w9, #0xbdbf\n005994: movk     w9, #0x2bdd, lsl #16\n005998: subs     w9, w5, w9\n00599c: b.eq     #0x6108\n0059a0: b        #0x59a4\n0059a4: mov      w9, #0xc975\n0059a8: movk     w9, #0x46fd, lsl #16\n0059ac: subs     w9, w5, w9\n0059b0: b.eq     #0x6168\n0059b4: b        #0x59b8\n0059b8: mov      w9, #0xa3d8\n0059bc: movk     w9, #0x515d, lsl #16\n0059c0: subs     w9, w5, w9\n0059c4: b.eq     #0x60f0\n0059c8: b        #0x59cc\n0059cc: mov      w9, #0xab18\n0059d0: movk     w9, #0x61a7, lsl #16\n0059d4: subs     w9, w5, w9\n0059d8: b.eq     #0x6180\n0059dc: b        #0x59e0\n0059e0: mov      w9, #0x86f7\n0059e4: movk     w9, #0x661d, lsl #16\n0059e8: subs     w9, w5, w9\n0059ec: b.eq     #0x6090\n0059f0: b        #0x59f4\n0059f4: mov      w9, #0xb9e8\n0059f8: movk     w9, #0x74c1, lsl #16\n0059fc: subs     w9, w5, w9\n005a00: b.eq     #0x61e0\n005a04: b        #0x5a08\n005a08: mov      w9, #0x194e\n005a0c: movk     w9, #0x77bf, lsl #16\n005a10: subs     w9, w5, w9\n005a14: b.eq     #0x60a8\n005a18: b        #0x5a1c\n005a1c: mov      w9, #0x5a41\n005a20: movk     w9, #0x7bdd, lsl #16\n005a24: subs     w9, w5, w9\n005a28: b.eq     #0x61f8\n005a2c: b        #0x5a30\n005a30: b        #0x5b0c\n005a34: ldr      w9, [x3]\n005a38: ldur     x12, [x29, #-0x28]\n005a3c: ldr      w12, [x12]\n005a40: mov      w15, #0x20\n005a44: sub      w12, w15, w12\n005a48: mov      w15, #-1\n005a4c: lsr      w12, w15, w12\n005a50: and      w9, w9, w12\n005a54: ldur     x1, [x29, #-0x30]\n005a58: ldr      w12, [x1]\n005a5c: mov      w15, #0x9b6c\n005a60: movk     w15, #0x87cc, lsl #16\n005a64: eor      w12, w12, w15\n005a68: lsr      w15, w12, #0x10\n005a6c: eor      w12, w12, w15\n005a70: mov      w15, #0x352d\n005a74: movk     w15, #0x7feb, lsl #16\n005a78: mul      w12, w12, w15\n005a7c: lsr      w15, w12, #0xf\n005a80: eor      w12, w12, w15\n005a84: mov      w15, #0xa68b\n005a88: movk     w15, #0x846c, lsl #16\n005a8c: mul      w12, w12, w15\n005a90: lsr      w15, w12, #0x10\n005a94: eor      w12, w12, w15\n005a98: orr      w12, w12, #1\n005a9c: ldr      w15, [x1]\n005aa0: mov      w16, #0xca6b\n005aa4: movk     w16, #0x85eb, lsl #16\n005aa8: ldr      w17, [x2]\n005aac: madd     w15, w15, w16, w17\n005ab0: ldr      w16, [x1]\n005ab4: mov      w17, #0xae35\n005ab8: movk     w17, #0xc2b2, lsl #16\n005abc: mul      w16, w16, w17\n005ac0: ldr      w17, [x2]\n005ac4: eor      w16, w16, w17\n005ac8: eor      w9, w9, w16\n005acc: madd     w9, w9, w12, w15\n005ad0: ldr      w12, [x1]\n005ad4: sxtw     x12, w12\n005ad8: mov      x15, #4\n005adc: madd     x12, x12, x15, x8\n005ae0: str      w9, [x12]\n005ae4: ldur     x9, [x29, #-0x20]\n005ae8: ldr      w9, [x9]\n005aec: ldur     x12, [x29, #-8]\n005af0: str      w9, [x12]\n005af4: ldr      w9, [x4]\n005af8: mov      w12, #0x8f6c\n005afc: movk     w12, #0x1d1, lsl #16\n005b00: eor      w9, w9, w12\n005b04: str      w9, [x4]\n005b08: b        #0x629c\n", "stderr": ""}, "call": 28}
{"elapsed": 260.34285995797836, "request": {"name": "python", "arguments": {"code": "from unicorn import *\nfrom unicorn.arm64_const import *\nimport struct\nraw=open('target.so','rb').read();B=0x100000;ST=0x800000;S=0x900000\nmu=Uc(UC_ARCH_ARM64,UC_MODE_ARM);mu.mem_map(B,0x10000);mu.mem_write(B,raw[:0x7200]);mu.mem_write(B+0xb200,raw[0x7200:0x72f0]);mu.mem_map(ST,0x20000);mu.mem_map(S,0x1000)\nops=set([0x5b30,0x5b50,0x5b70,0x5b98,0x5bc0,0x5be8,0x5c10,0x5c38,0x5c60,0x5c8c,0x5cb8,0x5ce4,0x5d1c,0x5d80,0x5dbc,0x5e24,0x5f80,0x5fb4,0x5fd4,0x6008,0x6030,0x606c,0x6090,0x60a8,0x60c0,0x60d8,0x60f0,0x6108,0x6120,0x6138,0x6150,0x6168,0x6180,0x6198,0x61b0,0x61c8,0x61e0,0x61f8,0x6210,0x6228,0x6240,0x6258,0x6270,0x6288,0x5a34,0x5b0c])\nseq=[]\ndef rw(addr):return struct.unpack('<I',mu.mem_read(addr,4))[0]\ndef hook(mu,a,s,u):\n p=a-B\n if p==0x6e74:mu.reg_write(UC_ARM64_REG_X0,0);mu.reg_write(UC_ARM64_REG_PC,mu.reg_read(UC_ARM64_REG_LR));return\n if a==S:mu.emu_stop();return\n if p==0x551c:\n  fp=mu.reg_read(UC_ARM64_REG_X29);ptr=struct.unpack('<Q',mu.mem_read(fp-8,8))[0];seq.append(['I',rw(ptr)])\n elif p in ops:\n  rec=['O',hex(p)]\n  for r in [UC_ARM64_REG_X0,UC_ARM64_REG_X3,UC_ARM64_REG_X4,UC_ARM64_REG_X10,UC_ARM64_REG_X11,UC_ARM64_REG_X13,UC_ARM64_REG_X14]:\n   q=mu.reg_read(r);rec.append((hex(q),rw(q) if ST<=q<ST+0x20000 else None))\n  seq.append(rec)\nmu.hook_add(UC_HOOK_CODE,hook)\nmu.reg_write(UC_ARM64_REG_SP,ST+0x10000);mu.reg_write(UC_ARM64_REG_LR,S)\nfor r,v in zip([UC_ARM64_REG_X0,UC_ARM64_REG_X1,UC_ARM64_REG_X2,UC_ARM64_REG_X3],[1,2,3,4]):mu.reg_write(r,v)\nmu.emu_start(B+0x456c,S,count=200000)\nprint('ret',hex(mu.reg_read(UC_ARM64_REG_X0)), 'events',len(seq))\nfor x in seq:print(x)\n"}}, "call": 29}
{"elapsed": 260.4195376659918, "response": {"returncode": 0, "timed_out": false, "memory_exceeded": false, "stdout": "ret 0x80000002 events 130\n['I', 0]\n['O', '0x6090', ('0x80fdb0', 4294967195), ('0x80fd80', 0), ('0x80fd70', 3836159278), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x5b30', ('0x80fdb0', 4294967195), ('0x80fd80', 0), ('0x80fd70', 638845305), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x5a34', ('0x80fdb0', 4294967195), ('0x80fd80', 4294967195), ('0x80fd70', 3849759298), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['I', 1]\n['O', '0x6090', ('0x80fdb0', 4294967196), ('0x80fd80', 4294967195), ('0x80fd70', 3836159278), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x5b30', ('0x80fdb0', 4294967196), ('0x80fd80', 4294967195), ('0x80fd70', 638845305), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x5a34', ('0x80fdb0', 4294967196), ('0x80fd80', 4294967196), ('0x80fd70', 3849759298), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['I', 2]\n['O', '0x6090', ('0x80fdb0', 2), ('0x80fd80', 4294967196), ('0x80fd70', 3836159278), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x5b30', ('0x80fdb0', 2), ('0x80fd80', 4294967196), ('0x80fd70', 638845305), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x5a34', ('0x80fdb0', 2), ('0x80fd80', 2), ('0x80fd70', 3849759298), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['I', 3]\n['O', '0x6090', ('0x80fdb0', 2600820847), ('0x80fd80', 2), ('0x80fd70', 3836159278), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x5b30', ('0x80fdb0', 2600820847), ('0x80fd80', 2), ('0x80fd70', 638845305), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x5a34', ('0x80fdb0', 2600820847), ('0x80fd80', 2600820847), ('0x80fd70', 3849759298), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['I', 4]\n['O', '0x6090', ('0x80fdb0', 16), ('0x80fd80', 2600820847), ('0x80fd70', 3836159278), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x5b30', ('0x80fdb0', 16), ('0x80fd80', 2600820847), ('0x80fd70', 638845305), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x5a34', ('0x80fdb0', 16), ('0x80fd80', 16), ('0x80fd70', 3849759298), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['I', 5]\n['O', '0x6090', ('0x80fdb0', 2146121005), ('0x80fd80', 16), ('0x80fd70', 3836159278), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x5b30', ('0x80fdb0', 2146121005), ('0x80fd80', 16), ('0x80fd70', 638845305), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x5a34', ('0x80fdb0', 2146121005), ('0x80fd80', 2146121005), ('0x80fd70', 3849759298), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['I', 6]\n['O', '0x6090', ('0x80fdb0', 15), ('0x80fd80', 2146121005), ('0x80fd70', 3836159278), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x5b30', ('0x80fdb0', 15), ('0x80fd80', 2146121005), ('0x80fd70', 638845305), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x5a34', ('0x80fdb0', 15), ('0x80fd80', 15), ('0x80fd70', 3849759298), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['I', 7]\n['O', '0x6090', ('0x80fdb0', 2221713035), ('0x80fd80', 15), ('0x80fd70', 3836159278), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x5b30', ('0x80fdb0', 2221713035), ('0x80fd80', 15), ('0x80fd70', 638845305), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x5a34', ('0x80fdb0', 2221713035), ('0x80fd80', 2221713035), ('0x80fd70', 3849759298), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['I', 8]\n['O', '0x6090', ('0x80fdb0', 1), ('0x80fd80', 2221713035), ('0x80fd70', 3836159278), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x5b30', ('0x80fdb0', 1), ('0x80fd80', 2221713035), ('0x80fd70', 638845305), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x5a34', ('0x80fdb0', 1), ('0x80fd80', 1), ('0x80fd70', 3849759298), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['I', 9]\n['O', '0x6090', ('0x80fdb0', 249), ('0x80fd80', 1), ('0x80fd70', 3836159278), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x5b30', ('0x80fdb0', 249), ('0x80fd80', 1), ('0x80fd70', 638845305), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x5a34', ('0x80fdb0', 249), ('0x80fd80', 249), ('0x80fd70', 3849759298), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['I', 10]\n['O', '0x6090', ('0x80fdb0', 399), ('0x80fd80', 249), ('0x80fd70', 3836159278), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x5b30', ('0x80fdb0', 399), ('0x80fd80', 249), ('0x80fd70', 638845305), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x5a34', ('0x80fdb0', 399), ('0x80fd80', 399), ('0x80fd70', 3849759298), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['I', 11]\n['O', '0x6090', ('0x80fdb0', 0), ('0x80fd80', 399), ('0x80fd70', 3836159278), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x5b30', ('0x80fdb0', 0), ('0x80fd80', 399), ('0x80fd70', 638845305), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x5a34', ('0x80fdb0', 0), ('0x80fd80', 0), ('0x80fd70', 3849759298), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['I', 12]\n['O', '0x6090', ('0x80fdb0', 129), ('0x80fd80', 0), ('0x80fd70', 3836159278), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x5b30', ('0x80fdb0', 129), ('0x80fd80', 0), ('0x80fd70', 638845305), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x5a34', ('0x80fdb0', 129), ('0x80fd80', 129), ('0x80fd70', 3849759298), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['I', 13]\n['O', '0x6090', ('0x80fdb0', 9), ('0x80fd80', 129), ('0x80fd70', 3836159278), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x5b30', ('0x80fdb0', 9), ('0x80fd80', 129), ('0x80fd70', 638845305), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x5a34', ('0x80fdb0', 9), ('0x80fd80', 9), ('0x80fd70', 3849759298), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['I', 14]\n['O', '0x6090', ('0x80fdb0', 85), ('0x80fd80', 9), ('0x80fd70', 3836159278), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x5b30', ('0x80fdb0', 85), ('0x80fd80', 9), ('0x80fd70', 638845305), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x5a34', ('0x80fdb0', 85), ('0x80fd80', 85), ('0x80fd70', 3849759298), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['I', 15]\n['O', '0x6090', ('0x80fdb0', 100), ('0x80fd80', 85), ('0x80fd70', 3836159278), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x5b30', ('0x80fdb0', 100), ('0x80fd80', 85), ('0x80fd70', 638845305), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x5a34', ('0x80fdb0', 100), ('0x80fd80', 100), ('0x80fd70', 3849759298), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['I', 16]\n['O', '0x6090', ('0x80fdb0', 1904786857), ('0x80fd80', 100), ('0x80fd70', 3836159278), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x5b30', ('0x80fdb0', 1904786857), ('0x80fd80', 100), ('0x80fd70', 638845305), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x5a34', ('0x80fdb0', 1904786857), ('0x80fd80', 1904786857), ('0x80fd70', 3849759298), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['I', 17]\n['O', '0x6090', ('0x80fdb0', 7), ('0x80fd80', 1904786857), ('0x80fd70', 3836159278), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x5b30', ('0x80fdb0', 7), ('0x80fd80', 1904786857), ('0x80fd70', 638845305), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x5a34', ('0x80fdb0', 7), ('0x80fd80', 7), ('0x80fd70', 3849759298), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['I', 18]\n['O', '0x6090', ('0x80fdb0', 3), ('0x80fd80', 7), ('0x80fd70', 3836159278), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x5b30', ('0x80fdb0', 3), ('0x80fd80', 7), ('0x80fd70', 638845305), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x5a34', ('0x80fdb0', 3), ('0x80fd80', 3), ('0x80fd70', 3849759298), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['I', 19]\n['O', '0x6090', ('0x80fdb0', 95), ('0x80fd80', 3), ('0x80fd70', 3836159278), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x5b30', ('0x80fdb0', 95), ('0x80fd80', 3), ('0x80fd70', 638845305), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x5a34', ('0x80fdb0', 95), ('0x80fd80', 95), ('0x80fd70', 3849759298), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['I', 20]\n['O', '0x6090', ('0x80fdb0', 2147483649), ('0x80fd80', 95), ('0x80fd70', 3836159278), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x5b30', ('0x80fdb0', 2147483649), ('0x80fd80', 95), ('0x80fd70', 638845305), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x5a34', ('0x80fdb0', 2147483649), ('0x80fd80', 2147483649), ('0x80fd70', 3849759298), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['I', 21]\n['O', '0x6090', ('0x80fdb0', 2147483650), ('0x80fd80', 2147483649), ('0x80fd70', 3836159278), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x5b30', ('0x80fdb0', 2147483650), ('0x80fd80', 2147483649), ('0x80fd70', 638845305), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x5a34', ('0x80fdb0', 2147483650), ('0x80fd80', 2147483650), ('0x80fd70', 3849759298), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['I', 22]\n['O', '0x6090', ('0x80fdb0', 2147483651), ('0x80fd80', 2147483650), ('0x80fd70', 3836159278), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x5b30', ('0x80fdb0', 2147483651), ('0x80fd80', 2147483650), ('0x80fd70', 638845305), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x5a34', ('0x80fdb0', 2147483651), ('0x80fd80', 2147483651), ('0x80fd70', 3849759298), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['I', 23]\n['O', '0x6258', ('0x80fdb0', 0), ('0x80fd80', 2147483651), ('0x80fd70', 3836159278), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x6008', ('0x80fdb0', 0), ('0x80fd80', 2147483651), ('0x80fd70', 3680786295), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['I', 38]\n['O', '0x60c0', ('0x80fdb0', 0), ('0x80fd80', 2147483651), ('0x80fd70', 3836159278), ('0x80fe30', 4294967195), ('0x80fe20', 2), ('0x80fe00', 4294967195), ('0x80fdf0', 2)]\n['O', '0x5b70', ('0x80fdb0', 0), ('0x80fd80', 2147483651), ('0x80fd70', 3283230393), ('0x80fe30', 4294967195), ('0x80fe20', 2), ('0x80fe00', 4294967195), ('0x80fdf0', 2)]\n['O', '0x5a34', ('0x80fdb0', 0), ('0x80fd80', 4294967197), ('0x80fd70', 3849759298), ('0x80fe30', 4294967195), ('0x80fe20', 2), ('0x80fe00', 4294967195), ('0x80fdf0', 2)]\n['I', 39]\n['O', '0x61f8', ('0x80fdb0', 36), ('0x80fd80', 4294967197), ('0x80fd70', 3836159278), ('0x80fe30', 4294967196), ('0x80fe20', 4294967197), ('0x80fe00', 4294967196), ('0x80fdf0', 4294967197)]\n['O', '0x5e24', ('0x80fdb0', 36), ('0x80fd80', 4294967197), ('0x80fd70', 2762668803), ('0x80fe30', 4294967196), ('0x80fe20', 4294967197), ('0x80fe00', 4294967196), ('0x80fdf0', 4294967197)]\n['O', '0x5a34', ('0x80fdb0', 36), ('0x80fd80', 0), ('0x80fd70', 3849759298), ('0x80fe30', 4294967196), ('0x80fe20', 4294967197), ('0x80fe00', 4294967196), ('0x80fdf0', 4294967197)]\n['I', 40]\n['O', '0x6270', ('0x80fdb0', 0), ('0x80fd80', 0), ('0x80fd70', 3836159278), ('0x80fe30', 4294967295), ('0x80fe20', 0), ('0x80fe00', 1), ('0x80fdf0', 0)]\n['O', '0x6030', ('0x80fdb0', 0), ('0x80fd80', 0), ('0x80fd70', 4212153518), ('0x80fe30', 4294967295), ('0x80fe20', 0), ('0x80fe00', 1), ('0x80fdf0', 0)]\n['I', 69]\n['O', '0x6258', ('0x80fdb0', 0), ('0x80fd80', 0), ('0x80fd70', 3836159278), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x6008', ('0x80fdb0', 0), ('0x80fd80', 0), ('0x80fd70', 3680786295), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['I', 36]\n['O', '0x61f8', ('0x80fdb0', 34), ('0x80fd80', 0), ('0x80fd70', 3836159278), ('0x80fe30', 2), ('0x80fe20', 3), ('0x80fe00', 2), ('0x80fdf0', 3)]\n['O', '0x5e24', ('0x80fdb0', 34), ('0x80fd80', 0), ('0x80fd70', 2762668803), ('0x80fe30', 2), ('0x80fe20', 3), ('0x80fe00', 2), ('0x80fdf0', 3)]\n['O', '0x5a34', ('0x80fdb0', 34), ('0x80fd80', 1), ('0x80fd70', 3849759298), ('0x80fe30', 2), ('0x80fe20', 3), ('0x80fe00', 2), ('0x80fdf0', 3)]\n['I', 37]\n['O', '0x6270', ('0x80fdb0', 0), ('0x80fd80', 1), ('0x80fd70', 3836159278), ('0x80fe30', 4294967295), ('0x80fe20', 4294967295), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x6030', ('0x80fdb0', 0), ('0x80fd80', 1), ('0x80fd70', 4212153518), ('0x80fe30', 4294967295), ('0x80fe20', 4294967295), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['I', 85]\n['O', '0x60a8', ('0x80fdb0', 0), ('0x80fd80', 1), ('0x80fd70', 3836159278), ('0x80fe30', 1), ('0x80fe20', 2147483650), ('0x80fe00', 1), ('0x80fdf0', 2147483650)]\n['O', '0x5b50', ('0x80fdb0', 0), ('0x80fd80', 1), ('0x80fd70', 1296873764), ('0x80fe30', 1), ('0x80fe20', 2147483650), ('0x80fe00', 1), ('0x80fdf0', 2147483650)]\n['O', '0x5a34', ('0x80fdb0', 0), ('0x80fd80', 2147483650), ('0x80fd70', 3849759298), ('0x80fe30', 1), ('0x80fe20', 2147483650), ('0x80fe00', 1), ('0x80fdf0', 2147483650)]\n['I', 86]\n['O', '0x60a8', ('0x80fdb0', 0), ('0x80fd80', 2147483650), ('0x80fd70', 3836159278), ('0x80fe30', 1), ('0x80fe20', 2147483650), ('0x80fe00', 1), ('0x80fdf0', 2147483650)]\n['O', '0x5b50', ('0x80fdb0', 0), ('0x80fd80', 2147483650), ('0x80fd70', 1296873764), ('0x80fe30', 1), ('0x80fe20', 2147483650), ('0x80fe00', 1), ('0x80fdf0', 2147483650)]\n['O', '0x5a34', ('0x80fdb0', 0), ('0x80fd80', 2147483650), ('0x80fd70', 3849759298), ('0x80fe30', 1), ('0x80fe20', 2147483650), ('0x80fe00', 1), ('0x80fdf0', 2147483650)]\n['I', 87]\n['O', '0x6258', ('0x80fdb0', 0), ('0x80fd80', 2147483650), ('0x80fd70', 3836159278), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['O', '0x6008', ('0x80fdb0', 0), ('0x80fd80', 2147483650), ('0x80fd70', 3680786295), ('0x80fe30', 1), ('0x80fe20', 1), ('0x80fe00', 1), ('0x80fdf0', 1)]\n['I', 24]\n['O', '0x6288', ('0x80fdb0', 0), ('0x80fd80', 2147483650), ('0x80fd70', 3836159278), ('0x80fe30', 1), ('0x80fe20', 2147483650), ('0x80fe00', 1), ('0x80fdf0', 2147483650)]\n['O', '0x606c', ('0x80fdb0', 0), ('0x80fd80', 2147483650), ('0x80fd70', 3586784639), ('0x80fe30', 1), ('0x80fe20', 2147483650), ('0x80fe00', 1), ('0x80fdf0', 2147483650)]\n", "stderr": ""}, "call": 29}
{"elapsed": 301.0204567500041, "request": {"name": "python", "arguments": {"code": "from unicorn import *\nfrom unicorn.arm64_const import *\nimport struct\nraw=open('target.so','rb').read();B=0x100000;ST=0x800000;S=0x900000\nmu=Uc(UC_ARCH_ARM64,UC_MODE_ARM);mu.mem_map(B,0x10000);mu.mem_write(B,raw[:0x7200]);mu.mem_write(B+0xb200,raw[0x7200:0x72f0]);mu.mem_map(ST,0x20000);mu.mem_map(S,0x1000)\nsem={0x5b30:'IMM',0x5b50:'MOV14',0x5b70:'ADD',0x5b98:'SUB',0x5bc0:'MUL',0x5be8:'XOR',0x5c10:'AND',0x5c38:'OR',0x5c60:'SHL',0x5c8c:'LSR',0x5cb8:'ASR',0x5ce4:'UDIV',0x5d1c:'SDIV',0x5d80:'UREM',0x5dbc:'SREM',0x5e24:'CMP',0x5f80:'SELECT',0x5fb4:'MOV',0x5fd4:'SEXT',0x6008:'JMP',0x6030:'CJMP',0x606c:'RET',0x5b0c:'BAD'}\ncur=[0]; rec=[]; started=[False]\ndef ru32(a):return struct.unpack('<I',mu.mem_read(a,4))[0]\ndef ru64(a):return struct.unpack('<Q',mu.mem_read(a,8))[0]\ndef hook(mu,a,s,u):\n p=a-B\n if p==0x6e74:mu.reg_write(UC_ARM64_REG_X0,0);mu.reg_write(UC_ARM64_REG_PC,mu.reg_read(UC_ARM64_REG_LR));return\n if a==S:mu.emu_stop();return\n if p==0x551c and not started[0]:\n  started[0]=True;fp=mu.reg_read(UC_ARM64_REG_X29);ru=ru64(fp-8);mu.mem_write(ru,struct.pack('<I',cur[0]));return\n if p in sem:\n  fp=mu.reg_read(UC_ARM64_REG_X29);base=mu.reg_read(UC_ARM64_REG_X8)\n  def desc(r):\n   q=mu.reg_read(r); val=ru32(q) if ST<=q<ST+0x20000 else None\n   ix=(q-base)//4 if base<=q<base+0x120 and (q-base)%4==0 else None\n   return (ix,val,hex(q-ST) if ST<=q<ST+0x20000 else hex(q))\n  pp={off:ru32(ru64(fp-off)) for off in [8,0x10,0x18,0x20,0x28,0x30]}\n  rec.append((cur[0],sem[p],desc(UC_ARM64_REG_X0),desc(UC_ARM64_REG_X13),desc(UC_ARM64_REG_X14),desc(UC_ARM64_REG_X10),desc(UC_ARM64_REG_X11),pp))\n  cur[0]+=1\n  if cur[0]>=92:mu.emu_stop();return\n  pcptr=ru64(fp-8);mu.mem_write(pcptr,struct.pack('<I',cur[0]));mu.reg_write(UC_ARM64_REG_PC,B+0x551c)\nmu.hook_add(UC_HOOK_CODE,hook)\nmu.reg_write(UC_ARM64_REG_SP,ST+0x10000);mu.reg_write(UC_ARM64_REG_LR,S)\nfor r,v in zip([UC_ARM64_REG_X0,UC_ARM64_REG_X1,UC_ARM64_REG_X2,UC_ARM64_REG_X3],[1,2,3,4]):mu.reg_write(r,v)\nmu.emu_start(B+0x456c,S,count=2000000)\nprint('decoded',len(rec))\nfor x in rec:print(x)\n"}}, "call": 30}
{"elapsed": 301.10378174998914, "response": {"returncode": 1, "timed_out": false, "memory_exceeded": false, "stdout": "", "stderr": "Traceback (most recent call last):\n  File \"/private/tmp/anti-rev-blind-v4-40fr3iyo/trials/8674d65e676be161/script-030.py\", line 30, in <module>\n    mu.emu_start(B+0x456c,S,count=2000000)\n    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/Volumes/workdata/work/rev/anti_rev/o-mvll/experiments/analysis-complexity/build/venv/lib/python3.14/site-packages/unicorn/unicorn_py3/unicorn.py\", line 766, in emu_start\n    raise UcError(status)\nunicorn.unicorn_py3.unicorn.UcError: Invalid memory fetch (UC_ERR_FETCH_UNMAPPED)\n"}, "call": 30}
{"elapsed": 311.3946448749921, "request": {"name": "python", "arguments": {"code": "# same decoder, with all candidate block entries and error diagnostics\nfrom unicorn import *\nfrom unicorn.arm64_const import *\nimport struct\nr=open('target.so','rb').read();B=0x100000;ST=0x800000;S=0x900000;mu=Uc(UC_ARCH_ARM64,UC_MODE_ARM);mu.mem_map(B,0x10000);mu.mem_write(B,r[:0x7200]);mu.mem_write(B+0xb200,r[0x7200:0x72f0]);mu.mem_map(ST,0x20000);mu.mem_map(S,0x1000)\nsem={0x5b30:'IMM',0x5b50:'MOV14',0x5b70:'ADD',0x5b98:'SUB',0x5bc0:'MUL',0x5be8:'XOR',0x5c10:'AND',0x5c38:'OR',0x5c60:'SHL',0x5c8c:'LSR',0x5cb8:'ASR',0x5ce4:'UDIV',0x5d1c:'SDIV',0x5d80:'UREM',0x5dbc:'SREM',0x5e24:'CMP',0x5f80:'SELECT',0x5fb4:'MOV',0x5fd4:'SEXT',0x6008:'JMP',0x6030:'CJMP',0x606c:'RET',0x5b0c:'BAD'}\ncur=[0];rec=[];started=[0]\ndef u32(a):return struct.unpack('<I',mu.mem_read(a,4))[0]\ndef u64(a):return struct.unpack('<Q',mu.mem_read(a,8))[0]\ndef hk(mu,a,s,u):\n p=a-B\n if p==0x6e74:mu.reg_write(UC_ARM64_REG_X0,0);mu.reg_write(UC_ARM64_REG_PC,mu.reg_read(UC_ARM64_REG_LR));return\n if p==0x551c and not started[0]:started[0]=1;fp=mu.reg_read(UC_ARM64_REG_X29);mu.mem_write(u64(fp-8),struct.pack('<I',cur[0]));return\n if p in sem:\n  fp=mu.reg_read(UC_ARM64_REG_X29);base=mu.reg_read(UC_ARM64_REG_X8)\n  def d(reg):\n   q=mu.reg_read(reg);return ((q-base)//4 if base<=q<base+0x120 and (q-base)%4==0 else -1,u32(q) if ST<=q<ST+0x20000 else -1)\n  pp=[]\n  for off in [8,0x10,0x18,0x20,0x28,0x30]:\n   q=u64(fp-off);pp.append((off,(q-base)//4 if base<=q<base+0x120 else -1,u32(q)))\n  rec.append((cur[0],sem[p],d(UC_ARM64_REG_X0),d(UC_ARM64_REG_X13),d(UC_ARM64_REG_X14),d(UC_ARM64_REG_X10),d(UC_ARM64_REG_X11),pp))\n  cur[0]+=1\n  if cur[0]>=92:mu.emu_stop();return\n  mu.mem_write(u64(fp-8),struct.pack('<I',cur[0]));mu.reg_write(UC_ARM64_REG_PC,B+0x551c)\nmu.hook_add(UC_HOOK_CODE,hk)\nmu.reg_write(UC_ARM64_REG_SP,ST+0x10000);mu.reg_write(UC_ARM64_REG_LR,S)\nfor q,v in zip([UC_ARM64_REG_X0,UC_ARM64_REG_X1,UC_ARM64_REG_X2,UC_ARM64_REG_X3],[1,2,3,4]):mu.reg_write(q,v)\ntry:mu.emu_start(B+0x456c,S,count=2000000)\nexcept Exception as ex:print('ERR',ex,'cur',cur[0],'pc',hex(mu.reg_read(UC_ARM64_REG_PC)-B),'last',rec[-3:])\nprint('decoded',len(rec));\nfor x in rec:print(x)\n"}}, "call": 31}
{"elapsed": 311.4743974999874, "response": {"returncode": 0, "timed_out": false, "memory_exceeded": false, "stdout": "ERR Invalid memory fetch (UC_ERR_FETCH_UNMAPPED) cur 23 pc 0x1400018213f00001 last [(20, 'IMM', (-1, 2147483649), (-1, 1), (-1, 1), (-1, 1), (-1, 1), [(8, -1, 20), (16, -1, 1), (24, -1, 0), (32, -1, 21), (40, -1, 32), (48, -1, 37)]), (21, 'IMM', (-1, 2147483650), (-1, 1), (-1, 1), (-1, 1), (-1, 1), [(8, -1, 21), (16, -1, 1), (24, -1, 0), (32, -1, 22), (40, -1, 32), (48, -1, 26)]), (22, 'IMM', (-1, 2147483651), (-1, 1), (-1, 1), (-1, 1), (-1, 1), [(8, -1, 22), (16, -1, 1), (24, -1, 0), (32, -1, 23), (40, -1, 32), (48, -1, 2)])]\ndecoded 23\n(0, 'IMM', (-1, 4294967195), (-1, 1), (-1, 1), (-1, 1), (-1, 1), [(8, -1, 0), (16, -1, 1), (24, -1, 0), (32, -1, 1), (40, -1, 32), (48, -1, 8)])\n(1, 'IMM', (-1, 4294967196), (-1, 1), (-1, 1), (-1, 1), (-1, 1), [(8, -1, 1), (16, -1, 1), (24, -1, 0), (32, -1, 2), (40, -1, 32), (48, -1, 46)])\n(2, 'IMM', (-1, 2), (-1, 1), (-1, 1), (-1, 1), (-1, 1), [(8, -1, 2), (16, -1, 1), (24, -1, 0), (32, -1, 3), (40, -1, 32), (48, -1, 3)])\n(3, 'IMM', (-1, 2600820847), (-1, 1), (-1, 1), (-1, 1), (-1, 1), [(8, -1, 3), (16, -1, 1), (24, -1, 0), (32, -1, 4), (40, -1, 32), (48, -1, 20)])\n(4, 'IMM', (-1, 16), (-1, 1), (-1, 1), (-1, 1), (-1, 1), [(8, -1, 4), (16, -1, 1), (24, -1, 0), (32, -1, 5), (40, -1, 32), (48, -1, 27)])\n(5, 'IMM', (-1, 2146121005), (-1, 1), (-1, 1), (-1, 1), (-1, 1), [(8, -1, 5), (16, -1, 1), (24, -1, 0), (32, -1, 6), (40, -1, 32), (48, -1, 21)])\n(6, 'IMM', (-1, 15), (-1, 1), (-1, 1), (-1, 1), (-1, 1), [(8, -1, 6), (16, -1, 1), (24, -1, 0), (32, -1, 7), (40, -1, 32), (48, -1, 18)])\n(7, 'IMM', (-1, 2221713035), (-1, 1), (-1, 1), (-1, 1), (-1, 1), [(8, -1, 7), (16, -1, 1), (24, -1, 0), (32, -1, 8), (40, -1, 32), (48, -1, 42)])\n(8, 'IMM', (-1, 1), (-1, 1), (-1, 1), (-1, 1), (-1, 1), [(8, -1, 8), (16, -1, 1), (24, -1, 0), (32, -1, 9), (40, -1, 32), (48, -1, 60)])\n(9, 'IMM', (-1, 249), (-1, 1), (-1, 1), (-1, 1), (-1, 1), [(8, -1, 9), (16, -1, 1), (24, -1, 0), (32, -1, 10), (40, -1, 32), (48, -1, 39)])\n(10, 'IMM', (-1, 399), (-1, 1), (-1, 1), (-1, 1), (-1, 1), [(8, -1, 10), (16, -1, 1), (24, -1, 0), (32, -1, 11), (40, -1, 32), (48, -1, 50)])\n(11, 'IMM', (-1, 0), (-1, 1), (-1, 1), (-1, 1), (-1, 1), [(8, -1, 11), (16, -1, 1), (24, -1, 0), (32, -1, 12), (40, -1, 32), (48, -1, 36)])\n(12, 'IMM', (-1, 129), (-1, 1), (-1, 1), (-1, 1), (-1, 1), [(8, -1, 12), (16, -1, 1), (24, -1, 0), (32, -1, 13), (40, -1, 32), (48, -1, 0)])\n(13, 'IMM', (-1, 9), (-1, 1), (-1, 1), (-1, 1), (-1, 1), [(8, -1, 13), (16, -1, 1), (24, -1, 0), (32, -1, 14), (40, -1, 32), (48, -1, 41)])\n(14, 'IMM', (-1, 85), (-1, 1), (-1, 1), (-1, 1), (-1, 1), [(8, -1, 14), (16, -1, 1), (24, -1, 0), (32, -1, 15), (40, -1, 32), (48, -1, 10)])\n(15, 'IMM', (-1, 100), (-1, 1), (-1, 1), (-1, 1), (-1, 1), [(8, -1, 15), (16, -1, 1), (24, -1, 0), (32, -1, 16), (40, -1, 32), (48, -1, 17)])\n(16, 'IMM', (-1, 1904786857), (-1, 1), (-1, 1), (-1, 1), (-1, 1), [(8, -1, 16), (16, -1, 1), (24, -1, 0), (32, -1, 17), (40, -1, 32), (48, -1, 9)])\n(17, 'IMM', (-1, 7), (-1, 1), (-1, 1), (-1, 1), (-1, 1), [(8, -1, 17), (16, -1, 1), (24, -1, 0), (32, -1, 18), (40, -1, 32), (48, -1, 67)])\n(18, 'IMM', (-1, 3), (-1, 1), (-1, 1), (-1, 1), (-1, 1), [(8, -1, 18), (16, -1, 1), (24, -1, 0), (32, -1, 19), (40, -1, 32), (48, -1, 11)])\n(19, 'IMM', (-1, 95), (-1, 1), (-1, 1), (-1, 1), (-1, 1), [(8, -1, 19), (16, -1, 1), (24, -1, 0), (32, -1, 20), (40, -1, 32), (48, -1, 56)])\n(20, 'IMM', (-1, 2147483649), (-1, 1), (-1, 1), (-1, 1), (-1, 1), [(8, -1, 20), (16, -1, 1), (24, -1, 0), (32, -1, 21), (40, -1, 32), (48, -1, 37)])\n(21, 'IMM', (-1, 2147483650), (-1, 1), (-1, 1), (-1, 1), (-1, 1), [(8, -1, 21), (16, -1, 1), (24, -1, 0), (32, -1, 22), (40, -1, 32), (48, -1, 26)])\n(22, 'IMM', (-1, 2147483651), (-1, 1), (-1, 1), (-1, 1), (-1, 1), [(8, -1, 22), (16, -1, 1), (24, -1, 0), (32, -1, 23), (40, -1, 32), (48, -1, 2)])\n", "stderr": ""}, "call": 31}
{"elapsed": 329.2290017499763, "request": {"name": "python", "arguments": {"code": "from unicorn import *\nfrom unicorn.arm64_const import *\nimport struct\nr=open('target.so','rb').read();B=0x100000;ST=0x800000;S=0x900000;mu=Uc(UC_ARCH_ARM64,UC_MODE_ARM);mu.mem_map(B,0x10000);mu.mem_write(B,r[:0x7200]);mu.mem_write(B+0xb200,r[0x7200:0x72f0]);mu.mem_map(ST,0x20000);mu.mem_map(S,0x1000)\nsem={0x5b30:'IMM',0x5b50:'MOV14',0x5b70:'ADD',0x5b98:'SUB',0x5bc0:'MUL',0x5be8:'XOR',0x5c10:'AND',0x5c38:'OR',0x5c60:'SHL',0x5c8c:'LSR',0x5cb8:'ASR',0x5ce4:'UDIV',0x5d1c:'SDIV',0x5d80:'UREM',0x5dbc:'SREM',0x5e24:'CMP',0x5f80:'SELECT',0x5fb4:'MOV',0x5fd4:'SEXT',0x6008:'JMP',0x6030:'CJMP',0x606c:'RET',0x5b0c:'BAD'}\ncur=[0];rec=[];started=[0]\ndef u32(a):return struct.unpack('<I',mu.mem_read(a,4))[0]\ndef u64(a):return struct.unpack('<Q',mu.mem_read(a,8))[0]\ndef hk(mu,a,s,u):\n p=a-B\n if p==0x6e74:mu.reg_write(UC_ARM64_REG_X0,0);mu.reg_write(UC_ARM64_REG_PC,mu.reg_read(UC_ARM64_REG_LR));return\n if p==0x551c and not started[0]:started[0]=1;fp=mu.reg_read(UC_ARM64_REG_X29);mu.mem_write(u64(fp-8),struct.pack('<I',cur[0]));return\n if p in sem:\n  fp=mu.reg_read(UC_ARM64_REG_X29);arr=mu.reg_read(UC_ARM64_REG_X8)\n  # array is actually original frame x3-0x120, recover from fp? print arr for diagnosis\n  def d(reg):\n   q=mu.reg_read(reg);return (hex(q-ST),u32(q) if ST<=q<ST+0x20000 else -1)\n  pp=[]\n  for off in [8,0x10,0x18,0x20,0x28,0x30]:\n   q=u64(fp-off);pp.append((off,hex(q-ST),u32(q)))\n  rec.append((cur[0],sem[p],hex(arr-ST),d(UC_ARM64_REG_X0),d(UC_ARM64_REG_X13),d(UC_ARM64_REG_X14),pp))\n  cur[0]+=1\n  if cur[0]>=92:mu.emu_stop();return\n  mu.mem_write(u64(fp-8),struct.pack('<I',cur[0]));mu.mem_write(mu.reg_read(UC_ARM64_REG_X4),struct.pack('<I',0xe4a7522e));mu.reg_write(UC_ARM64_REG_PC,B+0x551c)\nmu.hook_add(UC_HOOK_CODE,hk)\nmu.reg_write(UC_ARM64_REG_SP,ST+0x10000);mu.reg_write(UC_ARM64_REG_LR,S)\nfor q,v in zip([UC_ARM64_REG_X0,UC_ARM64_REG_X1,UC_ARM64_REG_X2,UC_ARM64_REG_X3],[1,2,3,4]):mu.reg_write(q,v)\ntry:mu.emu_start(B+0x456c,S,count=2000000)\nexcept Exception as ex:print('ERR',ex,cur[0],hex(mu.reg_read(UC_ARM64_REG_PC)-B))\nprint('decoded',len(rec))\nfor x in rec:print(x)\n"}}, "call": 32}
{"elapsed": 329.30580762500176, "response": {"returncode": 0, "timed_out": false, "memory_exceeded": false, "stdout": "ERR Invalid memory fetch (UC_ERR_FETCH_UNMAPPED) 1 0x1400018213f00001\ndecoded 1\n(0, 'IMM', '0xfe50', ('0xfdb0', 4294967195), ('0xfe00', 1), ('0xfdf0', 1), [(8, '0xfe40', 0), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 1), (40, '0xfdc0', 32), (48, '0xfda0', 8)])\n", "stderr": ""}, "call": 32}
{"elapsed": 333.7319574999856, "request": {"name": "python", "arguments": {"code": "print(hex(3836159278),hex(638845305),hex(3849759298))"}}, "call": 33}
{"elapsed": 333.7776785409951, "response": {"returncode": 0, "timed_out": false, "memory_exceeded": false, "stdout": "0xe4a7252e 0x26140179 0xe576aa42\n", "stderr": ""}, "call": 33}
{"elapsed": 343.32041470799595, "request": {"name": "python", "arguments": {"code": "# compact forced VM decoder\nfrom unicorn import *\nfrom unicorn.arm64_const import *\nimport struct\nr=open('target.so','rb').read();B=0x100000;ST=0x800000;S=0x900000;mu=Uc(UC_ARCH_ARM64,UC_MODE_ARM);mu.mem_map(B,0x10000);mu.mem_write(B,r[:0x7200]);mu.mem_write(B+0xb200,r[0x7200:0x72f0]);mu.mem_map(ST,0x20000);mu.mem_map(S,0x1000)\nsem={0x5b30:'IMM',0x5b50:'MOV14',0x5b70:'ADD',0x5b98:'SUB',0x5bc0:'MUL',0x5be8:'XOR',0x5c10:'AND',0x5c38:'OR',0x5c60:'SHL',0x5c8c:'LSR',0x5cb8:'ASR',0x5ce4:'UDIV',0x5d1c:'SDIV',0x5d80:'UREM',0x5dbc:'SREM',0x5e24:'CMP',0x5f80:'SELECT',0x5fb4:'MOV',0x5fd4:'SEXT',0x6008:'JMP',0x6030:'CJMP',0x606c:'RET',0x5b0c:'BAD'}\ncur=[0];rec=[];started=[0]\ndef u32(a):return struct.unpack('<I',mu.mem_read(a,4))[0]\ndef u64(a):return struct.unpack('<Q',mu.mem_read(a,8))[0]\ndef hk(mu,a,s,u):\n p=a-B\n if p==0x6e74:mu.reg_write(UC_ARM64_REG_X0,0);mu.reg_write(UC_ARM64_REG_PC,mu.reg_read(UC_ARM64_REG_LR));return\n if p==0x551c and not started[0]:started[0]=1;fp=mu.reg_read(UC_ARM64_REG_X29);mu.mem_write(u64(fp-8),struct.pack('<I',cur[0]));return\n if p in sem:\n  fp=mu.reg_read(UC_ARM64_REG_X29);arr=mu.reg_read(UC_ARM64_REG_X8)\n  def d(reg):\n   q=mu.reg_read(reg);return (hex(q-ST),u32(q) if ST<=q<ST+0x20000 else -1)\n  pp=[]\n  for off in [8,0x10,0x18,0x20,0x28,0x30]:\n   q=u64(fp-off);pp.append((off,hex(q-ST),u32(q)))\n  rec.append((cur[0],sem[p],hex(arr-ST),d(UC_ARM64_REG_X0),d(UC_ARM64_REG_X13),d(UC_ARM64_REG_X14),d(UC_ARM64_REG_X10),d(UC_ARM64_REG_X11),pp))\n  cur[0]+=1\n  if cur[0]>=92:mu.emu_stop();return\n  mu.mem_write(u64(fp-8),struct.pack('<I',cur[0]));mu.mem_write(mu.reg_read(UC_ARM64_REG_X4),struct.pack('<I',0xe4a7252e));mu.reg_write(UC_ARM64_REG_PC,B+0x551c)\nmu.hook_add(UC_HOOK_CODE,hk);mu.reg_write(UC_ARM64_REG_SP,ST+0x10000);mu.reg_write(UC_ARM64_REG_LR,S)\nfor q,v in zip([UC_ARM64_REG_X0,UC_ARM64_REG_X1,UC_ARM64_REG_X2,UC_ARM64_REG_X3],[1,2,3,4]):mu.reg_write(q,v)\ntry:mu.emu_start(B+0x456c,S,count=2000000)\nexcept Exception as ex:print('ERR',ex,cur[0],hex(mu.reg_read(UC_ARM64_REG_PC)-B))\nprint('decoded',len(rec))\nfor x in rec:print(x)\n"}}, "call": 34}
{"elapsed": 343.3949104579806, "response": {"returncode": 0, "timed_out": false, "memory_exceeded": false, "stdout": "decoded 92\n(0, 'IMM', '0xfe50', ('0xfdb0', 4294967195), ('0xfe00', 1), ('0xfdf0', 1), ('0xfe30', 1), ('0xfe20', 1), [(8, '0xfe40', 0), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 1), (40, '0xfdc0', 32), (48, '0xfda0', 8)])\n(1, 'IMM', '0xfe50', ('0xfdb0', 4294967196), ('0xfe00', 1), ('0xfdf0', 1), ('0xfe30', 1), ('0xfe20', 1), [(8, '0xfe40', 1), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 2), (40, '0xfdc0', 32), (48, '0xfda0', 46)])\n(2, 'IMM', '0xfe50', ('0xfdb0', 2), ('0xfe00', 1), ('0xfdf0', 1), ('0xfe30', 1), ('0xfe20', 1), [(8, '0xfe40', 2), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 3), (40, '0xfdc0', 32), (48, '0xfda0', 3)])\n(3, 'IMM', '0xfe50', ('0xfdb0', 2600820847), ('0xfe00', 1), ('0xfdf0', 1), ('0xfe30', 1), ('0xfe20', 1), [(8, '0xfe40', 3), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 4), (40, '0xfdc0', 32), (48, '0xfda0', 20)])\n(4, 'IMM', '0xfe50', ('0xfdb0', 16), ('0xfe00', 1), ('0xfdf0', 1), ('0xfe30', 1), ('0xfe20', 1), [(8, '0xfe40', 4), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 5), (40, '0xfdc0', 32), (48, '0xfda0', 27)])\n(5, 'IMM', '0xfe50', ('0xfdb0', 2146121005), ('0xfe00', 1), ('0xfdf0', 1), ('0xfe30', 1), ('0xfe20', 1), [(8, '0xfe40', 5), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 6), (40, '0xfdc0', 32), (48, '0xfda0', 21)])\n(6, 'IMM', '0xfe50', ('0xfdb0', 15), ('0xfe00', 1), ('0xfdf0', 1), ('0xfe30', 1), ('0xfe20', 1), [(8, '0xfe40', 6), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 7), (40, '0xfdc0', 32), (48, '0xfda0', 18)])\n(7, 'IMM', '0xfe50', ('0xfdb0', 2221713035), ('0xfe00', 1), ('0xfdf0', 1), ('0xfe30', 1), ('0xfe20', 1), [(8, '0xfe40', 7), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 8), (40, '0xfdc0', 32), (48, '0xfda0', 42)])\n(8, 'IMM', '0xfe50', ('0xfdb0', 1), ('0xfe00', 1), ('0xfdf0', 1), ('0xfe30', 1), ('0xfe20', 1), [(8, '0xfe40', 8), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 9), (40, '0xfdc0', 32), (48, '0xfda0', 60)])\n(9, 'IMM', '0xfe50', ('0xfdb0', 249), ('0xfe00', 1), ('0xfdf0', 1), ('0xfe30', 1), ('0xfe20', 1), [(8, '0xfe40', 9), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 10), (40, '0xfdc0', 32), (48, '0xfda0', 39)])\n(10, 'IMM', '0xfe50', ('0xfdb0', 399), ('0xfe00', 1), ('0xfdf0', 1), ('0xfe30', 1), ('0xfe20', 1), [(8, '0xfe40', 10), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 11), (40, '0xfdc0', 32), (48, '0xfda0', 50)])\n(11, 'IMM', '0xfe50', ('0xfdb0', 0), ('0xfe00', 1), ('0xfdf0', 1), ('0xfe30', 1), ('0xfe20', 1), [(8, '0xfe40', 11), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 12), (40, '0xfdc0', 32), (48, '0xfda0', 36)])\n(12, 'IMM', '0xfe50', ('0xfdb0', 129), ('0xfe00', 1), ('0xfdf0', 1), ('0xfe30', 1), ('0xfe20', 1), [(8, '0xfe40', 12), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 13), (40, '0xfdc0', 32), (48, '0xfda0', 0)])\n(13, 'IMM', '0xfe50', ('0xfdb0', 9), ('0xfe00', 1), ('0xfdf0', 1), ('0xfe30', 1), ('0xfe20', 1), [(8, '0xfe40', 13), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 14), (40, '0xfdc0', 32), (48, '0xfda0', 41)])\n(14, 'IMM', '0xfe50', ('0xfdb0', 85), ('0xfe00', 1), ('0xfdf0', 1), ('0xfe30', 1), ('0xfe20', 1), [(8, '0xfe40', 14), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 15), (40, '0xfdc0', 32), (48, '0xfda0', 10)])\n(15, 'IMM', '0xfe50', ('0xfdb0', 100), ('0xfe00', 1), ('0xfdf0', 1), ('0xfe30', 1), ('0xfe20', 1), [(8, '0xfe40', 15), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 16), (40, '0xfdc0', 32), (48, '0xfda0', 17)])\n(16, 'IMM', '0xfe50', ('0xfdb0', 1904786857), ('0xfe00', 1), ('0xfdf0', 1), ('0xfe30', 1), ('0xfe20', 1), [(8, '0xfe40', 16), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 17), (40, '0xfdc0', 32), (48, '0xfda0', 9)])\n(17, 'IMM', '0xfe50', ('0xfdb0', 7), ('0xfe00', 1), ('0xfdf0', 1), ('0xfe30', 1), ('0xfe20', 1), [(8, '0xfe40', 17), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 18), (40, '0xfdc0', 32), (48, '0xfda0', 67)])\n(18, 'IMM', '0xfe50', ('0xfdb0', 3), ('0xfe00', 1), ('0xfdf0', 1), ('0xfe30', 1), ('0xfe20', 1), [(8, '0xfe40', 18), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 19), (40, '0xfdc0', 32), (48, '0xfda0', 11)])\n(19, 'IMM', '0xfe50', ('0xfdb0', 95), ('0xfe00', 1), ('0xfdf0', 1), ('0xfe30', 1), ('0xfe20', 1), [(8, '0xfe40', 19), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 20), (40, '0xfdc0', 32), (48, '0xfda0', 56)])\n(20, 'IMM', '0xfe50', ('0xfdb0', 2147483649), ('0xfe00', 1), ('0xfdf0', 1), ('0xfe30', 1), ('0xfe20', 1), [(8, '0xfe40', 20), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 21), (40, '0xfdc0', 32), (48, '0xfda0', 37)])\n(21, 'IMM', '0xfe50', ('0xfdb0', 2147483650), ('0xfe00', 1), ('0xfdf0', 1), ('0xfe30', 1), ('0xfe20', 1), [(8, '0xfe40', 21), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 22), (40, '0xfdc0', 32), (48, '0xfda0', 26)])\n(22, 'IMM', '0xfe50', ('0xfdb0', 2147483651), ('0xfe00', 1), ('0xfdf0', 1), ('0xfe30', 1), ('0xfe20', 1), [(8, '0xfe40', 22), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 23), (40, '0xfdc0', 32), (48, '0xfda0', 2)])\n(23, 'JMP', '0xfe50', ('0xfdb0', 0), ('0xfe00', 1), ('0xfdf0', 1), ('0xfe30', 1), ('0xfe20', 1), [(8, '0xfe40', 23), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 38), (40, '0xfdc0', 32), (48, '0xfda0', 28)])\n(24, 'RET', '0xfe50', ('0xfdb0', 0), ('0xfe00', 1), ('0xfdf0', 0), ('0xfe30', 1), ('0xfe20', 0), [(8, '0xfe40', 24), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 25), (40, '0xfdc0', 32), (48, '0xfda0', 28)])\n(25, 'XOR', '0xfe50', ('0xfdb0', 0), ('0xfe00', 0), ('0xfdf0', 1), ('0xfe30', 0), ('0xfe20', 1), [(8, '0xfe40', 25), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 26), (40, '0xfdc0', 32), (48, '0xfda0', 64)])\n(26, 'LSR', '0xfe50', ('0xfdb0', 0), ('0xfe00', 0), ('0xfdf0', 0), ('0xfe30', 0), ('0xfe20', 0), [(8, '0xfe40', 26), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 27), (40, '0xfdc0', 32), (48, '0xfda0', 65)])\n(27, 'XOR', '0xfe50', ('0xfdb0', 0), ('0xfe00', 0), ('0xfdf0', 0), ('0xfe30', 0), ('0xfe20', 0), [(8, '0xfe40', 27), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 28), (40, '0xfdc0', 32), (48, '0xfda0', 14)])\n(28, 'MUL', '0xfe50', ('0xfdb0', 0), ('0xfe00', 0), ('0xfdf0', 0), ('0xfe30', 0), ('0xfe20', 0), [(8, '0xfe40', 28), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 29), (40, '0xfdc0', 32), (48, '0xfda0', 19)])\n(29, 'LSR', '0xfe50', ('0xfdb0', 0), ('0xfe00', 0), ('0xfdf0', 0), ('0xfe30', 0), ('0xfe20', 0), [(8, '0xfe40', 29), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 30), (40, '0xfdc0', 32), (48, '0xfda0', 16)])\n(30, 'XOR', '0xfe50', ('0xfdb0', 0), ('0xfe00', 0), ('0xfdf0', 0), ('0xfe30', 0), ('0xfe20', 0), [(8, '0xfe40', 30), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 31), (40, '0xfdc0', 32), (48, '0xfda0', 7)])\n(31, 'MUL', '0xfe50', ('0xfdb0', 0), ('0xfe00', 0), ('0xfdf0', 0), ('0xfe30', 0), ('0xfe20', 0), [(8, '0xfe40', 31), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 32), (40, '0xfdc0', 32), (48, '0xfda0', 43)])\n(32, 'LSR', '0xfe50', ('0xfdb0', 0), ('0xfe00', 0), ('0xfdf0', 0), ('0xfe30', 0), ('0xfe20', 0), [(8, '0xfe40', 32), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 33), (40, '0xfdc0', 32), (48, '0xfda0', 52)])\n(33, 'XOR', '0xfe50', ('0xfdb0', 0), ('0xfe00', 0), ('0xfdf0', 0), ('0xfe30', 0), ('0xfe20', 0), [(8, '0xfe40', 33), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 34), (40, '0xfdc0', 32), (48, '0xfda0', 23)])\n(34, 'CMP', '0xfe50', ('0xfdb0', 32), ('0xfe00', 0), ('0xfdf0', 4), ('0xfe30', 0), ('0xfe20', 4), [(8, '0xfe40', 34), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 35), (40, '0xfdc0', 32), (48, '0xfda0', 59)])\n(35, 'CJMP', '0xfe50', ('0xfdb0', 0), ('0xfe00', 1), ('0xfdf0', 0), ('0xfe30', 4294967295), ('0xfe20', 0), [(8, '0xfe40', 35), (16, '0xfe10', 1), (24, '0xfde0', 79), (32, '0xfdd0', 71), (40, '0xfdc0', 1), (48, '0xfda0', 28)])\n(36, 'CMP', '0xfe50', ('0xfdb0', 34), ('0xfe00', 0), ('0xfdf0', 3), ('0xfe30', 0), ('0xfe20', 3), [(8, '0xfe40', 36), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 37), (40, '0xfdc0', 32), (48, '0xfda0', 47)])\n(37, 'CJMP', '0xfe50', ('0xfdb0', 0), ('0xfe00', 1), ('0xfdf0', 0), ('0xfe30', 4294967295), ('0xfe20', 0), [(8, '0xfe40', 37), (16, '0xfe10', 1), (24, '0xfde0', 70), (32, '0xfdd0', 85), (40, '0xfdc0', 1), (48, '0xfda0', 28)])\n(38, 'ADD', '0xfe50', ('0xfdb0', 0), ('0xfe00', 0), ('0xfdf0', 2), ('0xfe30', 0), ('0xfe20', 2), [(8, '0xfe40', 38), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 39), (40, '0xfdc0', 32), (48, '0xfda0', 38)])\n(39, 'CMP', '0xfe50', ('0xfdb0', 36), ('0xfe00', 0), ('0xfdf0', 0), ('0xfe30', 0), ('0xfe20', 0), [(8, '0xfe40', 39), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 40), (40, '0xfdc0', 32), (48, '0xfda0', 33)])\n(40, 'CJMP', '0xfe50', ('0xfdb0', 0), ('0xfe00', 1), ('0xfdf0', 0), ('0xfe30', 4294967295), ('0xfe20', 0), [(8, '0xfe40', 40), (16, '0xfe10', 1), (24, '0xfde0', 69), (32, '0xfdd0', 72), (40, '0xfdc0', 1), (48, '0xfda0', 28)])\n(41, 'ADD', '0xfe50', ('0xfdb0', 0), ('0xfe00', 0), ('0xfdf0', 1), ('0xfe30', 0), ('0xfe20', 1), [(8, '0xfe40', 41), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 42), (40, '0xfdc0', 32), (48, '0xfda0', 30)])\n(42, 'LSR', '0xfe50', ('0xfdb0', 0), ('0xfe00', 0), ('0xfdf0', 0), ('0xfe30', 0), ('0xfe20', 0), [(8, '0xfe40', 42), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 43), (40, '0xfdc0', 32), (48, '0xfda0', 62)])\n(43, 'XOR', '0xfe50', ('0xfdb0', 0), ('0xfe00', 0), ('0xfdf0', 0), ('0xfe30', 0), ('0xfe20', 0), [(8, '0xfe40', 43), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 44), (40, '0xfdc0', 32), (48, '0xfda0', 6)])\n(44, 'MUL', '0xfe50', ('0xfdb0', 0), ('0xfe00', 0), ('0xfdf0', 0), ('0xfe30', 0), ('0xfe20', 0), [(8, '0xfe40', 44), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 45), (40, '0xfdc0', 32), (48, '0xfda0', 68)])\n(45, 'LSR', '0xfe50', ('0xfdb0', 0), ('0xfe00', 0), ('0xfdf0', 0), ('0xfe30', 0), ('0xfe20', 0), [(8, '0xfe40', 45), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 46), (40, '0xfdc0', 32), (48, '0xfda0', 29)])\n(46, 'XOR', '0xfe50', ('0xfdb0', 0), ('0xfe00', 0), ('0xfdf0', 0), ('0xfe30', 0), ('0xfe20', 0), [(8, '0xfe40', 46), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 47), (40, '0xfdc0', 32), (48, '0xfda0', 53)])\n(47, 'MUL', '0xfe50', ('0xfdb0', 0), ('0xfe00', 0), ('0xfdf0', 0), ('0xfe30', 0), ('0xfe20', 0), [(8, '0xfe40', 47), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 48), (40, '0xfdc0', 32), (48, '0xfda0', 12)])\n(48, 'LSR', '0xfe50', ('0xfdb0', 0), ('0xfe00', 0), ('0xfdf0', 0), ('0xfe30', 0), ('0xfe20', 0), [(8, '0xfe40', 48), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 49), (40, '0xfdc0', 32), (48, '0xfda0', 34)])\n(49, 'XOR', '0xfe50', ('0xfdb0', 0), ('0xfe00', 0), ('0xfdf0', 0), ('0xfe30', 0), ('0xfe20', 0), [(8, '0xfe40', 49), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 50), (40, '0xfdc0', 32), (48, '0xfda0', 63)])\n(50, 'AND', '0xfe50', ('0xfdb0', 0), ('0xfe00', 0), ('0xfdf0', 0), ('0xfe30', 0), ('0xfe20', 0), [(8, '0xfe40', 50), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 51), (40, '0xfdc0', 32), (48, '0xfda0', 45)])\n(51, 'CMP', '0xfe50', ('0xfdb0', 32), ('0xfe00', 0), ('0xfdf0', 0), ('0xfe30', 0), ('0xfe20', 0), [(8, '0xfe40', 51), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 52), (40, '0xfdc0', 32), (48, '0xfda0', 32)])\n(52, 'CJMP', '0xfe50', ('0xfdb0', 0), ('0xfe00', 1), ('0xfdf0', 0), ('0xfe30', 4294967295), ('0xfe20', 0), [(8, '0xfe40', 52), (16, '0xfe10', 1), (24, '0xfde0', 66), (32, '0xfdd0', 91), (40, '0xfdc0', 1), (48, '0xfda0', 28)])\n(53, 'MUL', '0xfe50', ('0xfdb0', 0), ('0xfe00', 0), ('0xfdf0', 0), ('0xfe30', 0), ('0xfe20', 0), [(8, '0xfe40', 53), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 54), (40, '0xfdc0', 32), (48, '0xfda0', 69)])\n(54, 'UDIV', '0xfe50', ('0xfdb0', 0), ('0xfe00', 0), ('0xfdf0', 0), ('0xfe30', 0), ('0xfe20', 0), [(8, '0xfe40', 54), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 55), (40, '0xfdc0', 32), (48, '0xfda0', 49)])\n(55, 'JMP', '0xfe50', ('0xfdb0', 0), ('0xfe00', 1), ('0xfdf0', 1), ('0xfe30', 1), ('0xfe20', 1), [(8, '0xfe40', 55), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 82), (40, '0xfdc0', 32), (48, '0xfda0', 28)])\n(56, 'MUL', '0xfe50', ('0xfdb0', 0), ('0xfe00', 0), ('0xfdf0', 0), ('0xfe30', 0), ('0xfe20', 0), [(8, '0xfe40', 56), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 57), (40, '0xfdc0', 32), (48, '0xfda0', 25)])\n(57, 'UDIV', '0xfe50', ('0xfdb0', 0), ('0xfe00', 0), ('0xfdf0', 0), ('0xfe30', 0), ('0xfe20', 0), [(8, '0xfe40', 57), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 58), (40, '0xfdc0', 32), (48, '0xfda0', 31)])\n(58, 'JMP', '0xfe50', ('0xfdb0', 0), ('0xfe00', 1), ('0xfdf0', 1), ('0xfe30', 1), ('0xfe20', 1), [(8, '0xfe40', 58), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 88), (40, '0xfdc0', 32), (48, '0xfda0', 28)])\n(59, 'CMP', '0xfe50', ('0xfdb0', 32), ('0xfe00', 0), ('0xfdf0', 3), ('0xfe30', 0), ('0xfe20', 3), [(8, '0xfe40', 59), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 60), (40, '0xfdc0', 32), (48, '0xfda0', 48)])\n(60, 'SELECT', '0xfe50', ('0xfdb0', 0), ('0xfe00', 0), ('0xfdf0', 0), ('0xfe30', 0), ('0xfe20', 0), [(8, '0xfe40', 60), (16, '0xfe10', 0), (24, '0xfde0', 0), (32, '0xfdd0', 61), (40, '0xfdc0', 32), (48, '0xfda0', 24)])\n(61, 'CMP', '0xfe50', ('0xfdb0', 32), ('0xfe00', 0), ('0xfdf0', 3), ('0xfe30', 0), ('0xfe20', 3), [(8, '0xfe40', 61), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 62), (40, '0xfdc0', 32), (48, '0xfda0', 54)])\n(62, 'SELECT', '0xfe50', ('0xfdb0', 0), ('0xfe00', 0), ('0xfdf0', 0), ('0xfe30', 0), ('0xfe20', 0), [(8, '0xfe40', 62), (16, '0xfe10', 0), (24, '0xfde0', 0), (32, '0xfdd0', 63), (40, '0xfdc0', 32), (48, '0xfda0', 57)])\n(63, 'MUL', '0xfe50', ('0xfdb0', 0), ('0xfe00', 2), ('0xfdf0', 0), ('0xfe30', 2), ('0xfe20', 0), [(8, '0xfe40', 63), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 64), (40, '0xfdc0', 32), (48, '0xfda0', 5)])\n(64, 'CMP', '0xfe50', ('0xfdb0', 34), ('0xfe00', 0), ('0xfdf0', 2), ('0xfe30', 0), ('0xfe20', 2), [(8, '0xfe40', 64), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 65), (40, '0xfdc0', 32), (48, '0xfda0', 55)])\n(65, 'CJMP', '0xfe50', ('0xfdb0', 0), ('0xfe00', 1), ('0xfdf0', 0), ('0xfe30', 4294967295), ('0xfe20', 0), [(8, '0xfe40', 65), (16, '0xfe10', 1), (24, '0xfde0', 75), (32, '0xfdd0', 78), (40, '0xfdc0', 1), (48, '0xfda0', 28)])\n(66, 'MOV14', '0xfe50', ('0xfdb0', 0), ('0xfe00', 1), ('0xfdf0', 0), ('0xfe30', 1), ('0xfe20', 0), [(8, '0xfe40', 66), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 67), (40, '0xfdc0', 32), (48, '0xfda0', 15)])\n(67, 'MOV14', '0xfe50', ('0xfdb0', 0), ('0xfe00', 1), ('0xfdf0', 0), ('0xfe30', 1), ('0xfe20', 0), [(8, '0xfe40', 67), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 68), (40, '0xfdc0', 32), (48, '0xfda0', 61)])\n(68, 'JMP', '0xfe50', ('0xfdb0', 0), ('0xfe00', 1), ('0xfdf0', 1), ('0xfe30', 1), ('0xfe20', 1), [(8, '0xfe40', 68), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 24), (40, '0xfdc0', 32), (48, '0xfda0', 28)])\n(69, 'JMP', '0xfe50', ('0xfdb0', 0), ('0xfe00', 1), ('0xfdf0', 1), ('0xfe30', 1), ('0xfe20', 1), [(8, '0xfe40', 69), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 36), (40, '0xfdc0', 32), (48, '0xfda0', 28)])\n(70, 'JMP', '0xfe50', ('0xfdb0', 0), ('0xfe00', 1), ('0xfdf0', 1), ('0xfe30', 1), ('0xfe20', 1), [(8, '0xfe40', 70), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 25), (40, '0xfdc0', 32), (48, '0xfda0', 28)])\n(71, 'JMP', '0xfe50', ('0xfdb0', 0), ('0xfe00', 1), ('0xfdf0', 1), ('0xfe30', 1), ('0xfe20', 1), [(8, '0xfe40', 71), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 59), (40, '0xfdc0', 32), (48, '0xfda0', 28)])\n(72, 'MOV14', '0xfe50', ('0xfdb0', 0), ('0xfe00', 1), ('0xfdf0', 0), ('0xfe30', 1), ('0xfe20', 0), [(8, '0xfe40', 72), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 73), (40, '0xfdc0', 32), (48, '0xfda0', 40)])\n(73, 'MOV14', '0xfe50', ('0xfdb0', 0), ('0xfe00', 1), ('0xfdf0', 0), ('0xfe30', 1), ('0xfe20', 0), [(8, '0xfe40', 73), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 74), (40, '0xfdc0', 32), (48, '0xfda0', 61)])\n(74, 'JMP', '0xfe50', ('0xfdb0', 0), ('0xfe00', 1), ('0xfdf0', 1), ('0xfe30', 1), ('0xfe20', 1), [(8, '0xfe40', 74), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 24), (40, '0xfdc0', 32), (48, '0xfda0', 28)])\n(75, 'MOV14', '0xfe50', ('0xfdb0', 0), ('0xfe00', 1), ('0xfdf0', 0), ('0xfe30', 1), ('0xfe20', 0), [(8, '0xfe40', 75), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 76), (40, '0xfdc0', 32), (48, '0xfda0', 58)])\n(76, 'MOV14', '0xfe50', ('0xfdb0', 0), ('0xfe00', 1), ('0xfdf0', 0), ('0xfe30', 1), ('0xfe20', 0), [(8, '0xfe40', 76), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 77), (40, '0xfdc0', 32), (48, '0xfda0', 4)])\n(77, 'JMP', '0xfe50', ('0xfdb0', 0), ('0xfe00', 1), ('0xfdf0', 1), ('0xfe30', 1), ('0xfe20', 1), [(8, '0xfe40', 77), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 41), (40, '0xfdc0', 32), (48, '0xfda0', 28)])\n(78, 'JMP', '0xfe50', ('0xfdb0', 0), ('0xfe00', 1), ('0xfdf0', 1), ('0xfe30', 1), ('0xfe20', 1), [(8, '0xfe40', 78), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 56), (40, '0xfdc0', 32), (48, '0xfda0', 28)])\n(79, 'MOV14', '0xfe50', ('0xfdb0', 0), ('0xfe00', 1), ('0xfdf0', 0), ('0xfe30', 1), ('0xfe20', 0), [(8, '0xfe40', 79), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 80), (40, '0xfdc0', 32), (48, '0xfda0', 1)])\n(80, 'MOV14', '0xfe50', ('0xfdb0', 0), ('0xfe00', 1), ('0xfdf0', 0), ('0xfe30', 1), ('0xfe20', 0), [(8, '0xfe40', 80), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 81), (40, '0xfdc0', 32), (48, '0xfda0', 61)])\n(81, 'JMP', '0xfe50', ('0xfdb0', 0), ('0xfe00', 1), ('0xfdf0', 1), ('0xfe30', 1), ('0xfe20', 1), [(8, '0xfe40', 81), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 24), (40, '0xfdc0', 32), (48, '0xfda0', 28)])\n(82, 'MOV14', '0xfe50', ('0xfdb0', 0), ('0xfe00', 1), ('0xfdf0', 0), ('0xfe30', 1), ('0xfe20', 0), [(8, '0xfe40', 82), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 83), (40, '0xfdc0', 32), (48, '0xfda0', 22)])\n(83, 'MOV14', '0xfe50', ('0xfdb0', 0), ('0xfe00', 1), ('0xfdf0', 0), ('0xfe30', 1), ('0xfe20', 0), [(8, '0xfe40', 83), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 84), (40, '0xfdc0', 32), (48, '0xfda0', 61)])\n(84, 'JMP', '0xfe50', ('0xfdb0', 0), ('0xfe00', 1), ('0xfdf0', 1), ('0xfe30', 1), ('0xfe20', 1), [(8, '0xfe40', 84), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 24), (40, '0xfdc0', 32), (48, '0xfda0', 28)])\n(85, 'MOV14', '0xfe50', ('0xfdb0', 0), ('0xfe00', 1), ('0xfdf0', 0), ('0xfe30', 1), ('0xfe20', 0), [(8, '0xfe40', 85), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 86), (40, '0xfdc0', 32), (48, '0xfda0', 66)])\n(86, 'MOV14', '0xfe50', ('0xfdb0', 0), ('0xfe00', 1), ('0xfdf0', 0), ('0xfe30', 1), ('0xfe20', 0), [(8, '0xfe40', 86), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 87), (40, '0xfdc0', 32), (48, '0xfda0', 61)])\n(87, 'JMP', '0xfe50', ('0xfdb0', 0), ('0xfe00', 1), ('0xfdf0', 1), ('0xfe30', 1), ('0xfe20', 1), [(8, '0xfe40', 87), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 24), (40, '0xfdc0', 32), (48, '0xfda0', 28)])\n(88, 'MOV14', '0xfe50', ('0xfdb0', 0), ('0xfe00', 1), ('0xfdf0', 0), ('0xfe30', 1), ('0xfe20', 0), [(8, '0xfe40', 88), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 89), (40, '0xfdc0', 32), (48, '0xfda0', 35)])\n(89, 'MOV14', '0xfe50', ('0xfdb0', 0), ('0xfe00', 1), ('0xfdf0', 0), ('0xfe30', 1), ('0xfe20', 0), [(8, '0xfe40', 89), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 90), (40, '0xfdc0', 32), (48, '0xfda0', 4)])\n(90, 'JMP', '0xfe50', ('0xfdb0', 0), ('0xfe00', 1), ('0xfdf0', 1), ('0xfe30', 1), ('0xfe20', 1), [(8, '0xfe40', 90), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 41), (40, '0xfdc0', 32), (48, '0xfda0', 28)])\n(91, 'JMP', '0xfe50', ('0xfdb0', 0), ('0xfe00', 1), ('0xfdf0', 1), ('0xfe30', 1), ('0xfe20', 1), [(8, '0xfe40', 91), (16, '0xfe10', 1), (24, '0xfde0', 0), (32, '0xfdd0', 53), (40, '0xfdc0', 32), (48, '0xfda0', 28)])\n", "stderr": ""}, "call": 34}
{"elapsed": 362.1507479159918, "request": {"name": "python", "arguments": {"code": "from unicorn import *\nfrom unicorn.arm64_const import *\nimport struct\nr=open('target.so','rb').read();B=0x100000;ST=0x800000;S=0x900000;mu=Uc(UC_ARCH_ARM64,UC_MODE_ARM);mu.mem_map(B,0x10000);mu.mem_write(B,r[:0x7200]);mu.mem_write(B+0xb200,r[0x7200:0x72f0]);mu.mem_map(ST,0x20000);mu.mem_map(S,0x1000)\nsem={0x5b30:'IMM',0x5b50:'MOV',0x5b70:'ADD',0x5b98:'SUB',0x5bc0:'MUL',0x5be8:'XOR',0x5c10:'AND',0x5c38:'OR',0x5c60:'SHL',0x5c8c:'LSR',0x5cb8:'ASR',0x5ce4:'UDIV',0x5d1c:'SDIV',0x5d80:'UREM',0x5dbc:'SREM',0x5e24:'CMP',0x5f80:'SEL',0x5fb4:'MOV',0x5fd4:'SEXT',0x6008:'JMP',0x6030:'CJMP',0x606c:'RET',0x5b0c:'BAD'}\ncur=[0];rec=[];started=[0]\ndef u32(a):return struct.unpack('<I',mu.mem_read(a,4))[0]\ndef u64(a):return struct.unpack('<Q',mu.mem_read(a,8))[0]\ndef W(reg):return mu.reg_read(reg)&0xffffffff\ndef hk(mu,a,s,u):\n p=a-B\n if p==0x6e74:mu.reg_write(UC_ARM64_REG_X0,0);mu.reg_write(UC_ARM64_REG_PC,mu.reg_read(UC_ARM64_REG_LR));return\n if p==0x551c and not started[0]:started[0]=1;fp=mu.reg_read(UC_ARM64_REG_X29);mu.mem_write(u64(fp-8),struct.pack('<I',cur[0]));return\n if p in sem:\n  fp=mu.reg_read(UC_ARM64_REG_X29)\n  vals=[u32(u64(fp-off)) for off in [8,0x10,0x18,0x20,0x28,0x30]]\n  rec.append((cur[0],sem[p],W(UC_ARM64_REG_X20),W(UC_ARM64_REG_X6),W(UC_ARM64_REG_X17),u32(mu.reg_read(UC_ARM64_REG_X0)),vals[2],vals[3],vals[5]))\n  cur[0]+=1\n  if cur[0]>=92:mu.emu_stop();return\n  mu.mem_write(u64(fp-8),struct.pack('<I',cur[0]));mu.mem_write(mu.reg_read(UC_ARM64_REG_X4),struct.pack('<I',0xe4a7252e));mu.reg_write(UC_ARM64_REG_PC,B+0x551c)\nmu.hook_add(UC_HOOK_CODE,hk);mu.reg_write(UC_ARM64_REG_SP,ST+0x10000);mu.reg_write(UC_ARM64_REG_LR,S)\nfor q,v in zip([UC_ARM64_REG_X0,UC_ARM64_REG_X1,UC_ARM64_REG_X2,UC_ARM64_REG_X3],[1,2,3,4]):mu.reg_write(q,v)\nmu.emu_start(B+0x456c,S,count=2000000)\nprint('pc op a b c imm false next dest')\nfor x in rec:print(*x)\n"}}, "call": 35}
{"elapsed": 362.2848507909803, "response": {"returncode": 0, "timed_out": false, "memory_exceeded": false, "stdout": "pc op a b c imm false next dest\n0 IMM 3825782282 2944648134 1267404236 4294967195 0 1 8\n1 IMM 3825782282 2944648134 1267404236 4294967196 0 2 46\n2 IMM 3825782282 2944648134 1267404236 2 0 3 3\n3 IMM 3825782282 2944648134 1267404236 2600820847 0 4 20\n4 IMM 3825782282 2944648134 1267404236 16 0 5 27\n5 IMM 3825782282 2944648134 1267404236 2146121005 0 6 21\n6 IMM 3825782282 2944648134 1267404236 15 0 7 18\n7 IMM 3825782282 2944648134 1267404236 2221713035 0 8 42\n8 IMM 3825782282 2944648134 1267404236 1 0 9 60\n9 IMM 3825782282 2944648134 1267404236 249 0 10 39\n10 IMM 3825782282 2944648134 1267404236 399 0 11 50\n11 IMM 3825782282 2944648134 1267404236 0 0 12 36\n12 IMM 3825782282 2944648134 1267404236 129 0 13 0\n13 IMM 3825782282 2944648134 1267404236 9 0 14 41\n14 IMM 3825782282 2944648134 1267404236 85 0 15 10\n15 IMM 3825782282 2944648134 1267404236 100 0 16 17\n16 IMM 3825782282 2944648134 1267404236 1904786857 0 17 9\n17 IMM 3825782282 2944648134 1267404236 7 0 18 67\n18 IMM 3825782282 2944648134 1267404236 3 0 19 11\n19 IMM 3825782282 2944648134 1267404236 95 0 20 56\n20 IMM 3825782282 2944648134 1267404236 2147483649 0 21 37\n21 IMM 3825782282 2944648134 1267404236 2147483650 0 22 26\n22 IMM 3825782282 2944648134 1267404236 2147483651 0 23 2\n23 JMP 3825782282 2944648134 1267404236 0 0 38 28\n24 RET 3825782282 2944648134 1267404236 0 0 25 28\n25 XOR 3825782282 3523039790 1267404236 0 0 26 64\n26 LSR 3825782282 1825608093 1267404236 0 0 27 65\n27 XOR 3825782282 1218659146 1267404236 0 0 28 14\n28 MUL 3825782282 480281683 1267404236 0 0 29 19\n29 LSR 3825782282 1419309488 1267404236 0 0 30 16\n30 XOR 3825782282 2538218469 1267404236 0 0 31 7\n31 MUL 3825782282 358111928 1267404236 0 0 32 43\n32 LSR 3825782282 1825608093 1267404236 0 0 33 52\n33 XOR 3825782282 1342934253 1267404236 0 0 34 23\n34 CMP 3825782282 2584045769 1267404236 32 0 35 59\n35 CJMP 3825782282 2944648134 1267404236 0 79 71 28\n36 CMP 3825782282 2886780053 1267404236 34 0 37 47\n37 CJMP 3825782282 2944648134 1267404236 0 70 85 28\n38 ADD 3825782282 4053647266 1267404236 0 0 39 38\n39 CMP 3825782282 403932044 1267404236 36 0 40 33\n40 CJMP 3825782282 2944648134 1267404236 0 69 72 28\n41 ADD 3825782282 1010880983 1267404236 0 0 42 30\n42 LSR 3825782282 1825608093 1267404236 0 0 43 62\n43 XOR 3825782282 888710204 1267404236 0 0 44 6\n44 MUL 3825782282 480281683 1267404236 0 0 45 68\n45 LSR 3825782282 1419309488 1267404236 0 0 46 29\n46 XOR 3825782282 1400801310 1267404236 0 0 47 53\n47 MUL 3825782282 358111928 1267404236 0 0 48 12\n48 LSR 3825782282 1825608093 1267404236 0 0 49 34\n49 XOR 3825782282 3295208566 1267404236 0 0 50 63\n50 AND 3825782282 281762261 1267404236 0 0 51 45\n51 CMP 3825782282 3114644045 1267404236 32 0 52 32\n52 CJMP 3825782282 2944648134 1267404236 0 66 91 28\n53 MUL 3825782282 1931400594 1267404236 0 0 54 69\n54 UDIV 3825782282 164978575 1267404236 0 0 55 49\n55 JMP 3825782282 2944648134 1267404236 0 0 82 28\n56 MUL 3825782282 2129788952 1267404236 0 0 57 25\n57 UDIV 3825782282 164978575 1267404236 0 0 58 31\n58 JMP 3825782282 2944648134 1267404236 0 0 88 28\n59 CMP 3825782282 1172839014 1267404236 32 0 60 48\n60 SEL 3825782282 1295008793 115738202 0 0 61 24\n61 CMP 3825782282 2234036606 1267404236 32 0 62 54\n62 SEL 3825782282 3825782282 1086346488 0 0 63 57\n63 MUL 3825782282 2461875990 1267404236 0 0 64 5\n64 CMP 3825782282 3398772855 1267404236 34 0 65 55\n65 CJMP 3825782282 2944648134 1267404236 0 75 78 28\n66 MOV 3825782282 2944648134 1267404236 0 0 67 15\n67 MOV 3825782282 2944648134 1267404236 0 0 68 61\n68 JMP 3825782282 2944648134 1267404236 0 0 24 28\n69 JMP 3825782282 2944648134 1267404236 0 0 36 28\n70 JMP 3825782282 2944648134 1267404236 0 0 25 28\n71 JMP 3825782282 2944648134 1267404236 0 0 59 28\n72 MOV 3825782282 2944648134 1267404236 0 0 73 40\n73 MOV 3825782282 2944648134 1267404236 0 0 74 61\n74 JMP 3825782282 2944648134 1267404236 0 0 24 28\n75 MOV 3825782282 2944648134 1267404236 0 0 76 58\n76 MOV 3825782282 2944648134 1267404236 0 0 77 4\n77 JMP 3825782282 2944648134 1267404236 0 0 41 28\n78 JMP 3825782282 2944648134 1267404236 0 0 56 28\n79 MOV 3825782282 2944648134 1267404236 0 0 80 1\n80 MOV 3825782282 2944648134 1267404236 0 0 81 61\n81 JMP 3825782282 2944648134 1267404236 0 0 24 28\n82 MOV 3825782282 2944648134 1267404236 0 0 83 22\n83 MOV 3825782282 2944648134 1267404236 0 0 84 61\n84 JMP 3825782282 2944648134 1267404236 0 0 24 28\n85 MOV 3825782282 2944648134 1267404236 0 0 86 66\n86 MOV 3825782282 2944648134 1267404236 0 0 87 61\n87 JMP 3825782282 2944648134 1267404236 0 0 24 28\n88 MOV 3825782282 2944648134 1267404236 0 0 89 35\n89 MOV 3825782282 2944648134 1267404236 0 0 90 4\n90 JMP 3825782282 2944648134 1267404236 0 0 41 28\n91 JMP 3825782282 2944648134 1267404236 0 0 53 28\n", "stderr": ""}, "call": 35}
{"elapsed": 376.7095619159809, "request": {"name": "python", "arguments": {"code": "from unicorn import *\nfrom unicorn.arm64_const import *\nimport struct\nr=open('target.so','rb').read();B=0x100000;ST=0x800000;S=0x900000;mu=Uc(UC_ARCH_ARM64,UC_MODE_ARM);mu.mem_map(B,0x10000);mu.mem_write(B,r[:0x7200]);mu.mem_write(B+0xb200,r[0x7200:0x72f0]);mu.mem_map(ST,0x20000);mu.mem_map(S,0x1000)\nsem={0x5b30:'IMM',0x5b50:'MOV',0x5b70:'ADD',0x5b98:'SUB',0x5bc0:'MUL',0x5be8:'XOR',0x5c10:'AND',0x5c38:'OR',0x5c60:'SHL',0x5c8c:'LSR',0x5cb8:'ASR',0x5ce4:'UDIV',0x5d1c:'SDIV',0x5d80:'UREM',0x5dbc:'SREM',0x5e24:'CMP',0x5f80:'SEL',0x5fb4:'MOV',0x5fd4:'SEXT',0x6008:'JMP',0x6030:'CJMP',0x606c:'RET',0x5b0c:'BAD'}\ncur=[0];rec=[];started=[0];abc=[None,None,None]\ndef u32(a):return struct.unpack('<I',mu.mem_read(a,4))[0]\ndef u64(a):return struct.unpack('<Q',mu.mem_read(a,8))[0]\ndef hk(mu,a,s,u):\n p=a-B\n if p==0x6e74:mu.reg_write(UC_ARM64_REG_X0,0);mu.reg_write(UC_ARM64_REG_PC,mu.reg_read(UC_ARM64_REG_LR));return\n if p==0x551c and not started[0]:started[0]=1;fp=mu.reg_read(UC_ARM64_REG_X29);mu.mem_write(u64(fp-8),struct.pack('<I',cur[0]));return\n if p==0x56f8:abc[0]=mu.reg_read(UC_ARM64_REG_X20)&0xffffffff\n if p==0x577c:abc[1]=mu.reg_read(UC_ARM64_REG_X6)&0xffffffff\n if p==0x57e4:abc[2]=mu.reg_read(UC_ARM64_REG_X17)&0xffffffff\n if p in sem:\n  fp=mu.reg_read(UC_ARM64_REG_X29); vals=[u32(u64(fp-off)) for off in [8,0x10,0x18,0x20,0x28,0x30]]\n  imm=u32(mu.reg_read(UC_ARM64_REG_X0));rec.append((cur[0],sem[p],*abc,imm,vals[2],vals[3],vals[5]));abc[:]=[None,None,None];cur[0]+=1\n  if cur[0]>=92:mu.emu_stop();return\n  mu.mem_write(u64(fp-8),struct.pack('<I',cur[0]));mu.mem_write(mu.reg_read(UC_ARM64_REG_X4),struct.pack('<I',0xe4a7252e));mu.reg_write(UC_ARM64_REG_PC,B+0x551c)\nmu.hook_add(UC_HOOK_CODE,hk);mu.reg_write(UC_ARM64_REG_SP,ST+0x10000);mu.reg_write(UC_ARM64_REG_LR,S)\nfor q,v in zip([UC_ARM64_REG_X0,UC_ARM64_REG_X1,UC_ARM64_REG_X2,UC_ARM64_REG_X3],[1,2,3,4]):mu.reg_write(q,v)\nmu.emu_start(B+0x456c,S,count=2000000)\nfor x in rec:print(x)\n"}}, "call": 36}
{"elapsed": 376.84080737500335, "response": {"returncode": 0, "timed_out": false, "memory_exceeded": false, "stdout": "(0, 'IMM', 28, 28, 28, 4294967195, 0, 1, 8)\n(1, 'IMM', 28, 28, 28, 4294967196, 0, 2, 46)\n(2, 'IMM', 28, 28, 28, 2, 0, 3, 3)\n(3, 'IMM', 28, 28, 28, 2600820847, 0, 4, 20)\n(4, 'IMM', 28, 28, 28, 16, 0, 5, 27)\n(5, 'IMM', 28, 28, 28, 2146121005, 0, 6, 21)\n(6, 'IMM', 28, 28, 28, 15, 0, 7, 18)\n(7, 'IMM', 28, 28, 28, 2221713035, 0, 8, 42)\n(8, 'IMM', 28, 28, 28, 1, 0, 9, 60)\n(9, 'IMM', 28, 28, 28, 249, 0, 10, 39)\n(10, 'IMM', 28, 28, 28, 399, 0, 11, 50)\n(11, 'IMM', 28, 28, 28, 0, 0, 12, 36)\n(12, 'IMM', 28, 28, 28, 129, 0, 13, 0)\n(13, 'IMM', 28, 28, 28, 9, 0, 14, 41)\n(14, 'IMM', 28, 28, 28, 85, 0, 15, 10)\n(15, 'IMM', 28, 28, 28, 100, 0, 16, 17)\n(16, 'IMM', 28, 28, 28, 1904786857, 0, 17, 9)\n(17, 'IMM', 28, 28, 28, 7, 0, 18, 67)\n(18, 'IMM', 28, 28, 28, 3, 0, 19, 11)\n(19, 'IMM', 28, 28, 28, 95, 0, 20, 56)\n(20, 'IMM', 28, 28, 28, 2147483649, 0, 21, 37)\n(21, 'IMM', 28, 28, 28, 2147483650, 0, 22, 26)\n(22, 'IMM', 28, 28, 28, 2147483651, 0, 23, 2)\n(23, 'JMP', 28, 28, 28, 0, 0, 38, 28)\n(24, 'RET', 61, 28, 28, 0, 0, 25, 28)\n(25, 'XOR', 28, 20, 28, 0, 0, 26, 64)\n(26, 'LSR', 64, 27, 28, 0, 0, 27, 65)\n(27, 'XOR', 65, 64, 28, 0, 0, 28, 14)\n(28, 'MUL', 14, 21, 28, 0, 0, 29, 19)\n(29, 'LSR', 19, 18, 28, 0, 0, 30, 16)\n(30, 'XOR', 16, 19, 28, 0, 0, 31, 7)\n(31, 'MUL', 7, 42, 28, 0, 0, 32, 43)\n(32, 'LSR', 43, 27, 28, 0, 0, 33, 52)\n(33, 'XOR', 52, 43, 28, 0, 0, 34, 23)\n(34, 'CMP', 13, 23, 28, 32, 0, 35, 59)\n(35, 'CJMP', 59, 28, 28, 0, 79, 71, 28)\n(36, 'CMP', 51, 3, 28, 34, 0, 37, 47)\n(37, 'CJMP', 47, 28, 28, 0, 70, 85, 28)\n(38, 'ADD', 44, 8, 28, 0, 0, 39, 38)\n(39, 'CMP', 38, 46, 28, 36, 0, 40, 33)\n(40, 'CJMP', 33, 28, 28, 0, 69, 72, 28)\n(41, 'ADD', 28, 9, 28, 0, 0, 42, 30)\n(42, 'LSR', 30, 27, 28, 0, 0, 43, 62)\n(43, 'XOR', 62, 30, 28, 0, 0, 44, 6)\n(44, 'MUL', 6, 21, 28, 0, 0, 45, 68)\n(45, 'LSR', 68, 18, 28, 0, 0, 46, 29)\n(46, 'XOR', 29, 68, 28, 0, 0, 47, 53)\n(47, 'MUL', 53, 42, 28, 0, 0, 48, 12)\n(48, 'LSR', 12, 27, 28, 0, 0, 49, 34)\n(49, 'XOR', 34, 12, 28, 0, 0, 50, 63)\n(50, 'AND', 63, 67, 28, 0, 0, 51, 45)\n(51, 'CMP', 45, 11, 28, 32, 0, 52, 32)\n(52, 'CJMP', 32, 28, 28, 0, 66, 91, 28)\n(53, 'MUL', 4, 56, 28, 0, 0, 54, 69)\n(54, 'UDIV', 69, 17, 28, 0, 0, 55, 49)\n(55, 'JMP', 28, 28, 28, 0, 0, 82, 28)\n(56, 'MUL', 5, 10, 28, 0, 0, 57, 25)\n(57, 'UDIV', 25, 17, 28, 0, 0, 58, 31)\n(58, 'JMP', 28, 28, 28, 0, 0, 88, 28)\n(59, 'CMP', 51, 60, 28, 32, 0, 60, 48)\n(60, 'SEL', 48, 39, 50, 0, 0, 61, 24)\n(61, 'CMP', 51, 36, 28, 32, 0, 62, 54)\n(62, 'SEL', 54, 0, 24, 0, 0, 63, 57)\n(63, 'MUL', 57, 44, 28, 0, 0, 64, 5)\n(64, 'CMP', 44, 41, 28, 34, 0, 65, 55)\n(65, 'CJMP', 55, 28, 28, 0, 75, 78, 28)\n(66, 'MOV', 4, 28, 28, 0, 0, 67, 15)\n(67, 'MOV', 15, 28, 28, 0, 0, 68, 61)\n(68, 'JMP', 28, 28, 28, 0, 0, 24, 28)\n(69, 'JMP', 28, 28, 28, 0, 0, 36, 28)\n(70, 'JMP', 28, 28, 28, 0, 0, 25, 28)\n(71, 'JMP', 28, 28, 28, 0, 0, 59, 28)\n(72, 'MOV', 37, 28, 28, 0, 0, 73, 40)\n(73, 'MOV', 40, 28, 28, 0, 0, 74, 61)\n(74, 'JMP', 28, 28, 28, 0, 0, 24, 28)\n(75, 'MOV', 5, 28, 28, 0, 0, 76, 58)\n(76, 'MOV', 58, 28, 28, 0, 0, 77, 4)\n(77, 'JMP', 28, 28, 28, 0, 0, 41, 28)\n(78, 'JMP', 28, 28, 28, 0, 0, 56, 28)\n(79, 'MOV', 2, 28, 28, 0, 0, 80, 1)\n(80, 'MOV', 1, 28, 28, 0, 0, 81, 61)\n(81, 'JMP', 28, 28, 28, 0, 0, 24, 28)\n(82, 'MOV', 49, 28, 28, 0, 0, 83, 22)\n(83, 'MOV', 22, 28, 28, 0, 0, 84, 61)\n(84, 'JMP', 28, 28, 28, 0, 0, 24, 28)\n(85, 'MOV', 26, 28, 28, 0, 0, 86, 66)\n(86, 'MOV', 66, 28, 28, 0, 0, 87, 61)\n(87, 'JMP', 28, 28, 28, 0, 0, 24, 28)\n(88, 'MOV', 31, 28, 28, 0, 0, 89, 35)\n(89, 'MOV', 35, 28, 28, 0, 0, 90, 4)\n(90, 'JMP', 28, 28, 28, 0, 0, 41, 28)\n(91, 'JMP', 28, 28, 28, 0, 0, 53, 28)\n", "stderr": ""}, "call": 36}
{"elapsed": 407.30831645798753, "request": {"name": "python", "arguments": {"code": "for x in [2600820847,2146121005,2221713035,1904786857]:print(x,hex(x))\n# Build emulator and test valid cases against derived formula\nfrom unicorn import *\nfrom unicorn.arm64_const import *\nimport struct,random\nraw=open('target.so','rb').read();B=0x100000;ST=0x800000;S=0x900000\nmu=Uc(UC_ARCH_ARM64,UC_MODE_ARM);mu.mem_map(B,0x10000);mu.mem_write(B,raw[:0x7200]);mu.mem_write(B+0xb200,raw[0x7200:0x72f0]);mu.mem_map(ST,0x20000);mu.mem_map(S,0x1000)\ndef hk(mu,a,s,u):\n if a==B+0x6e74:mu.reg_write(UC_ARM64_REG_X0,0);mu.reg_write(UC_ARM64_REG_PC,mu.reg_read(UC_ARM64_REG_LR))\n elif a==S:mu.emu_stop()\nmu.hook_add(UC_HOOK_CODE,hk);regs=[UC_ARM64_REG_X0,UC_ARM64_REG_X1,UC_ARM64_REG_X2,UC_ARM64_REG_X3]\ndef run(v):\n mu.reg_write(UC_ARM64_REG_SP,ST+0x10000);mu.reg_write(UC_ARM64_REG_LR,S)\n for r,x in zip(regs,v):mu.reg_write(r,x)\n mu.emu_start(B+0x456c,S,count=200000);return mu.reg_read(UC_ARM64_REG_X0)&0xffffffff\ndef mix(x):\n x&=0xffffffff;x^=x>>16;x=(x*0x7feb352d)&0xffffffff;x^=x>>15;x=(x*0x846ca68b)&0xffffffff;x^=x>>16;return x\ndef f(a,b,c,d):\n if not (1<=b<=100):return 0x80000001\n if c>2:return 0x80000002\n if d!=mix(a^0x9b039baf):return 0x80000003\n v=[129,249,399][c]*b&0xffffffff\n if b>9:v=((v*85)&0xffffffff)//100\n if (mix((a+0x7189ede9)&0xffffffff)&7)==3:v=((v*95)&0xffffffff)//100\n return v\nfor i in range(30):\n a=random.randrange(2**32);b=random.choice([0,1,9,10,11,100,101,2**32-1]);c=random.choice([0,1,2,3,2**32-1]);d=mix(a^0x9b039baf)\n v=(a,b,c,d);x=run(v);y=f(*v);print(v,hex(x),hex(y),x==y)\n"}}, "call": 37}
{"elapsed": 407.547790874989, "response": {"returncode": 0, "timed_out": false, "memory_exceeded": false, "stdout": "2600820847 0x9b05606f\n2146121005 0x7feb352d\n2221713035 0x846ca68b\n1904786857 0x7188bda9\n(3843081709, 100, 1, 684877693) 0x80000003 0x52ad False\n(1679882093, 1, 3, 3015125437) 0x80000002 0x80000002 True\n(1131960864, 101, 3, 632513965) 0x80000001 0x80000001 True\n(3248164414, 4294967295, 4294967295, 4000490845) 0x80000001 0x80000001 True\n(2232996990, 10, 4294967295, 3011044170) 0x80000002 0x80000002 True\n(4076214398, 100, 1, 2590988854) 0x80000003 0x52ad False\n(3025641876, 1, 0, 495581303) 0x80000003 0x81 False\n(3944630480, 100, 0, 1867623485) 0x80000003 0x2ad5 False\n(1599843958, 1, 3, 3207681644) 0x80000002 0x80000002 True\n(4057371526, 9, 2, 1135470586) 0x80000003 0xe07 False\n(60875259, 0, 0, 3011293647) 0x80000001 0x80000001 True\n(2097218903, 101, 4294967295, 1090635009) 0x80000001 0x80000001 True\n(3879044232, 9, 1, 3299211433) 0x80000003 0x8c1 False\n(3480932990, 0, 2, 882550395) 0x80000001 0x80000001 True\n(70793381, 9, 1, 1233142840) 0x80000003 0x8c1 False\n(3052968365, 4294967295, 2, 3425600147) 0x80000001 0x80000001 True\n(1241647553, 4294967295, 3, 3883020158) 0x80000001 0x80000001 True\n(225454100, 101, 3, 488980237) 0x80000001 0x80000001 True\n(3205963326, 9, 0, 1874937403) 0x80000003 0x489 False\n(2957787789, 11, 0, 4266896738) 0x80000003 0x4b6 False\n(2780747459, 4294967295, 2, 3163032096) 0x80000001 0x80000001 True\n(2577061578, 1, 1, 768020071) 0x80000003 0xec False\n(3261442637, 10, 3, 1043287286) 0x80000002 0x80000002 True\n(3332101702, 4294967295, 0, 2031991792) 0x80000001 0x80000001 True\n(3585364835, 10, 2, 987116485) 0x80000003 0xd3f False\n(3693187550, 9, 0, 1419153952) 0x80000003 0x489 False\n(3823282318, 10, 0, 3737356741) 0x80000003 0x411 False\n(3538647387, 100, 0, 640717595) 0x80000003 0x2ad5 False\n(3035403343, 0, 4294967295, 2210242411) 0x80000001 0x80000001 True\n(3218066204, 101, 1, 4279161810) 0x80000001 0x80000001 True\n", "stderr": ""}, "call": 37}
{"elapsed": 413.92445312498603, "request": {"name": "python", "arguments": {"code": "from unicorn import *\nfrom unicorn.arm64_const import *\nimport struct,random\nraw=open('target.so','rb').read();B=0x100000;ST=0x800000;S=0x900000;mu=Uc(UC_ARCH_ARM64,UC_MODE_ARM);mu.mem_map(B,0x10000);mu.mem_write(B,raw[:0x7200]);mu.mem_write(B+0xb200,raw[0x7200:0x72f0]);mu.mem_map(ST,0x20000);mu.mem_map(S,0x1000)\ndef hk(mu,a,s,u):\n if a==B+0x6e74:mu.reg_write(UC_ARM64_REG_X0,0);mu.reg_write(UC_ARM64_REG_PC,mu.reg_read(UC_ARM64_REG_LR))\n elif a==S:mu.emu_stop()\nmu.hook_add(UC_HOOK_CODE,hk);R=[UC_ARM64_REG_X0,UC_ARM64_REG_X1,UC_ARM64_REG_X2,UC_ARM64_REG_X3]\ndef run(v):\n mu.reg_write(UC_ARM64_REG_SP,ST+0x10000);mu.reg_write(UC_ARM64_REG_LR,S)\n for r,x in zip(R,v):mu.reg_write(r,x)\n mu.emu_start(B+0x456c,S,count=200000);return mu.reg_read(UC_ARM64_REG_X0)&0xffffffff\ndef mix(x):\n x&=0xffffffff;x^=x>>16;x=x*0x7feb352d&0xffffffff;x^=x>>15;x=x*0x846ca68b&0xffffffff;x^=x>>16;return x\ndef f(a,b,c,d):\n if b<1 or b>100:return 0x80000001\n if c>2:return 0x80000002\n if d!=mix(a^0x9b05606f):return 0x80000003\n v=([129,249,399][c]*b)&0xffffffff\n if b>9:v=((v*85)&0xffffffff)//100\n if mix((a+0x7188bda9)&0xffffffff)&7==3:v=((v*95)&0xffffffff)//100\n return v\nfor i in range(40):\n a=random.randrange(2**32);b=random.choice([0,1,9,10,11,100,101,0xffffffff]);c=random.choice([0,1,2,3,0xffffffff]);d=mix(a^0x9b05606f)\n if i%4==0:d^=1\n v=(a,b,c,d);x=run(v);y=f(*v)\n if x!=y:print('BAD',v,hex(x),hex(y))\nprint('done')\n"}}, "call": 38}
{"elapsed": 414.2734150829783, "response": {"returncode": 0, "timed_out": false, "memory_exceeded": false, "stdout": "done\n", "stderr": ""}, "call": 38}
{"elapsed": 425.1956522910041, "request": {"name": "submit", "arguments": {"source": "#include <stdint.h>\n\nstatic uint32_t mix32(uint32_t x)\n{\n    x ^= x >> 16;\n    x *= UINT32_C(0x7feb352d);\n    x ^= x >> 15;\n    x *= UINT32_C(0x846ca68b);\n    x ^= x >> 16;\n    return x;\n}\n\nuint32_t recovered(uint32_t a, uint32_t b, uint32_t c, uint32_t d)\n{\n    uint32_t value;\n\n    if (b < 1 || b > 100)\n        return UINT32_C(0x80000001);\n    if (c > 2)\n        return UINT32_C(0x80000002);\n    if (d != mix32(a ^ UINT32_C(0x9b05606f)))\n        return UINT32_C(0x80000003);\n\n    if (c == 0)\n        value = 129 * b;\n    else if (c == 1)\n        value = 249 * b;\n    else\n        value = 399 * b;\n\n    if (b > 9)\n        value = (value * 85) / 100;\n\n    if ((mix32(a + UINT32_C(0x7188bda9)) & 7) == 3)\n        value = (value * 95) / 100;\n\n    return value;\n}\n"}}, "call": 39}
{"elapsed": 425.1960312500014, "response": {"submitted": true, "sha256": "40e82c1c891dec2cafede4a45208160197d5f6cf10f37c606757c49199b0eeeb"}, "call": 39}
{"elapsed": 436.33803129100124, "request": {"name": "python", "arguments": {"code": "from unicorn import *\nfrom unicorn.arm64_const import *\nimport struct,random\nraw=open('target.so','rb').read();B=0x100000;ST=0x800000;S=0x900000\nmu=Uc(UC_ARCH_ARM64,UC_MODE_ARM);mu.mem_map(B,0x10000);mu.mem_write(B,raw[:0x7200]);mu.mem_write(B+0xb200,raw[0x7200:0x72f0]);mu.mem_map(ST,0x20000);mu.mem_map(S,0x1000)\ndef hook(mu,a,s,u):\n if a==B+0x6e74: mu.reg_write(UC_ARM64_REG_X0,0);mu.reg_write(UC_ARM64_REG_PC,mu.reg_read(UC_ARM64_REG_LR))\n elif a==S: mu.emu_stop()\nmu.hook_add(UC_HOOK_CODE,hook); regs=[UC_ARM64_REG_X0,UC_ARM64_REG_X1,UC_ARM64_REG_X2,UC_ARM64_REG_X3]\ndef target(v):\n mu.reg_write(UC_ARM64_REG_SP,ST+0x10000);mu.reg_write(UC_ARM64_REG_LR,S)\n for r,x in zip(regs,v):mu.reg_write(r,x)\n mu.emu_start(B+0x456c,S,count=200000);return mu.reg_read(UC_ARM64_REG_X0)&0xffffffff\ndef mix(x):\n x&=0xffffffff;x^=x>>16;x=x*0x7feb352d&0xffffffff;x^=x>>15;x=x*0x846ca68b&0xffffffff;x^=x>>16;return x\ndef recovered(a,b,c,d):\n if b<1 or b>100:return 0x80000001\n if c>2:return 0x80000002\n if d!=mix(a^0x9b05606f):return 0x80000003\n q=(129,249,399)[c]*b\n if b>9:q=q*85//100\n if mix((a+0x7188bda9)&0xffffffff)&7==3:q=q*95//100\n return q\nrandom.seed(0x8674d65e)\nfor i in range(500):\n a=random.getrandbits(32);b=random.choice([0,1,2,9,10,11,99,100,101,random.getrandbits(32)]);c=random.choice([0,1,2,3,random.getrandbits(32)]);d=mix(a^0x9b05606f)\n if i%3==0:d=random.getrandbits(32)\n v=(a,b,c,d);x=target(v);y=recovered(*v)\n if x!=y:print('MISMATCH',v,hex(x),hex(y));break\nelse:print('500/500 differential cases matched')\n"}}, "call": 40}
{"elapsed": 439.6266532499867, "response": {"returncode": 0, "timed_out": false, "memory_exceeded": false, "stdout": "500/500 differential cases matched\n", "stderr": ""}, "call": 40}
