Ghidra Notes

Zgromadzone Ghidra Notatki

Posted by Paweł Sacawa on Sunday, March 17, 2024
Last Modified on Wednesday, May 1, 2024

Symbole

Źródła default, analysis, imported, user-defined. Wbrew pozorom, ogólna funkcja odkryta podczas analizy ma źródło domyślne, ale znowu funkcja Unwind@* oraz rozpoznane implementacje strchr ze starych bibliotek itd. są oznaczone jako produkty analizy.

Typy: czym się rózni etykietka instrukcji od innych etykietek?

Dekompilator

Pseudomakra jak CONCAT13(x,y) oznaczają sklejanie bajtów: w tym przypadku jednego bajta x z trzema bajtami y.

Skrypty

Szablon Java:

import ghidra.app.script.GhidraScript;
public class MyGhidraScript extends GhidraScript {

	@Override
	public void run() throws Exception {
		....
	}
}

Preskrypty są uruchamiane przed analizą, postskrypty po.

analyzeHeadless

analyzeHeadless myproj myproj.gpr -process mybin.exe -preScript ghidra_basics.py

Własne skrypty:

analyzeHeadless $PROJ_DIR myproj.gpr -process mybin.exe -scriptPath  $PROJ_DIR/ghidra_scripts -preScript ghidra_basics.py 

Analizuj importowany plik do nie zapisując projektu:

analyzeHeadless . nieważne.gpr -import /bin/ls -deleteProject -postScript xyz.java