Releases: bytedance/bhook
ByteHook v1.0.2
Bugs fixed
Fix a crash in manual mode
In manual mode, the caller needs to save the original function address in the hooked
callback first, and then we can replace the address in the GOT. Otherwise, it may crash due to timing issues. So we added an additional callback (status code is BYTEHOOK_STATUS_CODE_ORIG_ADDR
) to the manual mode to allow the caller to save the original function address.
Thanks to the contributors from iQiyi Video.
Fix a deadlock bug
If dlopen
or dlclose
in .init_array
or .fini_array
, a deadlock may occur between linker-mutex
and dlclose-proxy-rwlock
.
Thanks to the contributors from iQiyi Video and Toutiao.
Bugs 修复
修复手动模式的崩溃
在手动模式中,调用者首先需要在 hooked
回调中保存原函数地址,然后我们才能替换 GOT 中的地址。否则,可能由于时序问题引起崩溃。所以我们在手动模式中,额外增加了一次回调(状态码是 BYTEHOOK_STATUS_CODE_ORIG_ADDR
),用于让调用者保存原函数地址。
感谢来自爱奇艺视频的贡献者。
修复一个死锁 bug
如果在 .init_array
或 .fini_array
中存在 dlopen
或 dlclose
,可能在 linker-mutex
与 dlclose-proxy-rwlock
之间发生死锁。
感谢来自爱奇艺视频和今日头条的贡献者。
ByteHook v1.0.1
Bugs fixed
- Fix the bug in the CFI check bypass mechanism in arm64/x86_64. This bug will cause the CFI check bypass mechanism to fail after running for a period of time, and then cause a crash.
- Add proguard.txt to AAR to keep all native methods.
Improve
- Upgrade the NDK version to 23.0.7599858.
Bugs 修复
- 修复 arm64 / x86_64 中 CFI check 绕过机制中的 bug。这个 bug 会导致 CFI check 绕过机制在运行一段时间后失效,然后导致崩溃。
- 在 AAR 中增加 proguard.txt,用来 keep 所有的 native 方法。
改进
- 升级 NDK 版本到 23.0.7599858。
ByteHook v1.0.0
First version.
第一个版本。