generated from clearbluejar/ghidra-python-vscode-skeleton
-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathsample.py
44 lines (34 loc) · 1.1 KB
/
sample.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#TODO write a description for this script
#@author
#@category Functions
#@keybinding
#@menupath
#@toolbar
#TODO Add User Code Here
#### Section to make autocomplete work
try:
import ghidra
from ghidra_builtins import *
except:
pass
####
project = state.getProject()
projectData = project.getProjectData()
rootFolder = projectData.getRootFolder()
print(project)
print(projectData)
print(rootFolder)
prog = askProgram("program")
print("Program Info:")
program_name = prog.getName()
creation_date = prog.getCreationDate()
language_id = prog.getLanguageID()
compiler_spec_id = prog.getCompilerSpec().getCompilerSpecID()
print("Program: {}: {}_{} ({})\n".format(program_name, language_id, compiler_spec_id, creation_date))
# Get info about the current program's memory layout
print("Memory layout:")
print("Imagebase: " + hex(prog.getImageBase().getOffset()))
for block in prog.getMemory().getBlocks():
start = block.getStart().getOffset()
end = block.getEnd().getOffset()
print("{} [start: 0x{}, end: 0x{}]".format(block.getName(), start, end))