Импорт в VB

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
EUGY
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 214
Зарегистрирован: 09.11.2006 (Чт) 22:51
Откуда: Мурманск

Сообщение EUGY » 23.02.2007 (Пт) 18:59

LoadLibrary
GetProcAddress

Cytron
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 266
Зарегистрирован: 15.02.2007 (Чт) 21:09

Сообщение Cytron » 23.02.2007 (Пт) 19:00

через refereces вроде видно

Cytron
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 266
Зарегистрирован: 15.02.2007 (Чт) 21:09

Сообщение Cytron » 23.02.2007 (Пт) 19:19

ну редактирой PE формат прогой которую ты создашь ручками для этой цели. :D

Cytron
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 266
Зарегистрирован: 15.02.2007 (Чт) 21:09

Сообщение Cytron » 23.02.2007 (Пт) 19:29

если ты хочешь использовать функции, то нет :o
а зачем оно тебе нада в таблице импорта? через способ EUGY она прикрепится всё равно прикрепится к процессу. :).
отличие лишь в том что если оно присутствует в таблице импортов оно загрузится вместе с процессом. а так ты его загружаешь сам. да тут есть и плюсы: если функция в таблице импортов то при загрузке приложения если dll шка не будет найдена, прога даже не запуститься. а так ты можешь сделать что то типа install - не найдена - выдать сообщение об ошибке и принять меры )))
Последний раз редактировалось Cytron 23.02.2007 (Пт) 19:36, всего редактировалось 2 раз(а).

Cytron
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 266
Зарегистрирован: 15.02.2007 (Чт) 21:09

Сообщение Cytron » 23.02.2007 (Пт) 19:38

ну значит ктото изменил ее этот PE файл.
Ты исходники раскопай лучше. Раскопаешь - выложи.

EUGY
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 214
Зарегистрирован: 09.11.2006 (Чт) 22:51
Откуда: Мурманск

Сообщение EUGY » 23.02.2007 (Пт) 19:45

[quote="RamMerlabs"]Ладно, я раскопал этот EXE'шник...
quote]
Ты ничего не забыл добавить в пример?

BV
Thinker
Thinker
Аватара пользователя
 
Сообщения: 3987
Зарегистрирован: 12.09.2004 (Вс) 0:55
Откуда: Молдавия, г. Кишинёв

Сообщение BV » 23.02.2007 (Пт) 21:00

Теоретически, нужно прилинковать статические библиотеки. А для этого нужно подменить команды линкеру... Но возникает резонный вопрос - а нафига?

Не в первой работаю с API: 7 лет уже пишу.


:roll:
Судя по твом постам - знаешь ты намного меньше, чем говоришь.
const char *out = "|*0>78-,+<|"; size_t cc = char_traits<char>::length(out);
for (size_t i=0;i<cc;i++){cout<<static_cast<char>((out[i]^89));}cout<<endl;

keks-n
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2509
Зарегистрирован: 19.09.2005 (Пн) 17:17
Откуда: г. Москва

Сообщение keks-n » 23.02.2007 (Пт) 21:04

Берёшь соотв. *.lib
Берёшь masm
masm'ом создаёшь obj, который имортирует эту lib, и который предоставляет функции-переходники к ней.
В VB создаёшь модуль, аналогичный тому, что сделан masm'ом.
Тормозишь перед сборкой EXE link.exe, меняешь obj, скомпилированный из VB-шного модуля на сгенерированный masm'ом.
Продолжаешь выполнение link.exe


Итог: при вызове функций из модуля VB вместо них вызываются функции из masm'овского модуля, которые ломятся к таблице импорта.



З. Ы. Поправьте меня кто-нибудь, если я не прав.
Последний раз редактировалось keks-n 23.02.2007 (Пт) 21:31, всего редактировалось 1 раз.
Изображение

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 23.02.2007 (Пт) 21:27

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

http://bbs.vbstreets.ru/viewtopic.php?t=16020
Изображение

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 23.02.2007 (Пт) 21:54

Не тормози. Погляди бинарник.
Изображение

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 24.02.2007 (Сб) 9:08

Всего-то три часа искал -- в треде, где два аттача.
Ну просто герой.
Изображение

Cytron
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 266
Зарегистрирован: 15.02.2007 (Чт) 21:09

Сообщение Cytron » 24.02.2007 (Сб) 14:53

экономится место? с нынешнми хардами экономить место вродебы не приходится :D


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, Yandex-бот и гости: 30

    TopList  
cron