восстановление символов, вырезанных из двоичного кода Mach-O - PullRequest
2 голосов
/ 10 августа 2009

Использование Mac OS X 10.5 Я пытаюсь выяснить, как использовать dtrace для отслеживания выполнения двоичного файла Mach-O. Однако кажется, что все символы были удалены, поэтому любые попытки использовать датчики, основанные на внутренних именах классов / методов, заканчиваются неудачей.

Я смог использовать class-dump для вывода классов, имен методов и адресов, по которым они реализованы, поэтому я предполагаю, что вы можете использовать это для перестройки символов в двоичном файле. Это вообще возможно, и если так, то кто-нибудь знает о каких-либо инструментах, которые могут помочь с этим, или о некоторых материалах для чтения, которые помогут мне лучше понять это?

Это моя первая попытка работы с двоичными файлами на этом уровне, поэтому любая помощь будет принята.

Ответы [ 2 ]

1 голос
/ 11 марта 2015

Реконструкция символов Objective C для использования в GDB возможна, см. Мой ответ в Импорт информации о дампе класса в GDB .

0 голосов
/ 10 августа 2009

Нет, это невозможно. Когда символы удаляются, информация теряется, когда начинается именно код для каждого метода. Вам придется разобрать код, чтобы восстановить эту информацию. Если вы просто знаете, каковы методы каждого класса, вы все равно не знаете, где они находятся в коде, а это то, что нужно dtrace.

...