Здравствуйте DIXX, Вы писали:
DIX>Здравствуйте _Dinosaur, Вы писали:
DIX>В любом случае нужно точки входа в DLL прописать такие же.. DIX>Чтобы при загрузке таблица импорта такаже как и для старой DLL сформировалась. Я вот не очень представляю что имеется в виду под прогой наподобие линкера.
прога: на вход подаются исходная DLL и DLL с перехваченными функциями, на выходе DLL — обертка
DIX>Ведь по объявленным в длл символам формируется таблица импорта.. Она заполняется при загрузке, когда длл уже загружена в адресное простраство процесса, просто проставляются адреса откуда вызывать функции, а пока ничего не загружено соответственно и адреса неизвестны. Поэтому если не хочется менять все функции, единственный способ это подгрузить нашу новую длл в процесс и подменть адреса символов в таблице.
А если винда rebasing DLL-ки сделает?
Завидую людям, которые могут себе позволить никуда не спешить.