【发布时间】:2010-09-21 08:23:52
【问题描述】:
我希望用一些代码修补一个废弃软件。
该软件是基于碳的,所以我不能使用 InputManager(至少,我认为我不能)。我的想法是在 mach-o 头文件中添加一个 dylib 引用,并在调用初始化例程时启动一个新线程。
我使用 hexeditor 添加了适当的加载命令 (LC_ LOAD_DYLIB) 来处理 mach-o 标头。
otool 报告了我希望看到的内容,因此我相当确信该文件的格式正确。
加载命令 63 命令 LC_LOAD_DYLIB cmdsize 60 名称 @executable_path/libAltInput.dylib(偏移量 24) 时间戳 1183743291 Fri Jul 6 19:34:51 2007 当前版本 0.0.0 兼容版本 0.0.0但是,启动二进制文件会出现以下错误
dyld:外部重定位长度错误我能猜到这意味着我需要修改 LC_SYMTAB 或 LC_DYNSYMTAB 部分...
有人有什么想法吗?
【问题讨论】:
标签: macos dylib mach-o dyld otool