CONST PROCESS_VM_READ
= &H0010 CONST PROCESS_QUERY_INFORMATION
= &H0400 CONST PROCESS_VM_WRITE
= &H0020 CONST PROCESS_VM_OPERATION
= &H0008 CONST STANDARD_RIGHTS_REQUIRED
= &H000F0000 CONST SYNCHRONIZE
= &H00100000 CONST PROCESS_ALL_ACCESS
= STANDARD_RIGHTS_REQUIRED
OR SYNCHRONIZE
OR &HFFFF
CONST TH32CS_INHERIT
= &H80000000 CONST TH32CS_SNAPHEAPLIST
= &H00000001 CONST TH32CS_SNAPMODULE
= &H00000008 CONST TH32CS_SNAPMODULE32
= &H00000010 CONST TH32CS_SNAPPROCESS
= &H00000002 CONST TH32CS_SNAPTHREAD
= &H00000004 CONST TH32CS_SNAPALL
= TH32CS_SNAPHEAPLIST
OR TH32CS_SNAPMODULE
OR TH32CS_SNAPPROCESS
OR TH32CS_SNAPTHREAD
_TITLE "Peeping Tom: A Powerful PEEK/POKE"
test
= "This is a test" + CHR$(0)
testint = 320
testlong = &HFF
testint64 = 922337
a
= pokeint
(exe
, _OFFSET(testint
), 312)
a
= pokelong
(exe
, _OFFSET(testlong
), &HFE)
a
= pokeint64
(exe
, _OFFSET(testint64
), 922345)
a
= pokestring
(exe
, _OFFSET(test
), "This is NOT a test" + CHR$(0))
DIM pe32
AS PROCESSENTRY32
hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)
hProcess
= OpenProcess
(PROCESS_VM_READ
OR PROCESS_QUERY_INFORMATION
OR PROCESS_VM_WRITE
OR PROCESS_VM_OPERATION
, FALSE
, pe32.th32ProcessID
) memo
= ReadProcessMemory
(hProcess
, address
, _OFFSET(result
), 1, 0) closeh = CloseHandle(hProcessSnap)
closeh = CloseHandle(hProcess)
peekbyte = result
DIM pe32
AS PROCESSENTRY32
hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)
hProcess
= OpenProcess
(PROCESS_VM_READ
OR PROCESS_QUERY_INFORMATION
OR PROCESS_VM_WRITE
OR PROCESS_VM_OPERATION
, FALSE
, pe32.th32ProcessID
) memo
= ReadProcessMemory
(hProcess
, address
, _OFFSET(result
), 2, 0) closeh = CloseHandle(hProcessSnap)
closeh = CloseHandle(hProcess)
peekint = result
DIM pe32
AS PROCESSENTRY32
hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)
hProcess
= OpenProcess
(PROCESS_VM_READ
OR PROCESS_QUERY_INFORMATION
OR PROCESS_VM_WRITE
OR PROCESS_VM_OPERATION
, FALSE
, pe32.th32ProcessID
) memo
= ReadProcessMemory
(hProcess
, address
, _OFFSET(result
), 4, 0) closeh = CloseHandle(hProcessSnap)
closeh = CloseHandle(hProcess)
peeklong = result
DIM pe32
AS PROCESSENTRY32
hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)
hProcess
= OpenProcess
(PROCESS_VM_READ
OR PROCESS_QUERY_INFORMATION
OR PROCESS_VM_WRITE
OR PROCESS_VM_OPERATION
, FALSE
, pe32.th32ProcessID
) memo
= ReadProcessMemory
(hProcess
, address
, _OFFSET(result
), 8, 0) closeh = CloseHandle(hProcessSnap)
closeh = CloseHandle(hProcess)
peekint64 = result
DIM pe32
AS PROCESSENTRY32
hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)
hProcess
= OpenProcess
(PROCESS_VM_READ
OR PROCESS_QUERY_INFORMATION
OR PROCESS_VM_WRITE
OR PROCESS_VM_OPERATION
, FALSE
, pe32.th32ProcessID
) result
= SPACE$(PointerLen
(address
)) memo
= ReadProcessMemory
(hProcess
, address
, _OFFSET(result
), LEN(result
), 0) closeh = CloseHandle(hProcessSnap)
closeh = CloseHandle(hProcess)
peekstring = result
DIM pe32
AS PROCESSENTRY32
hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)
hProcess
= OpenProcess
(PROCESS_VM_READ
OR PROCESS_QUERY_INFORMATION
OR PROCESS_VM_WRITE
OR PROCESS_VM_OPERATION
, FALSE
, pe32.th32ProcessID
) memo
= WriteProcessMemory
(hProcess
, address
, _OFFSET(value
), 1, 0) closeh = CloseHandle(hProcessSnap)
closeh = CloseHandle(hProcess)
pokebyte = memo
DIM pe32
AS PROCESSENTRY32
hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)
hProcess
= OpenProcess
(PROCESS_VM_READ
OR PROCESS_QUERY_INFORMATION
OR PROCESS_VM_WRITE
OR PROCESS_VM_OPERATION
, FALSE
, pe32.th32ProcessID
) memo
= WriteProcessMemory
(hProcess
, address
, _OFFSET(value
), 2, 0) closeh = CloseHandle(hProcessSnap)
closeh = CloseHandle(hProcess)
pokeint = memo
DIM pe32
AS PROCESSENTRY32
hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)
hProcess
= OpenProcess
(PROCESS_VM_READ
OR PROCESS_QUERY_INFORMATION
OR PROCESS_VM_WRITE
OR PROCESS_VM_OPERATION
, FALSE
, pe32.th32ProcessID
) memo
= WriteProcessMemory
(hProcess
, address
, _OFFSET(value
), 4, 0) closeh = CloseHandle(hProcessSnap)
closeh = CloseHandle(hProcess)
pokelong = memo
DIM pe32
AS PROCESSENTRY32
hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)
hProcess
= OpenProcess
(PROCESS_VM_READ
OR PROCESS_QUERY_INFORMATION
OR PROCESS_VM_WRITE
OR PROCESS_VM_OPERATION
, FALSE
, pe32.th32ProcessID
) memo
= WriteProcessMemory
(hProcess
, address
, _OFFSET(value
), 8, 0) closeh = CloseHandle(hProcessSnap)
closeh = CloseHandle(hProcess)
pokeint64 = memo
DIM pe32
AS PROCESSENTRY32
hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)
hProcess
= OpenProcess
(PROCESS_VM_READ
OR PROCESS_QUERY_INFORMATION
OR PROCESS_VM_WRITE
OR PROCESS_VM_OPERATION
, FALSE
, pe32.th32ProcessID
) memo
= WriteProcessMemory
(hProcess
, address
, _OFFSET(value
), LEN(value
), 0) closeh = CloseHandle(hProcessSnap)
closeh = CloseHandle(hProcess)
pokestring = memo
PointerLen = strlen(value)