@
Akuma: It would be far more professional if your CE actually told us you know WTF you're doing
I see a bunch of guess-ups in there
Use this:
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 GetName( input )
local addr = readQword( readQword( readQword( readQword( input ) ) + 0x68 ) + 0x20 )
return readString( addr, 6000 )
end
local addr = 0x000000001317C050
local szName = GetName( addr )
print( string.format( "Struct: 0x%X\r\nName: %s\r\n- - - -" , addr, szName ) )
Change "local addr = 0x000000001317C050" to your address and Execute in Memory Viewer > Ctrl+L.
Example, based on Jessie's table:
1) Load a secret mission, Esc to Pause Menu.
2) "Freeze Secret Mission Timer" -> enable script, Memory Viewer > Ctrl+G: ismt [Enter].
2) Set breakpoint. Disable script so you see the original instruction:
DevilMayCry5.exe+16AFA322 - F3 0F11 4B 5C - movss [rbx+5C],xmm1
Let CE break.
3) CE breaks -> check "rbx" -> mine is 00000000133BC360. Feed it to script, Execute and..
"
Struct: 0x133BC360
Name: app.ElapsedTimeSetting
- - - -
"
And speaking of this feature, let's analyze the code a bit and share some of the XP using that script:
So:
- If you do [rbx+70] == 0x0 in the below, you kill the entire timer countdown:
Code: Select all
0000000156AFA2E2 | 8B4B 70 | MOV ECX,DWORD PTR DS:[RBX+70] | [rbx+70] == 0x2
0000000156AFA2E5 | 85C9 | TEST ECX,ECX |
0000000156AFA2E7 | 0F84 94000000 | JE devilmaycry5.156AFA381 |
- If you do [rbx+70] == 0x1 in the above, timer counts-up
BR,
Sun