代码之家  ›  专栏  ›  技术社区  ›  flaab

将c代码注入*nix应用程序:替换函数

  •  1
  • flaab  · 技术社区  · 15 年前

    我有一个新手,但对我来说,一个非常重要的问题是:我有一个使用碳API的Mac OS X应用程序,但它仍然是一个C++应用程序。我需要调试在执行时调用哪些函数,然后制作一个C++补丁来替换其中的一个函数。

    真正的目标是:我需要将打印的所有文本记录到应用程序在一个不可访问的carbon视图中的一个聊天窗口中。起初我以为它是一个cocoa应用程序,但事实并非如此,因此fscript和imlib不适合注入代码。

    有可能吗有线索吗非常感谢你。

    干杯:)

    1 回复  |  直到 15 年前
        1
  •  0
  •   Mark B    15 年前

    你可以考虑使用 truss 找出正在进行的系统调用,但我不确定是否有用户调用。这个 LD_PRELOAD 环境变量可以让你把方法注入到其他应用程序中,但是C++方法倾向于有各种关于名字修改和调用方法的依赖关系,所以插入你自己的方法可能很困难。

    你能让应用维护人员添加实际的钩子来满足你的需求吗?