mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2025-10-03 09:49:23 +02:00
GP-1543: Replace Range<Long> with Lifespan, ULongSpan, KeySpan,
FieldSpan
This commit is contained in:
parent
d0b55e1d33
commit
776413921f
349 changed files with 6102 additions and 4225 deletions
|
@ -16,8 +16,6 @@
|
|||
import java.nio.ByteBuffer;
|
||||
import java.nio.ByteOrder;
|
||||
|
||||
import com.google.common.collect.Range;
|
||||
|
||||
import agent.dbgeng.manager.impl.DbgManagerImpl;
|
||||
import agent.dbgeng.model.AbstractDbgModel;
|
||||
import ghidra.app.script.GhidraScript;
|
||||
|
@ -26,6 +24,7 @@ import ghidra.app.services.DebuggerTraceManagerService;
|
|||
import ghidra.dbg.DebuggerObjectModel;
|
||||
import ghidra.program.model.address.*;
|
||||
import ghidra.program.model.lang.Language;
|
||||
import ghidra.trace.model.Lifespan;
|
||||
import ghidra.trace.model.Trace;
|
||||
import ghidra.trace.model.memory.*;
|
||||
import ghidra.util.LockHold;
|
||||
|
@ -147,7 +146,7 @@ public class BangAddressToMemory extends GhidraScript {
|
|||
AddressRange rng = rng(start, end - 1);
|
||||
try {
|
||||
TraceMemoryRegion region =
|
||||
memory.addRegion(startStr, Range.atLeast(0L), rng, TraceMemoryFlag.READ,
|
||||
memory.addRegion(startStr, Lifespan.nowOn(0), rng, TraceMemoryFlag.READ,
|
||||
TraceMemoryFlag.WRITE, TraceMemoryFlag.EXECUTE);
|
||||
region.setName(name);
|
||||
}
|
||||
|
|
|
@ -31,7 +31,6 @@
|
|||
import java.io.File;
|
||||
import java.util.*;
|
||||
|
||||
import com.google.common.collect.Range;
|
||||
import com.sun.jna.Pointer;
|
||||
|
||||
import agent.dbgeng.dbgeng.DebugClient;
|
||||
|
@ -46,6 +45,7 @@ import ghidra.app.script.GhidraScript;
|
|||
import ghidra.program.model.address.*;
|
||||
import ghidra.program.model.lang.Language;
|
||||
import ghidra.program.model.lang.Register;
|
||||
import ghidra.trace.model.Lifespan;
|
||||
import ghidra.trace.model.memory.TraceMemoryFlag;
|
||||
import ghidra.util.Swing;
|
||||
|
||||
|
@ -144,7 +144,7 @@ public class PopulateMemviewLocal extends GhidraScript {
|
|||
Long start = (Long) address.getValue();
|
||||
Long sz = (Long) size.getValue();
|
||||
AddressRange rng = rng(start, start + sz - 1);
|
||||
addLoadedModule(moduleId, moduleId, Range.atLeast(snap), rng);
|
||||
addLoadedModule(moduleId, moduleId, Lifespan.nowOn(snap), rng);
|
||||
//addRegion(moduleId, Range.atLeast(snap), rng, TraceMemoryFlag.READ,
|
||||
// TraceMemoryFlag.WRITE, TraceMemoryFlag.EXECUTE);
|
||||
}
|
||||
|
@ -161,7 +161,7 @@ public class PopulateMemviewLocal extends GhidraScript {
|
|||
AddressRange rng = rng(iid, iid + 1);
|
||||
display += " " + threadId;
|
||||
if (display.contains("ThreadCreated")) {
|
||||
addThread("Thread " + threadId, Range.atLeast(snap), rng);
|
||||
addThread("Thread " + threadId, Lifespan.nowOn(snap), rng);
|
||||
}
|
||||
else {
|
||||
markThreadClosed(threadId, snap);
|
||||
|
@ -212,8 +212,8 @@ public class PopulateMemviewLocal extends GhidraScript {
|
|||
String heapId = "Heap " + address.getValueString();
|
||||
Long startTick = (Long) timeStart.getValue();
|
||||
Long stopTick = (Long) timeEnd.getValue();
|
||||
Range<Long> interval =
|
||||
(stopTick > 0) ? Range.open(startTick, stopTick) : Range.atLeast(startTick);
|
||||
Lifespan interval =
|
||||
(stopTick > 0) ? Lifespan.span(startTick, stopTick) : Lifespan.nowOn(startTick);
|
||||
addHeap(heapId, interval, rng, TraceMemoryFlag.READ, TraceMemoryFlag.WRITE,
|
||||
TraceMemoryFlag.EXECUTE);
|
||||
}
|
||||
|
@ -237,24 +237,24 @@ public class PopulateMemviewLocal extends GhidraScript {
|
|||
});
|
||||
}
|
||||
|
||||
private void addHeap(String heapId, Range<Long> interval, AddressRange rng,
|
||||
private void addHeap(String heapId, Lifespan interval, AddressRange rng,
|
||||
TraceMemoryFlag read, TraceMemoryFlag write, TraceMemoryFlag execute) {
|
||||
MemoryBox box = new MemoryBox(heapId, MemviewBoxType.HEAP_CREATE, rng, interval);
|
||||
boxes.put(box.getId(), box);
|
||||
}
|
||||
|
||||
private void addThread(String threadId, Range<Long> interval, AddressRange rng) {
|
||||
private void addThread(String threadId, Lifespan interval, AddressRange rng) {
|
||||
MemoryBox box = new MemoryBox(threadId, MemviewBoxType.THREAD, rng, interval);
|
||||
boxes.put(box.getId(), box);
|
||||
}
|
||||
|
||||
private void addRegion(String regionId, Range<Long> interval, AddressRange rng,
|
||||
private void addRegion(String regionId, Lifespan interval, AddressRange rng,
|
||||
TraceMemoryFlag read, TraceMemoryFlag write, TraceMemoryFlag execute) {
|
||||
MemoryBox box = new MemoryBox(regionId, MemviewBoxType.IMAGE, rng, interval);
|
||||
boxes.put(box.getId(), box);
|
||||
}
|
||||
|
||||
private void addLoadedModule(String moduleId, String moduleId2, Range<Long> interval,
|
||||
private void addLoadedModule(String moduleId, String moduleId2, Lifespan interval,
|
||||
AddressRange rng) {
|
||||
MemoryBox box = new MemoryBox(moduleId, MemviewBoxType.MODULE, rng, interval);
|
||||
boxes.put(box.getId(), box);
|
||||
|
|
|
@ -19,8 +19,6 @@ import java.nio.ByteBuffer;
|
|||
import java.nio.ByteOrder;
|
||||
import java.util.*;
|
||||
|
||||
import com.google.common.collect.Range;
|
||||
|
||||
import agent.dbgeng.dbgeng.DebugClient;
|
||||
import agent.dbgeng.dbgeng.DebugControl;
|
||||
import agent.dbgmodel.dbgmodel.DbgModel;
|
||||
|
@ -32,6 +30,7 @@ import ghidra.app.services.DebuggerTraceManagerService;
|
|||
import ghidra.program.model.address.*;
|
||||
import ghidra.program.model.lang.*;
|
||||
import ghidra.trace.database.DBTrace;
|
||||
import ghidra.trace.model.Lifespan;
|
||||
import ghidra.trace.model.Trace;
|
||||
import ghidra.trace.model.memory.*;
|
||||
import ghidra.trace.model.modules.TraceModule;
|
||||
|
@ -226,7 +225,7 @@ public class PopulateTraceLocal extends GhidraScript {
|
|||
buf = ByteBuffer.allocate(sz.intValue()).order(ByteOrder.LITTLE_ENDIAN);
|
||||
AddressRange rng = rng(start, start + sz - 1);
|
||||
modules.addLoadedModule(moduleId, moduleId, rng, snap);
|
||||
memory.addRegion(moduleId, Range.atLeast(snap), rng,
|
||||
memory.addRegion(moduleId, Lifespan.nowOn(snap), rng,
|
||||
TraceMemoryFlag.READ, TraceMemoryFlag.WRITE, TraceMemoryFlag.EXECUTE);
|
||||
try {
|
||||
int read =
|
||||
|
@ -261,7 +260,7 @@ public class PopulateTraceLocal extends GhidraScript {
|
|||
String threadId = id.getValueString();
|
||||
display += " " + threadId;
|
||||
if (display.contains("ThreadCreated")) {
|
||||
threads.addThread(threadId, Range.atLeast(snap));
|
||||
threads.addThread(threadId, Lifespan.nowOn(snap));
|
||||
}
|
||||
else {
|
||||
if (snap >= 0) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue