Просмотр исходного кода из файла .dll или .lib с помощью dumpbin

У меня нет опыта работы с файлами .dll или .lib, и мне нужно увидеть код функции в этих файлах. Я не знаю, на что смотреть, поиск в stackoverflow привел меня к dumpbin, и я могу использовать dumpbin /EXPORTS, чтобы увидеть заголовки и функции. Но как я могу увидеть реальный код? Могу ли я сделать это только через консоль или мне нужно скачать отдельную программу?

P.S. Я использую Visual Studio, а это функции C++.

Любая помощь будет оценена по достоинству.


person Revangelis    schedule 05.01.2016    source источник
comment
Вы не можете увидеть исходный код, используя dumpbin.   -  person πάντα ῥεῖ    schedule 05.01.2016
comment
Возможно, вы видите машинный код, но в этих файлах нет исходного кода. Что ты пытаешься сделать?   -  person Bo Persson    schedule 05.01.2016
comment
Дизассемблер даст вам доступ к читабельной форме машинного кода в библиотеке, но вы никогда не получите исходный код.   -  person Frédéric Hamidi    schedule 05.01.2016
comment
Чтение @Frédéric Hamidi - это высокая оценка вывода дизассемблера. ;)   -  person some-non-descript-user    schedule 05.01.2016
comment
@some, ну тогда читабельнее ;)   -  person Frédéric Hamidi    schedule 05.01.2016
comment
Dumbpin не может делать то, что вы хотите, decompiler может вернуть что-то, что в определенной степени напоминает исходный код C/C++. Но это будет зависеть от того, насколько хорошо декомпилятор сможет определить компилятор, сгенерировавший dll.   -  person Marged    schedule 05.01.2016


Ответы (1)


Просмотр исходного кода из скомпилированного файла, такого как .lib или .dll, практически невозможен, так как это в основном скомпилированный файл.

Скомпилировав исходный код, вы потеряете некоторую информацию в виде комментариев и большую часть структуры кода. Таким образом, в файле вашей библиотеки больше нет этой информации. Однако несколько вариантов все же возможны.

Во-первых, очевидно, что если ваша библиотека получена из проекта с открытым исходным кодом, вы можете найти исходный код, обратившись к нашему дорогому другу. .

В зависимости от того, что вы действительно хотите делать с этой библиотекой, такие инструменты, как dumpbin, objdump или другие, могут дать вам больше информации о вашем существующем файле, прочитав и декодировав некоторую часть файла (заголовки, имя таблицы).

В конце концов, вы можете попытаться преобразовать свой двоичный файл во что-то более читабельное, например, ассемблер или псевдоисходный код, используя что-то вроде дизассемблера или декомпилятора, хотя его результат не будет исходным исходным кодом.

person 88877    schedule 05.01.2016