2010-09-20 91 views
1

我对我有一个新手但非常重要的问题:我有一个使用碳API的Mac OS X应用程序,但它仍然是一个C++应用程序。我需要调试在执行时调用哪些函数,然后使用C++修补程序替换其中一个函数。注入C代码到* nix应用程序中:替换函数

真正的目标:我需要将所有打印到聊天窗口中的文本记录下来,该聊天窗口中的应用程序具有难以接近的碳视图。起初我认为这是一个可可应用程序,但它不是,所以fscript和imlib不适合注入代码。

可能吗?任何线索?非常感谢你。

干杯:)

回答

0

你可以考虑使用truss找出正在作出哪些系统调用,但我不知道用户通话。环境变量LD_PRELOAD可以允许你向其他应用程序注入方法,但C++方法往往对名称修改和调用方法有各种依赖关系,因此插入自己的方法可能会很棘手。

您是否可以让应用程序维护人员添加实际挂钩以满足您的需求?

+0

谢谢;-)我一直在研究和使用以下命令: – flaab 2010-09-21 07:22:30

+0

$ strings 我能够找出字符串是C++ fsprint格式。我将声明我自己并通过使用LD_PRELOAD注入它们:我将记录所有正在处理的匹配正则表达式的字符串,并且应该这样做。我会让你知道它是如何去的。谢谢;) – flaab 2010-09-21 07:23:41

+0

我的意思是我会重新声明fsprintf等等;) – flaab 2010-09-21 07:24:05

相关问题