You'll learn that if you really don't express yourself properly, with as much details information on what you did, how you did it, what you want to achieve extensively, screenshots or code snippets, you won't get much help. It's not cuz people don't want to help, it's the poor details you've provided.
You say that AOB is fixed and it doesn't change. What's the AOB about? Is it ASM (instructions)? Is it random data that you scan for and it's fixed? Provide screenshots of how it looks like in Memory Viewer (top and bottom, hex and disassembler view).
Then you say "Float is: ...". Where, related to that AOB? Is the AOB transformed into Float that looks like that? Or how did you get to "0 0 270 0.8"? Did you offset it? Like "scan for this AOB and
10 bytes from it I find 0 0 270 0.8 one after the other".
See.. a lot of shit that doesn't make sense for us to help you with.
I would use Lua if I were you, as it's much straight forward to test out:
- open Memory View
- press Ctrl+L
- copy the below:
Code: Select all
function _readInteger( Input )
-- thanks, Pox!
local Value = readInteger( Input )
if Value < 0x80000000 then return Value
else return Value - 0x100000000 end
end
function aobScanEx( aob, p, a, n, s, e, pb )
local p, a, n, s, e = p or '*X*W', a or fsmNotAligned, n or '0', s or 0x0, e or 0xffffffffffffffff
local ms = pb and createMemScan( pb ) or createMemScan()
local fl = createFoundList( ms )
ms.firstScan( soExactValue, vtByteArray, nil, aob, nil, s, e, p, a, n, true, false, false, false )
ms.waitTillDone()
fl.initialize()
local result = nil
if fl ~= nil and fl.getCount() > 0 then
result = createStringlist()
for i = 1, fl.getCount() do result.add( fl.getAddress( i - 1 ) ) end
end
fl.destroy()
ms.destroy()
return result
end
local gameProcess = 'game.exe' -- change the game .exe name here with yours
local gameModule = getAddress( gameProcess )
local t = aobScanEx( '98258400B425840000', nil, nil, nil, gameModule, gameModule + getModuleSize( gameProcess ) )
t = tonumber( t[0], 16 )
print( string.format( "My address is: 0x%X.", t ) )
- paste it in the Lua window, bottom tab (left of the 'Execute' button)
- change 'game.exe' to your executable name (e.g.: 'bloodomen2.exe' or whatever it's called)
- click Execute
Now if you don't see "My address is: 0x<address>." in the Lua window, then that array of yours is
not that unique
Then there's this that I don't understand: "AOB is: 98 25 84 00 B4 25 84 00 00 // is unique; Float is: 0 0 270 0.80". There's no way in hell 98258400B425840000 is that pair of 4 floats. See.. another faulty enunciation that leads to randomness..
BR,
Sun