In gum_interceptor_resolve, the interceptor calls uses a call to _gum_interceptor_backend_resolve_redirect to resolve relative and indirect jumps. This may however unintended behavior, from a user perspective:
Consider two instructions A and B that are both a jump to C. A hook that was intended to be placed at A would end up at C instead, reachable by both code paths.
Obviously, this behavior is internal and not documented anywhere, as far as I can tell.
In
gum_interceptor_resolve, the interceptor calls uses a call to_gum_interceptor_backend_resolve_redirectto resolve relative and indirect jumps. This may however unintended behavior, from a user perspective:Consider two instructions A and B that are both a jump to C. A hook that was intended to be placed at A would end up at C instead, reachable by both code paths.
Obviously, this behavior is internal and not documented anywhere, as far as I can tell.