Я знаю, что невозможно превратить dll в код на c ++, поэтому я хотел бы собрать как можно больше подробностей из него.
Это не моя dll, поэтому у меня нет исходного кода, конечно. Какую программу я должен использовать?
Ну, если у вас есть опыт, вы можете разобрать библиотеку DLL и понять все ее функции. Это занимает значительное количество времени, но если вы сделаете это, вы можете вручную вернуться к источнику.
В противном случае вы можете начать с использования такого инструмента, как Dependency Walker, чтобы получить библиотеки DLL и функции, от которых он зависит, и функции, которые он экспортирует. Оттуда вы можете найти интересующие вас функции и использовать дизассемблер, такой как IDA, чтобы посмотреть, что они делают.
Вы можете увидеть список экспортируемых функций, используя DUMPBIN инструмент. Если функции C ++ экспортируются, вы можете определить параметры по названию.
Вы можете извлечь все ресурсы из библиотеки DLL, просто «открыв» ее как файл для просмотра ресурсов в Visual Studio. Если DLL является библиотекой на основе COM, есть небольшая вероятность, что библиотека типов будет встроена в нее как ресурс. И если у вас есть библиотека типов, вы можете #import ее, чтобы восстановить файлы заголовков для открытых интерфейсов.
Это примерно так же хорошо, как и получается.
Вам нужен просмотрщик PE-файлов. Это скажет вам экспорт из DLL, и вы можете получить данные в разделе .text, чтобы увидеть машинный код.