|
|
@@ -1122,7 +1122,7 @@ func ptracePeek(req int, pid int, addr uintptr, out []byte) (count int, err erro
|
|
|
// The ptrace syscall differs from glibc's ptrace.
|
|
|
// Peeks returns the word in *data, not as the return value.
|
|
|
|
|
|
- var buf [sizeofPtr]byte
|
|
|
+ var buf [SizeofPtr]byte
|
|
|
|
|
|
// Leading edge. PEEKTEXT/PEEKDATA don't require aligned
|
|
|
// access (PEEKUSER warns that it might), but if we don't
|
|
|
@@ -1130,12 +1130,12 @@ func ptracePeek(req int, pid int, addr uintptr, out []byte) (count int, err erro
|
|
|
// boundary and not get the bytes leading up to the page
|
|
|
// boundary.
|
|
|
n := 0
|
|
|
- if addr%sizeofPtr != 0 {
|
|
|
- err = ptrace(req, pid, addr-addr%sizeofPtr, uintptr(unsafe.Pointer(&buf[0])))
|
|
|
+ if addr%SizeofPtr != 0 {
|
|
|
+ err = ptrace(req, pid, addr-addr%SizeofPtr, uintptr(unsafe.Pointer(&buf[0])))
|
|
|
if err != nil {
|
|
|
return 0, err
|
|
|
}
|
|
|
- n += copy(out, buf[addr%sizeofPtr:])
|
|
|
+ n += copy(out, buf[addr%SizeofPtr:])
|
|
|
out = out[n:]
|
|
|
}
|
|
|
|
|
|
@@ -1173,15 +1173,15 @@ func ptracePoke(pokeReq int, peekReq int, pid int, addr uintptr, data []byte) (c
|
|
|
|
|
|
// Leading edge.
|
|
|
n := 0
|
|
|
- if addr%sizeofPtr != 0 {
|
|
|
- var buf [sizeofPtr]byte
|
|
|
- err = ptrace(peekReq, pid, addr-addr%sizeofPtr, uintptr(unsafe.Pointer(&buf[0])))
|
|
|
+ if addr%SizeofPtr != 0 {
|
|
|
+ var buf [SizeofPtr]byte
|
|
|
+ err = ptrace(peekReq, pid, addr-addr%SizeofPtr, uintptr(unsafe.Pointer(&buf[0])))
|
|
|
if err != nil {
|
|
|
return 0, err
|
|
|
}
|
|
|
- n += copy(buf[addr%sizeofPtr:], data)
|
|
|
+ n += copy(buf[addr%SizeofPtr:], data)
|
|
|
word := *((*uintptr)(unsafe.Pointer(&buf[0])))
|
|
|
- err = ptrace(pokeReq, pid, addr-addr%sizeofPtr, word)
|
|
|
+ err = ptrace(pokeReq, pid, addr-addr%SizeofPtr, word)
|
|
|
if err != nil {
|
|
|
return 0, err
|
|
|
}
|
|
|
@@ -1189,19 +1189,19 @@ func ptracePoke(pokeReq int, peekReq int, pid int, addr uintptr, data []byte) (c
|
|
|
}
|
|
|
|
|
|
// Interior.
|
|
|
- for len(data) > sizeofPtr {
|
|
|
+ for len(data) > SizeofPtr {
|
|
|
word := *((*uintptr)(unsafe.Pointer(&data[0])))
|
|
|
err = ptrace(pokeReq, pid, addr+uintptr(n), word)
|
|
|
if err != nil {
|
|
|
return n, err
|
|
|
}
|
|
|
- n += sizeofPtr
|
|
|
- data = data[sizeofPtr:]
|
|
|
+ n += SizeofPtr
|
|
|
+ data = data[SizeofPtr:]
|
|
|
}
|
|
|
|
|
|
// Trailing edge.
|
|
|
if len(data) > 0 {
|
|
|
- var buf [sizeofPtr]byte
|
|
|
+ var buf [SizeofPtr]byte
|
|
|
err = ptrace(peekReq, pid, addr+uintptr(n), uintptr(unsafe.Pointer(&buf[0])))
|
|
|
if err != nil {
|
|
|
return n, err
|