Цитата
А на счёт перевода 4 байт в float, я честно говоря не представляют как это сделать.
Код
--lua
local ffi = require('ffi')
local kernel = ffi.load('Kernel32.dll')
ffi.cdef[[
void RtlMoveMemory(void *Destination, const void *Source, int Length);
]]
function to_float(byte0, byte1, byte2, byte3)
local pointer_float = ffi.new('float[1]')
kernel.RtlMoveMemory(pointer_float, ffi.new('char[4]', {byte0, byte1, byte2, byte3}), 4)
return tonumber(pointer_float[0])
end
log 'clear' log 'mode compact'
local x = to_float(54, 5, 16, 72) -- массив байт перевести во float
log(x)
Цитата
нужно получить флоат значение по адресу game.exe+01C72AF4 со смещением 14.
В readmem нужно указать имя модуля, game.exe в данном случае.
Код
readmem $x 0x01C72AF4 D game.exe