Replies: 1 comment
-
Thanks for reaching out @s-ff . It looks like you have a good understanding of how P-code is generated and used during Ghidra’s analysis. capa can be extended to support new analysis backends. An analysis backend is responsible for extracting program features such as strings, disassembly, and control flow used to detect capabilities. Extending capa to support P-code involves changing its existing Ghidra backend to extract program features from P-code instead of the machine code. As you explained, there are two flavors of P-code, low and high, that can be accessed using Ghidra’s scripting API. Part of the research component for this project involves determining which of these P-code flavors can be reliably used to extract the program features needed by capa. For example, an instruction’s low P-code can be access using Ghidra’s Please use a Google Doc shared with [email protected] for your draft proposal. Post any other questions here 😊 |
Beta Was this translation helpful? Give feedback.
-
Hello @mandiant/flare-gsoc (@mike-hunhoff, @williballenthin, @mr-tz) team,
I am starting this discussion to express my interest in applying for this year's GSoC @ FLARE. I aim to share my thoughts on the adoption of P-code analysis by capa to extend its capabilities beyond x86/x64.
For some context, during the analysis of a particular program, Ghidra goes through many steps before it produces a pseudo-like C decompilation of the assembly code:
.sla
) that describes the instruction set and how each instruction should be interpreted.During this project, I am willing to work closely on the capa integration with Ghidra to extend its capabilites to support P-code-level analysis.
Kindly discuss this approach and correct me if I am wrong on anything. Feel free to propose other capabilities that could be designed. I would love to hear your feedback and suggestions.
I would like to share a Draft Proposal including some code snippets, planning and challenges. Do you prefer a Google Docs to be emailed/shared?
Best regards,
S. Fariss
Beta Was this translation helpful? Give feedback.
All reactions