These 12 commits are when the Protocol Buffers files have changed:
| Commit: | 0ebcb7f | |
|---|---|---|
| Author: | Riccardo Mori | |
| Committer: | Riccardo Mori | |
Add type-to-type cross-references Export struct/union member types, pointer targets, array elements, and typedef targets as DATA_READ refs in IDA, Ghidra, and Python. Includes 17 tests using many_types_cpp dataset.
| Commit: | 9bcf78b | |
|---|---|---|
| Author: | Riccardo Mori | |
| Committer: | Riccardo Mori | |
Add is_new flag to Type for IDA apply support
| Commit: | b9966f3 | |
|---|---|---|
| Author: | Riccardo Mori | |
Add typedef in proto
| Commit: | 37f4b54 | |
|---|---|---|
| Author: | Riccardo Mori | |
| Committer: | Riccardo Mori | |
Rename protobuf field to avoid name clash. Won't cause any issue
| Commit: | 024fd7e | |
|---|---|---|
| Author: | Riccardo Mori | |
| Committer: | Riccardo Mori | |
Add is_exported flag to functions
| Commit: | 67b96a5 | |
|---|---|---|
| Author: | Riccardo Mori | |
| Committer: | GitHub | |
First v1 draft (#92) * Change protobuf definitions, bootstrap v1 * Add section on exporting modes on README * Fix typo in README * Minor fix on README * Export the data types (composite + enum) * Remove the shared_ptr and instead use RefCounter. Also add Enums to the types * Refactor code to use {shared,weak}_ptr instead of raw pointers * Remove leftover * Split logic between Data and DataType * Add missing functions on DataType * Add the instruction index in the instruction identifier * Remove useless include * Code reformatting. NFC * Format code. NFC * Use string_view for statically allocated strings * Format code. NFC * Account for self contained mode * Clean code. NFC * Adjust cmake * Update gitignore * Change Cmake * Update Version.h to C++20 * Some changes in the protobuf. Add orphaned blocks * WIP implementation of the ida plugin * Fix wrong assert * Fix function exporting and increase debug * Fix imported functions range * Fix Cmake for ida sdk >=9.2 * Better logs * Split CommonSortableBucket.Freeze() into Sort()/Freeze() * Function should not inherit from ProtoHelper * Write Functions in protobuf * Handle function -> segment ref counting * Postpone writing the functions We need to wait for the segments to be written before being able to write functions * refactor CallingConvention export info * remove Compiler from export * set backend to be an enum * Use protobuf enum for PositionType * Add scoped exit guard utility class * Rework logs messages * Export functions * Update protobuf to account for segment offsets * Export blocks info * Create the Instructions singleton, a bucket for instructions * Remove leftover code * Change protobuf to remove fake blocks and add instruction counter for light mode * Do not export CFG positions if not able to IDA in headless mode won't expose this information * Write blocks into protobuf * WIP: adapt Python binding to new proto * Update protobuf * Remove the `no_offset` oneof * Export and write composite data types (only idav9) * Remove excessive logs * Remove leftover * continue refactor Python API * Update protobuf * Export enums * Write types on the protobuf * Rename function * Write data on the protobuf * Remove leftover field * Simplify Reference::Location in the protobuf * keep updating Python bindings * Add enum base type in the protobuf * WIP: refactoring Python binding * Ensure stable pointers in Buckets * Expose ElementT in CompositeTypes * First version of the rework of references * Refactor writing references * Export and write references * Remove sdk specific code * Export symbols (types) references * Remove leftovers * Export code references and cleanup * WIP:update python bindings * multiple fixes in current draft binding API * update protobuf * Export data file offset * Adapt comments in protobuf * Add headers in protobuf * update Python bindings * restore comments support * git add gui_view.png with decompilation option * reimplement string property mechanism * Adapt to new version of protobuf * Write xref_to in data types * Add EnumValue * Add xref_to on composite members * add export tinfo string representation * Refactor the whole data type collection * refactor proto EdgeType * Rework data types and export pointers and arrays * multiple updates * fix xrefs * Use new edge system * Code cleanup. NFCI * Remove leftover variable * Better support for composite member types * Use light build job * Cache IDA SDKs during build jobs * Temporarily enable CI to run only on 9.x * update Python binding * Remove windows builds and build only for >=9.1 * Fix CI * update Python API * Rework is_one_of_variant_v concept * Avoit default return functions * Change the order in which to write references and types * Add safety check in Buckets * Solve circular dependency between types<->references * Try to fix CI security issues * Update quokka_pb2.py * Auto-generate quokka_pb2.py at build time * multiple python api updates * Fix index_to_address mapping * Avoid exporting types from different TIL libraries * Add backup strategy to resolve typedef * Add utility for checking template arguments * Write pointers and arrays * Update versions to v1 * Adjust tests to run on IDA 9.3 * Add comments on protobuf size fields * Export c_str of pointers and arrays * Adapt struct and union members to have offset as bits * WIP: write feature * add functions to apply changes * add data edition feature * fix references parsing --------- Co-authored-by: Robin David <dev.robin.david@gmail.com>
| Commit: | 6b72fd9 | |
|---|---|---|
| Author: | Robin David | |
add metadata field to indicate if decompilation was enabled
| Commit: | bf70513 | |
|---|---|---|
| Author: | Robin David | |
first draft to optionally add decompiled code into exported file
| Commit: | 5dfd176 | |
|---|---|---|
| Author: | Riccardo Mori | |
[IDA] Add mangled name property in the protobuf
The documentation is generated from this commit.
| Commit: | 63f7506 | |
|---|---|---|
| Author: | Riccardo Mori | |
Change protobuf definitions, bootstrap v1
| Commit: | 2a691c8 | |
|---|---|---|
| Author: | Riccardo Mori | |
| Committer: | Riccardo Mori | |
[ghidra] Initial integration with Ghidra
| Commit: | 0458304 | |
|---|---|---|
| Author: | A. Challande | |
feat: First public commit