Skip to content

# TablePlus 注入失败 - 流程成功完成但Hook无效 #5

@Abel676

Description

@Abel676

环境信息

  • 操作系统: macOS (arm64)
  • 目标应用: TablePlus
  • Hook库: libdylib_dobby_hook.dylib
  • 注入工具: insert_dylib

问题描述

注入流程成功完成,所有步骤都显示通过,但Hook似乎实际无效。目标应用程序正常启动,但没有预期的Hook行为。

执行日志

🚀 STARTING PROCESS: TablePlus
📦 APP DETAILS: Bundle ID Unknown
📂 CREATING DIRECTORY /Applications/TablePlus.app/Contents/Frameworks/
✅ mkdir -p '/Applications/TablePlus.app/Contents/Frameworks/'

📂 COPYING DYLIB to /Applications/TablePlus.app/Contents/Frameworks/libdylib_dobby_hook.dylib
✅ sudo cp -f '/Applications/AutoHackGUI.app/Contents/Resources/dylib_dobby_hook/release/mac/libdylib_dobby_hook.dylib' '/Applications/TablePlus.app/Contents/Frameworks/libdylib_dobby_hook.dylib'

💉 STATIC INJECTION: /Applications/TablePlus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Sparkle
🔍 Checking injection status for: /Applications/TablePlus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Sparkle

Status: Not injected (注入前状态:未注入)

✅ /Applications/AutoHackGUI.app/Contents/Resources/dylib_dobby_hook/tools/insert_dylib --inplace --weak --all-yes --no-strip-codesig '@rpath/libdylib_dobby_hook.dylib' '/Applications/TablePlus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Sparkle'

Binary is a fat binary with 2 archs.
Added LC_LOAD_WEAK_DYLIB to all archs in /Applications/TablePlus.app/Contents/Frameworks/Sparkle.framework/Versions/B/Sparkle

🔏 RE-SIGNING APP: TablePlus
✅ sudo xattr -rc '/Applications/TablePlus.app'
✅ sudo codesign -f -s - --all-architectures --deep '/Applications/TablePlus.app'
/Applications/TablePlus.app: replacing existing signature

🔍 Verifying signature for: /Applications/TablePlus.app
✅ sudo codesign --verify --verbose=1 '/Applications/TablePlus.app'
/Applications/TablePlus.app: valid on disk
/Applications/TablePlus.app: satisfies its Designated Requirement

🟢 Signature valid.
Removing quarantine attribute for: /Applications/TablePlus.app
✅ sudo /usr/bin/xattr -r -d com.apple.quarantine '/Applications/TablePlus.app'

🎉 PROCESS COMPLETED: TablePlus

流程分析

  1. 目录创建: ✅ 成功创建 Frameworks 目录
  2. 库文件复制: ✅ 成功复制 dobby hook 库
  3. 注入操作: ✅ 成功注入到 Sparkle.framework 二进制文件(x86_64 和 arm64 架构)
  4. 代码签名: ✅ 成功重新签名,签名有效
  5. 移除隔离: ✅ 成功移除隔离属性

预期行为 vs 实际行为

  • 预期: TablePlus 启动时应该加载 Hook 库,启用预期的Hook功能
  • 实际: TablePlus 正常启动,但Hook似乎不起作用/无效

疑问点

  1. 注入目标是否应该是 TablePlus 主程序而不是 Sparkle 框架?
  2. 是否需要额外的验证来确认 dylib 在运行时确实被加载?
  3. 是否存在与特定版本的 TablePlus 或 macOS 安全特性的兼容性问题?

需要的额外信息

  • 如何验证注入的 dylib 是否在运行时真正被加载?
  • 是否有控制台日志或调试步骤来排查Hook有效性问题?
  • 是否应该针对 TablePlus.app 包内的其他二进制文件?

注入流程本身看起来工作正常,但最终结果表明Hook可能没有生效,或者目标二进制文件的选择可能需要调整。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions