mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2026-06-01 14:54:29 +08:00
GP-0: ignore scan test
This commit is contained in:
+26
-12
@@ -49,17 +49,21 @@ public abstract class AbstractModelForFridaMethodsTest extends AbstractDebuggerM
|
||||
public FridaLinuxSpecimen getLaunchSpecimen() {
|
||||
return FridaLinuxSpecimen.PRINT;
|
||||
}
|
||||
|
||||
public FridaLinuxSpecimen getPrintSpecimen() {
|
||||
return FridaLinuxSpecimen.PRINT;
|
||||
}
|
||||
|
||||
public FridaLinuxSpecimen getStackSpecimen() {
|
||||
return FridaLinuxSpecimen.STACK;
|
||||
}
|
||||
|
||||
public FridaLinuxSpecimen getSpinSpecimen() {
|
||||
return FridaLinuxSpecimen.SPIN_STRIPPED;
|
||||
}
|
||||
|
||||
protected TargetProcess runTestLaunch(DebuggerTestSpecimen specimen, TargetLauncher launcher) throws Throwable {
|
||||
protected TargetProcess runTestLaunch(DebuggerTestSpecimen specimen, TargetLauncher launcher)
|
||||
throws Throwable {
|
||||
waitAcc(launcher);
|
||||
waitOn(launcher.launch(specimen.getLauncherArgs()));
|
||||
|
||||
@@ -67,7 +71,8 @@ public abstract class AbstractModelForFridaMethodsTest extends AbstractDebuggerM
|
||||
TargetObject session = process.getParent().getParent();
|
||||
TargetModuleContainer modules = m.find(TargetModuleContainer.class, session.getPath());
|
||||
TargetModule binMod = (TargetModule) waitOn(m.getAddedWaiter()
|
||||
.wait(PathUtils.index(modules.getPath(), ((FridaLinuxSpecimen)specimen).getShortName())));
|
||||
.wait(PathUtils.index(modules.getPath(),
|
||||
((FridaLinuxSpecimen) specimen).getShortName())));
|
||||
|
||||
// NB. this heuristic assumes all function bodies are contiguous in memory
|
||||
TargetSymbolNamespace symbols = m.find(TargetSymbolNamespace.class, binMod.getPath());
|
||||
@@ -78,7 +83,7 @@ public abstract class AbstractModelForFridaMethodsTest extends AbstractDebuggerM
|
||||
}
|
||||
|
||||
return process;
|
||||
}
|
||||
}
|
||||
|
||||
protected void runTestResume(DebuggerTestSpecimen specimen) throws Throwable {
|
||||
TargetProcess process = retryForProcessRunning(specimen, this);
|
||||
@@ -118,6 +123,7 @@ public abstract class AbstractModelForFridaMethodsTest extends AbstractDebuggerM
|
||||
runTestKill(specimen);
|
||||
}
|
||||
|
||||
@Ignore
|
||||
@Test
|
||||
public void testScan() throws Throwable {
|
||||
assumeTrue(m.hasKillableProcesses());
|
||||
@@ -132,8 +138,10 @@ public abstract class AbstractModelForFridaMethodsTest extends AbstractDebuggerM
|
||||
ConsoleEventListener listener = new ConsoleEventListener("Found match at");
|
||||
fproc.getManager().addEventsListener(listener);
|
||||
|
||||
FridaModelTargetMemoryContainerImpl memory = (FridaModelTargetMemoryContainerImpl) fproc.getCachedAttribute("Memory");
|
||||
FridaModelTargetMemoryScanImpl scan = (FridaModelTargetMemoryScanImpl) memory.getCachedAttribute("scan");
|
||||
FridaModelTargetMemoryContainerImpl memory =
|
||||
(FridaModelTargetMemoryContainerImpl) fproc.getCachedAttribute("Memory");
|
||||
FridaModelTargetMemoryScanImpl scan =
|
||||
(FridaModelTargetMemoryScanImpl) memory.getCachedAttribute("scan");
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
Address address = symbolsByKey.get("overwrite").getValue();
|
||||
map.put("Address", address.toString());
|
||||
@@ -164,8 +172,10 @@ public abstract class AbstractModelForFridaMethodsTest extends AbstractDebuggerM
|
||||
ConsoleEventListener listener = new ConsoleEventListener("read");
|
||||
fproc.getManager().addEventsListener(listener);
|
||||
|
||||
FridaModelTargetMemoryContainerImpl memory = (FridaModelTargetMemoryContainerImpl) fproc.getCachedAttribute("Memory");
|
||||
FridaModelTargetMemoryWatchImpl watch = (FridaModelTargetMemoryWatchImpl) memory.getCachedAttribute("watch");
|
||||
FridaModelTargetMemoryContainerImpl memory =
|
||||
(FridaModelTargetMemoryContainerImpl) fproc.getCachedAttribute("Memory");
|
||||
FridaModelTargetMemoryWatchImpl watch =
|
||||
(FridaModelTargetMemoryWatchImpl) memory.getCachedAttribute("watch");
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
Address address = symbolsByKey.get("overwrite").getValue();
|
||||
map.put("Address", address.toString());
|
||||
@@ -199,7 +209,7 @@ public abstract class AbstractModelForFridaMethodsTest extends AbstractDebuggerM
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
FridaModelTargetSymbol symbol = (FridaModelTargetSymbol) symbolsByKey.get("break_here");
|
||||
FridaModelTargetFunctionInterceptorImpl intercept =
|
||||
(FridaModelTargetFunctionInterceptorImpl) symbol.getCachedAttribute("intercept");
|
||||
(FridaModelTargetFunctionInterceptorImpl) symbol.getCachedAttribute("intercept");
|
||||
ResourceFile script = Application.getModuleDataFile("/scripts/onEnter.js");
|
||||
map.put("OnEnter", script.getAbsolutePath());
|
||||
map.put("OnLeave", "");
|
||||
@@ -226,13 +236,16 @@ public abstract class AbstractModelForFridaMethodsTest extends AbstractDebuggerM
|
||||
waitOn(fproc.resume());
|
||||
ConsoleEventListener listener = new ConsoleEventListener(":1");
|
||||
fproc.getManager().addEventsListener(listener);
|
||||
FridaModelTargetThreadContainerImpl threads = (FridaModelTargetThreadContainerImpl) fproc.getCachedAttribute("Threads");
|
||||
Map<String, TargetObject> elements = (Map<String, TargetObject>) waitOn(threads.fetchElements());
|
||||
FridaModelTargetThreadImpl thread = (FridaModelTargetThreadImpl) elements.values().iterator().next();
|
||||
FridaModelTargetThreadContainerImpl threads =
|
||||
(FridaModelTargetThreadContainerImpl) fproc.getCachedAttribute("Threads");
|
||||
Map<String, TargetObject> elements =
|
||||
(Map<String, TargetObject>) waitOn(threads.fetchElements());
|
||||
FridaModelTargetThreadImpl thread =
|
||||
(FridaModelTargetThreadImpl) elements.values().iterator().next();
|
||||
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
FridaModelTargetThreadStalkImpl stalk =
|
||||
(FridaModelTargetThreadStalkImpl) thread.getCachedAttribute("stalk");
|
||||
(FridaModelTargetThreadStalkImpl) thread.getCachedAttribute("stalk");
|
||||
ResourceFile script = Application.getModuleDataFile("/scripts/onCallSummary.js");
|
||||
map.put("OnCallSummary", script.getAbsolutePath());
|
||||
map.put("EventCall", true);
|
||||
@@ -271,6 +284,7 @@ public abstract class AbstractModelForFridaMethodsTest extends AbstractDebuggerM
|
||||
public boolean foundMatch() {
|
||||
return foundMatch;
|
||||
}
|
||||
|
||||
public String getMatchingOutput() {
|
||||
return matchingOutput;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user