public abstract class AbstractARMDebugger extends Object implements Debugger
| 限定符和类型 | 类和说明 |
|---|---|
protected static class |
AbstractARMDebugger.StringType |
| 限定符和类型 | 字段和说明 |
|---|---|
protected boolean |
callbackRunning |
protected Emulator<?> |
emulator |
| 限定符 | 构造器和说明 |
|---|---|
protected |
AbstractARMDebugger(Emulator<?> emulator) |
| 限定符和类型 | 方法和说明 |
|---|---|
BreakPoint |
addBreakPoint(long address) |
BreakPoint |
addBreakPoint(long address,
BreakPointCallback callback) |
BreakPoint |
addBreakPoint(Module module,
long offset) |
BreakPoint |
addBreakPoint(Module module,
long offset,
BreakPointCallback callback) |
BreakPoint |
addBreakPoint(Module module,
String symbol) |
BreakPoint |
addBreakPoint(Module module,
String symbol,
BreakPointCallback callback) |
void |
brk(UnidbgPointer pc,
int svcNumber) |
void |
close() |
protected abstract keystone.Keystone |
createKeystone(boolean isThumb) |
void |
debug() |
void |
detach() |
void |
disassembleBlock(Emulator<?> emulator,
long address,
boolean thumb) |
protected void |
dumpClass(String className) |
protected void |
dumpGPBProtobufMsg(String className) |
static Module |
findModuleByAddress(Emulator<?> emulator,
long address) |
void |
hook(Backend backend,
long address,
int size,
Object user) |
void |
hookBlock(Backend backend,
long address,
int size,
Object user) |
boolean |
isDebugging() |
protected abstract void |
loop(Emulator<?> emulator,
long address,
int size,
DebugRunnable<?> runnable) |
void |
onAttach(UnHook unHook) |
void |
onBreak(Backend backend,
long address,
int size,
Object user) |
boolean |
removeBreakPoint(long address) |
<T> T |
run(DebugRunnable<T> runnable) |
protected void |
searchClass(String keywords) |
void |
setDebugListener(DebugListener listener) |
protected void |
setSingleStep(int singleStep) |
void |
traceFunctionCall(FunctionCallListener listener) |
void |
traceFunctionCall(Module module,
FunctionCallListener listener)
use with unicorn
|
protected final Emulator<?> emulator
protected boolean callbackRunning
protected AbstractARMDebugger(Emulator<?> emulator)
public void onAttach(UnHook unHook)
onAttach 在接口中 Detachablepublic void detach()
detach 在接口中 Detachablepublic final BreakPoint addBreakPoint(Module module, String symbol)
addBreakPoint 在接口中 Debuggerpublic final BreakPoint addBreakPoint(Module module, String symbol, BreakPointCallback callback)
addBreakPoint 在接口中 Debuggerpublic final BreakPoint addBreakPoint(Module module, long offset)
addBreakPoint 在接口中 Debuggerpublic final BreakPoint addBreakPoint(Module module, long offset, BreakPointCallback callback)
addBreakPoint 在接口中 Debuggerpublic BreakPoint addBreakPoint(long address)
addBreakPoint 在接口中 Debuggeraddress - 奇数地址表示thumb断点public BreakPoint addBreakPoint(long address, BreakPointCallback callback)
addBreakPoint 在接口中 Debuggerpublic void traceFunctionCall(FunctionCallListener listener)
traceFunctionCall 在接口中 Debuggerpublic void traceFunctionCall(Module module, FunctionCallListener listener)
DebuggertraceFunctionCall 在接口中 Debuggermodule - null means all modules.protected abstract keystone.Keystone createKeystone(boolean isThumb)
public final boolean removeBreakPoint(long address)
public void setDebugListener(DebugListener listener)
setDebugListener 在接口中 Debuggerpublic boolean isDebugging()
isDebugging 在接口中 Debuggerprotected final void setSingleStep(int singleStep)
protected abstract void loop(Emulator<?> emulator, long address, int size, DebugRunnable<?> runnable) throws Exception
Exceptionpublic <T> T run(DebugRunnable<T> runnable) throws Exception
protected void dumpGPBProtobufMsg(String className)
protected void searchClass(String keywords)
protected void dumpClass(String className)
public final void disassembleBlock(Emulator<?> emulator, long address, boolean thumb)
disassembleBlock 在接口中 Debuggerpublic final void brk(UnidbgPointer pc, int svcNumber)
public void close()
close 在接口中 Closeableclose 在接口中 AutoCloseableCopyright © 2022. All rights reserved.