public interface Emulator<T extends NewFileIO> extends Closeable, ArmDisassembler, Serializable
| Modifier and Type | Method and Description |
|---|---|
Debugger |
attach() |
Debugger |
attach(DebuggerType type) |
LibraryFile |
createURLibraryFile(URL url,
String libName) |
default String |
dumpGPBProtobufDef(String className)
Dump GPB (Google Protobuf for Objective-C) message definition as .proto format.
|
default String |
dumpObjcClass(String className)
Dump Objective-C class definition (properties, methods, protocols, ivars).
|
Number |
eEntry(long begin,
long sp) |
Number |
eFunc(long begin,
Number... arguments) |
boolean |
emulateSignal(int sig)
emulate signal handler
|
<V> V |
get(String key) |
Backend |
getBackend() |
<V extends RegisterContext> |
getContext() |
Dlfcn |
getDlfcn() |
Family |
getFamily() |
FileSystem<T> |
getFileSystem() |
Memory |
getMemory() |
default String |
getObjcClassName(long address)
Get Objective-C class name for the object at the given address.
|
int |
getPageAlign() |
int |
getPid() |
int |
getPointerSize() |
String |
getProcessName() |
long |
getReturnAddress() |
SvcMemory |
getSvcMemory() |
SyscallHandler<T> |
getSyscallHandler() |
ThreadDispatcher |
getThreadDispatcher() |
Unwinder |
getUnwinder() |
boolean |
is32Bit() |
boolean |
is64Bit() |
boolean |
isRunning()
是否正在运行
|
Module |
loadLibrary(File libraryFile) |
Module |
loadLibrary(File libraryFile,
boolean forceCallInit) |
int |
popContext() |
void |
pushContext(int off) |
void |
set(String key,
Object value) |
void |
setTimeout(long timeout) |
void |
setTraceSystemMemoryWrite(long begin,
long end,
TraceSystemMemoryWriteListener listener) |
void |
showRegs()
show all registers
|
void |
showRegs(int... regs)
show registers
|
TraceHook |
traceCode()
trace instruction
note: low performance
|
TraceHook |
traceCode(long begin,
long end) |
TraceHook |
traceCode(long begin,
long end,
TraceCodeListener listener) |
default MemoryTracker |
traceMemoryLeaks()
Start tracking memory allocations (mmap/munmap/brk) for leak detection.
|
TraceHook |
traceRead()
trace memory read
|
TraceHook |
traceRead(long begin,
long end) |
TraceHook |
traceRead(long begin,
long end,
TraceReadListener listener) |
TraceHook |
traceWrite()
trace memory write
|
TraceHook |
traceWrite(long begin,
long end) |
TraceHook |
traceWrite(long begin,
long end,
TraceWriteListener listener) |
disassemble, disassemble, printAssembleserializeint getPointerSize()
boolean is64Bit()
boolean is32Bit()
int getPageAlign()
TraceHook traceRead()
TraceHook traceRead(long begin, long end)
TraceHook traceRead(long begin, long end, TraceReadListener listener)
TraceHook traceWrite()
TraceHook traceWrite(long begin, long end)
TraceHook traceWrite(long begin, long end, TraceWriteListener listener)
void setTraceSystemMemoryWrite(long begin,
long end,
TraceSystemMemoryWriteListener listener)
TraceHook traceCode()
TraceHook traceCode(long begin, long end)
TraceHook traceCode(long begin, long end, TraceCodeListener listener)
Number eEntry(long begin, long sp)
boolean emulateSignal(int sig)
sig - signal numbertrue means called handler function.boolean isRunning()
void showRegs()
void showRegs(int... regs)
Memory getMemory()
Backend getBackend()
int getPid()
String getProcessName()
Debugger attach()
Debugger attach(DebuggerType type)
FileSystem<T> getFileSystem()
SvcMemory getSvcMemory()
SyscallHandler<T> getSyscallHandler()
Family getFamily()
LibraryFile createURLibraryFile(URL url, String libName)
Dlfcn getDlfcn()
void setTimeout(long timeout)
timeout - Duration to emulate the code (in microseconds). When this value is 0, we will emulate the code in infinite time, until the code is finished.<V extends RegisterContext> V getContext()
Unwinder getUnwinder()
default MemoryTracker traceMemoryLeaks()
void pushContext(int off)
int popContext()
ThreadDispatcher getThreadDispatcher()
long getReturnAddress()
<V> V get(String key)
default String getObjcClassName(long address)
default String dumpObjcClass(String className)
Copyright © 2026. All rights reserved.