symbols = createSymbolList();
symbols.register();
function
onOpenProcess(pid)
symbols.unregister();
symbols = createSymbolList();
symbols.register();
reinitializeSymbolhandler();
if
(pid ==
4
)
then
return
;
end
local
proc = dbk_getPEProcess(pid);
local
peb = readQword(proc +
0x550
);
local
ldr = readQword(peb +
0x18
);
local
index = readQword(ldr +
0x10
);
while
(index ~= ldr +
0x10
)
do
local
mod = readQword(index);
local
name = readString(readQword(mod +
0x58
+
0x8
), readSmallInteger(mod +
0x58
), true);
local
base = readQword(mod +
0x30
);
local
size = readInteger(mod +
0x40
);
symbols.addModule(name,
""
, base, size, true);
index = readQword(mod);
end
local
name = readString(proc +
0x5A8
,
15
);
local
base = readQword(proc +
0x520
);
local
size = readQword(proc +
0x498
);
symbols.addModule(name,
""
, base, size);
reinitializeSymbolhandler();
end