You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
23 lines
634 B
23 lines
634 B
package readmemory
|
|
|
|
import (
|
|
windows "golang.org/x/sys/windows"
|
|
)
|
|
|
|
type Handle struct {
|
|
processHandle windows.Handle
|
|
baseAddress int64
|
|
procReadProcessMemory *windows.Proc
|
|
}
|
|
|
|
func NewHandle(processName string) Handle {
|
|
var handle Handle
|
|
|
|
pid, _ := bindDefaultProcess(processName)
|
|
handle.processHandle, _ = windows.OpenProcess(0x0010|windows.PROCESS_VM_READ|windows.PROCESS_QUERY_INFORMATION, false, pid)
|
|
handle.procReadProcessMemory = windows.MustLoadDLL("kernel32.dll").MustFindProc("ReadProcessMemory")
|
|
baseAddress, _ := memoryReadInit(pid, processName)
|
|
handle.baseAddress = baseAddress
|
|
|
|
return handle
|
|
}
|