Page 1 of 1

How to get DBVM/DBK to work on 32-Bit VM OS

Posted: Sat Sep 21, 2019 7:28 am
by Reclaimer Shawn
So, I'm working with a game that I can only write to while DBK is active. Cheat Engine scripts work perfectly fine on my native OS on 64-bit with DBK working as well. However, I needed to test to see if the scrpts I made in CE work on 32-bit. Only problem is I don't have a 32-bit machine lying around and I can't seem to get anyone to test my stuff for me, so I had to rely on using a Virtual Machine. My Real Machine is on Windows 10 (64-bit) and my VM is on Windows 10 (32-bit). Cheat Engine says my virtual machine doesn't support DBVM, even though it works fine on my real machine. How do I fix this? By the way, this is what I'm using to attempt to load DBK:

Code: Select all

dbk_initialize()

openProcess([[cheatengine-x86_64.exe]])
reinitializeSymbolhandler()

autoAssemble([[
alloc(NewVirtualProtectEx,256, VirtualProtectEx )
alloc(OriginalVirtualProtectEx, 8, VirtualProtectEx)
registersymbol(NewVirtualProtectEx)
registersymbol(OriginalVirtualProtectEx)
label(notself)
NewVirtualProtectEx:
cmp ecx,ffffffff
jne short notself


jmp [OriginalVirtualProtectEx]


notself:
xor rax,rax
ret

]])

s=generateAPIHookScript("VirtualProtectEx", "NewVirtualProtectEx", "OriginalVirtualProtectEx")

--stupid bug in generateAPIHookScript forgets the alloc originalcall0
s=[[alloc(originalcall0, 64, VirtualProtectEx)
]]..s

autoAssemble(s)

dbk_useKernelmodeOpenProcess()
dbk_useKernelmodeProcessMemoryAccess()