此版本包含许多改进:

  • interceptor:同时暂停隐藏线程。当 Interceptor Hook 的函数与内部可能使用的函数位于同一页面时,可避免我们自己的线程随机发生 SIGBUS 崩溃。感谢 @mrmacete!
  • darwin:迁移到 POSIX Exceptor 后端。新版 Apple 操作系统对 Mach 异常处理 API 的限制日益严格。
  • darwin:在 arm64 上解析导入跳板,从而可以 Hook sigaction() 等目标。
  • linux:改进 spawn(),处理再次命中 r_brk 的情况。
  • linker:改进 spawn(),查找 RTLD 符号时考虑磁盘上的 ELF,例如可在更多 Android 系统上找到 r_debug。
  • linux:修复 DT_INIT_ARRAY 包含哨兵值时的 spawn()。
  • linux:如果存在 DT_PREINIT_ARRAY,spawn() 会使用它。
  • android:在 RTLD 后备逻辑中处理符号链接。