mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2026-01-07 21:24:00 -05:00
GP-6257: rwx
This commit is contained in:
@@ -39,14 +39,15 @@ public enum DebuggerSearchRegionFactory {
|
||||
return set;
|
||||
}
|
||||
},
|
||||
VALID("Valid Addresses", """
|
||||
Searches listed memory regions in the space.""") {
|
||||
READABLE("Readable Addresses", """
|
||||
Searches listed regions marked as readable in the space.""") {
|
||||
|
||||
@Override
|
||||
AddressSetView getAddresses(AddressSpace space, Program program) {
|
||||
AddressSet set = new AddressSet();
|
||||
for (MemoryBlock block : program.getMemory().getBlocks()) {
|
||||
if (space == null || space == block.getStart().getAddressSpace()) {
|
||||
if (block.isRead() &&
|
||||
(space == null || space == block.getStart().getAddressSpace())) {
|
||||
set.add(block.getAddressRange());
|
||||
}
|
||||
}
|
||||
@@ -72,6 +73,21 @@ public enum DebuggerSearchRegionFactory {
|
||||
}
|
||||
return set;
|
||||
}
|
||||
},
|
||||
EXECUTABLE("Executable Addresses", """
|
||||
Searches listed regions marked as executable in the space.""") {
|
||||
|
||||
@Override
|
||||
AddressSetView getAddresses(AddressSpace space, Program program) {
|
||||
AddressSet set = new AddressSet();
|
||||
for (MemoryBlock block : program.getMemory().getBlocks()) {
|
||||
if (block.isExecute() &&
|
||||
(space == null || space == block.getStart().getAddressSpace())) {
|
||||
set.add(block.getAddressRange());
|
||||
}
|
||||
}
|
||||
return set;
|
||||
}
|
||||
};
|
||||
|
||||
public static final List<DebuggerSearchRegionFactory> ALL = List.of(values());
|
||||
|
||||
Reference in New Issue
Block a user