Я должен шпионить за C ++ DLL. Я хотел бы вставить вызовы трассировки в ассемблерный код, например, изменить код, чтобы поместить небольшой код, который будет отслеживать некоторую переменную в текстовом файле. У меня нет доступа к среде выполнения машины, на которой используется dll, я могу получить доступ только к хранилищу, поэтому я не могу динамически шпионить с помощью отладки IDA, я должен поместить некоторые файлы с шпионским кодом внутрь, а затем запустить машину, запустить ее затем выключите компьютер и верните файлы трассировки, в конечном итоге созданные в хранилище.
Есть ли какой-нибудь способ автоматизировать вставку шпионского кода, например, с помощью IDA Pro или аналогичного инструмента.
Я декомпилировал Dll, используя Hex-Ray, и, да, я мог изменить исходный код C и установить там функции, но, к сожалению, Hex-Ray не может полностью изменить весь код, только как 90%, и тогда я не могу использовать этот способ.
Видя как это dll, вы можете использовать wrapgen Плагин IDA для создания DLL-оболочки, которая вызывает исходный код и вставляет любой код отслеживания и трассировки, который вам нужен.
В более сложных случаях вы можете использовать dll-оболочку для динамического исправления исходного dll, если вам нужно отслеживать локальные переменные функции.
Других решений пока нет …