Сейчас на форуме: hgdagon, asfa, bartolomeo (+6 невидимых)

 eXeL@B —› Программирование —› Экспорт функций Dll в другую Dll
Посл.ответ Сообщение

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

Создано: 25 ноября 2006 12:17
· Личное сообщение · #1

Доброго времени суток.
Есть такая задача: длл весом в 900 кб, консольная программа, которая использует всего 5-6 функций из длл, можно ли как-нибудь эти функции выдернуть и вставить в свою длл? Или наоборот в текущей длл вырезать все лишнее?



Ранг: 123.7 (ветеран)
Активность: 0.10
Статус: Участник
1nn0$/100

Создано: 25 ноября 2006 15:00
· Личное сообщение · #2

Можно.
P.S. подобный вопрос вроде бы был.

-----
Blame the victim!




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

Создано: 25 ноября 2006 15:12
· Личное сообщение · #3

1nn0cent
А конкретней? Я перерыл гугль, ничего не нашел. Находил подобный вопрос вроде бы был, но был в архиве, черт знает за какой год, и конкретного ответа дано не было.




Ранг: 199.6 (ветеран), 12thx
Активность: 0.10
Статус: Участник
www.uinc.ru

Создано: 25 ноября 2006 16:26
· Личное сообщение · #4

Это называется DLL Wrapper, вот и гугли это словосочетание. Рекомендую сабж от старого ленивого редплейта.



Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 25 ноября 2006 22:59
· Личное сообщение · #5

Killer-XXX пишет:
в текущей длл вырезать все лишнее?

Можно по-тупому забить все лишнее нопами и сжать, если объем критичен. Только ты уверен, что из 900 кило много лишнего ?!



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

Создано: 26 ноября 2006 06:32
· Личное сообщение · #6

DrGolova пишет:
DLL Wrapper

Вроде нашел, но не совсем понял, что от меня требуется. Там и перл вроде надо, а этого, к сожалению, у меня нет.

tundra37 пишет:
забить все лишнее нопами и сжать

Вроде оптимальный вариант, только вот через что? А насчет размера, то скорей всего уверен, т.к. длл-ка экспортирует 131 функцию, мне нужно только 7.



Ранг: 123.7 (ветеран)
Активность: 0.10
Статус: Участник
1nn0$/100

Создано: 26 ноября 2006 06:49
· Личное сообщение · #7

Killer-XXX пишет:
Вроде оптимальный вариант, только вот через что?

В смысле?
В HEX редакторе нопишь. Жмешь UPXом.

-----
Blame the victim!





Ранг: 230.5 (наставник)
Активность: 0.180
Статус: Участник
Norg

Создано: 26 ноября 2006 06:51
· Личное сообщение · #8

Killer-XXXВыложи dll сюда я посмотрю.

-----
M&#225 enginn renna undan &#254v&#237 sem honum er skapa&#240




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

Создано: 26 ноября 2006 07:07
· Личное сообщение · #9

Killer-XXX пишет:
т.к. длл-ка экспортирует 131 функцию, мне нужно только 7.

А ты их анализировал? Уверен в том, что эти 7 не вызывают код других?

-----
Всем привет, я вернулся




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

Создано: 26 ноября 2006 07:24
· Личное сообщение · #10

1nn0cent пишет:
В смысле?
В HEX редакторе нопишь. Жмешь UPXом.

Кхе-кхе, думаю мозгов у меня не хватит.


di-2 пишет:
Выложи dll сюда я посмотрю.

Прикрепляю длл + рисунок с необходимыми функциями.


Bitfry пишет:
А ты их анализировал? Уверен в том, что эти 7 не вызывают код других?

Нет, такие подозрения были, но я псчитал, что если бы функции вызывали другие из библиотеки, они были бы указаны в импорте программы, разве нет?

6292_26.11.2006_CRACKLAB.rU.tgz - lib.7z




Ранг: 230.5 (наставник)
Активность: 0.180
Статус: Участник
Norg

Создано: 26 ноября 2006 07:39
· Личное сообщение · #11

вот нашел полезную статью по использованию DLLTools www.basegraph.com/bg/tutorials/eng_tutor_dlltools/dlltools.html

-----
M&#225 enginn renna undan &#254v&#237 sem honum er skapa&#240




Ранг: 54.0 (постоянный)
Активность: 0.020
Статус: Участник

Создано: 26 ноября 2006 09:44
· Личное сообщение · #12

Killer-XXX пишет:
Нет, такие подозрения были, но я псчитал, что если бы функции вызывали другие из библиотеки, они были бы указаны в импорте программы, разве нет?

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



Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 27 ноября 2006 02:19
· Личное сообщение · #13

Killer-XXX Сама DLL свои функции вызывает без импорта. Кроме того там бывают внутренние функции - их нет в экспорте
Killer-XXX пишет:
Кхе-кхе, думаю мозгов у меня не хватит

Зачем же тогда такие "сложные" вопросы задаешь, да еще в разделе программирование.




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

Создано: 27 ноября 2006 09:29 · Поправил: s0larian
· Личное сообщение · #14

Killer-XXX пишет:
Bitfry пишет:
А ты их анализировал? Уверен в том, что эти 7 не вызывают код других?
Нет, такие подозрения были, но я псчитал, что если бы функции вызывали другие из библиотеки, они были бы указаны в импорте программы, разве нет?

Не, ты что - автор может экспортировать, скажем, Init(), Shutdown(), DoSomething() а они уже используют весь остальной код. Смотри на это вот как - в .h файле публикуются несколько главных функций, а в .с (или даже в нескольких) всё это реализовоано.

Посмотри Идой - там скорее всего будут вызовы внутренних функций, а иначе линкер бы не включил их в образ.


 eXeL@B —› Программирование —› Экспорт функций Dll в другую Dll
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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