ByteHook v1.0.5 #35
caikelun
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Bugs fixed
dlclose
in some proxy functions could cause a deadlock.This is a very rare case: in the hook operation flow of ByteHook itself, some functions used are hooked, and
dlclose
is called in the proxy function. For example: the call ofmmap
tommap64
inlibc.so
is hooked, anddlclose
is called inmmap64_proxy
. ByteHook can prevent itself from being hooked by PLT, but cannot prevent other dynamic libraries on the call chain from being hooked.New features
bytehook_add_ignore
and java layeraddIgnore
) for setting the dynamic libraries that need to be ignored globally.We may need to ignore some dynamic libraries globally. For example, some hardened dynamic libraries from third parties may contain some unknown protection errors. Executing hooks on these dynamic libraries may cause unknown problems. Hooks to
dlopen
anddlclose
inside ByteHook are also not available.Improve
Bugs 修复
dlclose
可能引起死锁的问题。这是一种非常罕见的情况:在 ByteHook 自身的 hook 操作流程中,某些用到的函数被 hook 了,而在 proxy 函数中调用了
dlclose
。比如:libc.so
中mmap
对mmap64
的调用被 hook 了,在mmap64_proxy
中调用了dlclose
。ByteHook 能避免自身被 PLT hook,但是无法阻止调用链上其他动态库被 hook。新特性
bytehook_add_ignore
和 java 层addIgnore
),用于设置全局需要忽略的动态库。我们可能需要全局的忽略某些动态库,例如某些来自第三方的加固过的动态库,可能包含某些未知的防护错误,对这些动态库执行 hook 可能引起未知的问题。包括 ByteHook 内部对
dlopen
和dlclose
的 hook 也不能进行。改进
This discussion was created from the release ByteHook v1.0.5.
Beta Was this translation helpful? Give feedback.
All reactions