mirror of
https://github.com/golang/sys.git
synced 2026-01-29 15:12:09 +03:00
Remove tests
This commit is contained in:
@@ -804,88 +804,3 @@ func TestReadWriteProcessMemory(t *testing.T) {
|
||||
t.Errorf("bytes written does not match buffer: 0x%X != 0x%X", testBuffer, buffer)
|
||||
}
|
||||
}
|
||||
|
||||
func TestVirtualProtect(t *testing.T) {
|
||||
testBuffer := []byte{0xBA, 0xAD, 0xF0, 0x0D}
|
||||
|
||||
memBasicInfo := windows.MemoryBasicInformation{}
|
||||
|
||||
err := windows.VirtualQuery(uintptr(unsafe.Pointer(&testBuffer[0])), &memBasicInfo, unsafe.Sizeof(memBasicInfo))
|
||||
if err != nil {
|
||||
t.Fatalf("VirtualQuery failed: %v", err)
|
||||
}
|
||||
|
||||
origProtect := memBasicInfo.Protect
|
||||
|
||||
var oldProtect uint32
|
||||
var newProtect uint32 = windows.PAGE_EXECUTE_READWRITE // Binary will crash if you remove read-write permissions, so add execute instead.
|
||||
err = windows.VirtualProtect(uintptr(unsafe.Pointer(&testBuffer[0])), uintptr(len(testBuffer)), newProtect, &oldProtect)
|
||||
if err != nil {
|
||||
t.Fatalf("VirtualProtect failed: %v", err)
|
||||
}
|
||||
|
||||
if origProtect != oldProtect {
|
||||
t.Errorf("VirtualQuery Protect does not match oldProtect: 0x%X != 0x%X", origProtect, oldProtect)
|
||||
}
|
||||
|
||||
err = windows.VirtualQuery(uintptr(unsafe.Pointer(&testBuffer[0])), &memBasicInfo, unsafe.Sizeof(memBasicInfo))
|
||||
if err != nil {
|
||||
t.Errorf("VirtualQuery failed: %v", err)
|
||||
}
|
||||
|
||||
if memBasicInfo.Protect != newProtect {
|
||||
t.Errorf("VirtualQuery Protect does not match newProtect: 0x%X != 0x%X", memBasicInfo.Protect, newProtect)
|
||||
}
|
||||
|
||||
// Restore state
|
||||
newProtect = oldProtect
|
||||
err = windows.VirtualProtect(uintptr(unsafe.Pointer(&testBuffer[0])), uintptr(len(testBuffer)), newProtect, &oldProtect)
|
||||
if err != nil {
|
||||
t.Fatalf("VirtualProtect failed during restore: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestVirtualProtectEx(t *testing.T) {
|
||||
testBuffer := []byte{0xBA, 0xAD, 0xF0, 0x0D}
|
||||
|
||||
process, err := windows.GetCurrentProcess()
|
||||
if err != nil {
|
||||
t.Fatalf("unable to get current process: %v", err)
|
||||
}
|
||||
|
||||
memBasicInfo := windows.MemoryBasicInformation{}
|
||||
|
||||
err = windows.VirtualQueryEx(process, uintptr(unsafe.Pointer(&testBuffer[0])), &memBasicInfo, unsafe.Sizeof(memBasicInfo))
|
||||
if err != nil {
|
||||
t.Fatalf("VirtualQueryEx failed: %v", err)
|
||||
}
|
||||
|
||||
origProtect := memBasicInfo.Protect
|
||||
|
||||
var oldProtect uint32
|
||||
var newProtect uint32 = windows.PAGE_EXECUTE_READWRITE // Binary will crash if you remove read-write permissions, so add execute instead.
|
||||
err = windows.VirtualProtectEx(process, uintptr(unsafe.Pointer(&testBuffer[0])), uintptr(len(testBuffer)), newProtect, &oldProtect)
|
||||
if err != nil {
|
||||
t.Fatalf("VirtualProtectEx failed: %v", err)
|
||||
}
|
||||
|
||||
if origProtect != oldProtect {
|
||||
t.Errorf("VirtualQueryEx Protect does not match oldProtect: 0x%X != 0x%X", origProtect, oldProtect)
|
||||
}
|
||||
|
||||
err = windows.VirtualQueryEx(process, uintptr(unsafe.Pointer(&testBuffer[0])), &memBasicInfo, unsafe.Sizeof(memBasicInfo))
|
||||
if err != nil {
|
||||
t.Errorf("VirtualQueryEx failed: %v", err)
|
||||
}
|
||||
|
||||
if memBasicInfo.Protect != newProtect {
|
||||
t.Errorf("VirtualQueryEx Protect does not match newProtect: 0x%X != 0x%X", memBasicInfo.Protect, newProtect)
|
||||
}
|
||||
|
||||
// Restore state
|
||||
newProtect = oldProtect
|
||||
err = windows.VirtualProtectEx(process, uintptr(unsafe.Pointer(&testBuffer[0])), uintptr(len(testBuffer)), newProtect, &oldProtect)
|
||||
if err != nil {
|
||||
t.Fatalf("VirtualProtectEx failed during restore: %v", err)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user