fix parsing fixups chains
address was not incrementing correctly leads to wrong offset of symbol
This commit is contained in:
parent
887c53ed44
commit
91e5b1f6b3
@ -151,11 +151,11 @@ func (mc *MachoContext) CollectBindSymbolsModern() []*ImportSymbol {
|
|||||||
fmt.Printf("// 0x%x rebase=%d target=0x%x high8=0x%x\n", address, bind, ret1, ret2)
|
fmt.Printf("// 0x%x rebase=%d target=0x%x high8=0x%x\n", address, bind, ret1, ret2)
|
||||||
}
|
}
|
||||||
|
|
||||||
address += 8
|
|
||||||
if int(next) == 0 {
|
if int(next) == 0 {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
// because the pointer move up 8 bytes already so we minus 8
|
// because the pointer move up 8 bytes already so we minus 8
|
||||||
|
address += int64(next * 4)
|
||||||
mc.file.Seek(int64(next * 4) - 8, io.SeekCurrent)
|
mc.file.Seek(int64(next * 4) - 8, io.SeekCurrent)
|
||||||
}
|
}
|
||||||
mc.file.Seek(0, io.SeekStart)
|
mc.file.Seek(0, io.SeekStart)
|
||||||
|
Loading…
Reference in New Issue
Block a user