Сейчас на форуме: vsv1, _MBK_ (+3 невидимых)

 eXeL@B —› Вопросы новичков —› Есть ли какие-нибудь проги, создающие .h файл из .dll
Посл.ответ Сообщение

Ранг: 11.4 (новичок)
Активность: 0.010
Статус: Участник

Создано: 28 ноября 2007 22:42
· Личное сообщение · #1

Собственно сабж. Какие проги бывают для создания заголовочного файла библиотеки?
А то если библиотека большая то как то лень самому это вручную делать (кроме dll ничего на руках нет, ни lib ни h)



Ранг: 13.0 (новичок)
Активность: 0.020
Статус: Участник

Создано: 28 ноября 2007 22:54 · Поправил: SeaMan
· Личное сообщение · #2

Если ты имеешь ввиду файлы подключения для C++ (или другого подобного) например user.h то хочу тебя огорчить. DLL файлы подобные EXE файлам, немного другой формат. Они скомпилированны и отлинкованны. Обратной автоматической декомпиляции для получения исходного кода (пока) не возможно, потому как это очень сложный процесс и мало кому это по рукам. Да и не нужно. Потому как для реконструкции исходника требуется больше времени чем написать собственный. А если кому и удаётся создать например эквивалентный код для C++, то чаще всего получается только приблизительное подобие оригиналу.

Или я тебя не так понял? Напиши хоть чего ты задумал.



Ранг: 11.4 (новичок)
Активность: 0.010
Статус: Участник

Создано: 28 ноября 2007 22:58
· Личное сообщение · #3

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



Ранг: 13.0 (новичок)
Активность: 0.020
Статус: Участник

Создано: 28 ноября 2007 23:01
· Личное сообщение · #4

Напиши лучше что ты хочешь сделать. Так понятней будет.




Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 28 ноября 2007 23:05
· Личное сообщение · #5

SeaMan пишет:
Обратной автоматической декомпиляции для получения исходного кода (пока) не возможно, потому как это очень сложный процесс и мало кому это по рукам.

Да вопрос, собственно, не в перекомпиляции, а в создании файла со списком функций (это думаю не сложно) с параметрами (а тут сомневаюсь)

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh




Ранг: 11.4 (новичок)
Активность: 0.010
Статус: Участник

Создано: 28 ноября 2007 23:07
· Личное сообщение · #6

Isaev правильно меня понял. Можно даже без списка параметров, готов сам их по мере надобности из IDA дописать. Но лучше бы конечно с параметрами =)))




Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 28 ноября 2007 23:22 · Поправил: Isaev
· Личное сообщение · #7

shob_vas пишет:
Можно даже без списка параметров

Dumpbin.exe /EXPORTS dllname.dll > output.txt

а программно --> тут <-- http://www.firststeps.ru/mfc/winapi/r.php?28

как вариант, можно с помощью консольной проги impdef.exe (из комплекта TASM, Borland C, C++ Builder, наверняка и Delphi) получить файлик *.def - там этот список и будет, даже список параметров для некоторых функций.
большинство редакторов PE-файлов могут тоже

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh





Ранг: 387.4 (мудрец)
Активность: 0.170
Статус: Участник
системщик

Создано: 29 ноября 2007 00:14
· Личное сообщение · #8

shob_vas, параметры будут только для C++ (mangled) exports. Для С бдут только "_function_name". Кста, если у тебя нету .lib обёрточки, то придётся делать LoadLibrary и GetProcAddress а потом присваивать адрес ф-ции своему указателю. Тут тебе нужны typedef-ы всех прототипов.



Ранг: 8.8 (гость)
Активность: 0=0
Статус: Участник

Создано: 29 ноября 2007 01:50
· Личное сообщение · #9

s0larian пишет:
Кста, если у тебя нету .lib обёрточки, то придётся делать LoadLibrary и GetProcAddress а потом присваивать адрес ф-ции своему указателю.


вопрос не совсем по теме: почему когда я пишу на фасме мне никакие lib и LoadLibrary не нужны просто пишу в импорт имя библиотеки и функции и нормально пашет надо только дллку в папку с прогой кинуть а на Си мне без lib или LoadLibrary не обойтись?




Ранг: 109.2 (ветеран)
Активность: 0.090
Статус: Участник
Cardinal

Создано: 29 ноября 2007 03:05
· Личное сообщение · #10

ufmod.sourceforge.net/ind_ru.htm в пакете с ufmod идет прога eff.exe, я использую ее. там есть исходники, можно модифицировать под себя, в случае необходимости.

-----
– Почему ты работаешь по ночам ? – Так удобнее... В одну смену с чертями...





Ранг: 387.4 (мудрец)
Активность: 0.170
Статус: Участник
системщик

Создано: 29 ноября 2007 03:39
· Личное сообщение · #11

tnt17, ну и что за маразм ты постишь? Скачал я это чудо - eff читает .xm и записыват в файл все байты в виде массива: char data[] = {0x01, 0x02.....};




Ранг: 387.4 (мудрец)
Активность: 0.170
Статус: Участник
системщик

Создано: 29 ноября 2007 03:41 · Поправил: s0larian
· Личное сообщение · #12

D-503, эээ... для VC++ нужен import lib, либо сам делаешь LoadLibrary. Не уверен про fasm, но думаю что ты вызывал системные функции для которых у линкера есть import libs. Если нет, то давай пример в студию




Ранг: 392.8 (мудрец), 108thx
Активность: 0.260.01
Статус: Участник
REVENGE сила, БеХоЦе могила

Создано: 29 ноября 2007 09:28
· Личное сообщение · #13

tdump.exe из пакета Delphi7 может вернуть функции любой dll

-----
StarForce и Themida ацтой!





Ранг: 109.2 (ветеран)
Активность: 0.090
Статус: Участник
Cardinal

Создано: 29 ноября 2007 09:46
· Личное сообщение · #14

s0larian пишет:
tnt17, ну и что за маразм ты постишь? Скачал я это чудо - eff читает .xm и записыват в файл все байты в виде массива: char data[] = {0x01, 0x02.....};

Ты бля, чудо в калошах. Не пизди сука. Я прочел топик и 1 поста автора и по нему ответил,а то, что автору топика, нужно выдрать функции из таблици экспорта и создать на базе них прототипы, - никто ему не виноват что неумеет выражать мысли.

-----
– Почему ты работаешь по ночам ? – Так удобнее... В одну смену с чертями...





Ранг: 387.4 (мудрец)
Активность: 0.170
Статус: Участник
системщик

Создано: 29 ноября 2007 21:12
· Личное сообщение · #15

tnt17, дурила, не отмазывайся. Читаем topic и первый пост:

Есть ли какие-нибудь проги, создающие .h файл из .dll

Какие проги бывают для создания заголовочного файла библиотеки? А то если библиотека большая то как то лень самому это вручную делать (кроме dll ничего на руках нет, ни lib ни h)

Ну, и как ты из этого придумал что ему нужет исходник с массивом байтов?!?!


 eXeL@B —› Вопросы новичков —› Есть ли какие-нибудь проги, создающие .h файл из .dll
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати