Внедрение кода C в приложение * nix: замена функции - PullRequest
1 голос
/ 20 сентября 2010

У меня есть новенький, но очень важный для меня вопрос: у меня есть приложение Mac Os X, которое использует carbon api, но это все еще приложение C ++.Мне нужно отладить, какие функции вызываются во время выполнения, а затем сделать патч C ++ для замены одной из этих функций.

Реальная цель: мне нужно записать весь напечатанный текст в окно чата, которое находится внутри приложения.непостижимый углеродный взгляд.Сначала я подумал, что это приложение с какао, но это не так, поэтому fscript и imlib бесполезны для введения кода.

Возможно ли это?Есть какие-нибудь подсказки?Большое спасибо.

Приветствия:)

1 Ответ

0 голосов
/ 20 сентября 2010

Вы можете использовать truss, чтобы выяснить, какие системные вызовы выполняются, но я не уверен в пользовательских вызовах. Переменная окружения LD_PRELOAD может позволить вам внедрять методы в другие приложения, но методы C ++, как правило, имеют различные зависимости в отношении искажения имени и вызова метода, поэтому, вероятно, было бы сложно подключить ваше собственное.

Можете ли вы, чтобы сопровождающий приложения добавил реальные хуки, чтобы учесть то, что вам нужно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...