MCPcopy Create free account
hub / github.com/Binject/universal / findMacho

Function findMacho

loader_darwin.go:322–341  ·  view source on GitHub ↗
(addr uintptr, increment uint32)

Source from the content-addressed store, hash-verified

320}
321
322func findMacho(addr uintptr, increment uint32) (uintptr, error) {
323 var (
324 base uintptr
325 header uint32
326 err error = fmt.Errorf("could not find macho")
327 )
328 ptr := addr
329 for {
330 if isPtrValid(ptr) {
331 header = *(*uint32)(unsafe.Pointer(ptr))
332 if header == macho.Magic64 {
333 base = ptr
334 err = nil
335 break
336 }
337 }
338 ptr += uintptr(increment)
339 }
340 return base, err
341}
342
343func findMachoPtr(addr uintptr) (uintptr, error) {
344 var (

Callers 1

LoadLibraryImplFunction · 0.85

Calls 1

isPtrValidFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…