Repository navigation
v2.3.0
156 tools and 15 prompts, as in 2.2.0: everything new is a parameter, a view or a kind of an existing tool. No breaking
changes; engine output stored by 2.2.0 is computed again once (the cache layout changed).
- Evidence as input.
compare_assemblies,compare_native_images,compare_foldersanddiff_functiontake
oldResult/newResult(a kept result,last:Nor a bundle entry) and compare them without running anything;
read_result format=verifytakes one bundle entry andagainst=. What a side does not show isunknown, never
removed, added or equal: a page of a longer result, a result that is not complete, or a facet either side lacks. - Completeness per facet. Function results name
pseudocode,callers,callees,xrefs,stringsandcfgas
available or unavailable (with the reason) in the provenance and incoverage.facets; a record that says it stopped
early (truncated,cut,incomplete,partial) has coveragepartial. - Engine databases.
docs/engine-databases.mdstates the contract (identity, reuse across sessions and command-line
calls, invalidation, the user's own databases) with measured cold and warm times.load_assemblyopens a Ghidra
project (.gpr,program=) from a copy, leaving the original untouched. Import overrides (processor, language,
compiler spec, seeds, disabled analyzers) apply before the first analysis in both engines. - Engine edits.
declare_native_typesinserts fields with the later ones moved down, resizes a struct and names its
gaps;set_native_local inferStruct=(Ghidra) declares a struct from a pointer's loads and stores and types the local,
storage=moves an argument to a register (IDA__usercall, Ghidra custom storage);define_native kind=flow
(Ghidra) sets or clears a flow override and repairs the function.set_native_stack_varandset_native_operand
takeitems=batches, andget_native_framereads several functions in one request. Stack edits carry their offset
from the return address, so a member made in IDA lands in the same slot in Ghidra. Ghidra refuses a calling
convention its compiler spec lacks and names the ones it has. - Engine output cache. Renaming a local or a stack member makes only that function's stored answers stale.
- Emulation.
emulate_native candidates=runs many argument sets on one emulator in one request. - Debug info.
load_pdbreads DWARF 2–5 for ELF and Mach-O (the image's sections,.build-idand.gnu_debuglink
files, dSYM bundles, debuginfod on request) into names, types, prototypes with parameter names, source lines and
inlined frames, pushed into IDA and Ghidra. - WebAssembly. A
.wasmfile loads as a native image: WAT byte-equal towasm2wat, a lifted view, calls, xrefs,
CFG and strings;summarize_file view=wasmvalidates in-process (verdicts equal towasm-validate) and joins the
imports to their JS glue;compare_native_imagescompares two builds' interfaces and function bodies. - Network.
search_container kind=packetfilters pcap / pcapng captures with Wireshark display filters, no TShark
needed (HTTP/2, QUIC Initial server names, SMB2, NTLMSSP and Kerberos names too; other fields through TShark).
kind=endpointlists the endpoints an APK, .NET or Mach-O app's code names (Retrofit, OkHttp, Ktor, HttpClient,
Refit, gRPC) and joins them with a capture.summarize_file view=protobufrebuilds embedded descriptors as.proto. - Formats and managed code.
get_il source=true(Portable PDB sequence points, local names, SourceLink),
get_attributestyped arguments and[Flags]members, FieldRVA data inget_type_info, Il2Cpp metadata without the
binary, obfuscator identification with evidence,view=sqlitepaging and recovery, streamed reads of files over
64 MiB, Win32 resource details,search_bytesnibble and bit masks, R8 / ProGuard mappings for DEX, Flutter string
pools, an Objective-C header export and Android screen and bugreport views.