function GetValue(str)
local retBuf = ffi.new("t_result",0)
Od.Expression(retBuf, str ,0,0,nil,0,0,Od.Getcputhreadid());
return ffi.string(retBuf.value)
end
function ProcessInt3(reg)
local treg = ffi.cast("t_reg *",reg)
if treg and false then
--断下的地址
if treg.ip == 0x006CF5C0 then
--十六进制字符串
local esp8 = GetValue("byte [esp+8]")
--转成数字
local len = tonumber(string.format('%d', '0x'..esp8))
--遍历内存
local bytes = {'len:'..esp8..'------'}
for i = 0, len-1 do
table.insert(bytes, GetValue("BYTE [[esp+4]+"..i..".]"))
end
--输出内存内容
print(unpack(bytes))
--继续运行,相当于按了F9
Od.Sendshortcut(0, 0, WM_KEYDOWN, 0, 0, 0x78)
end
end
end