Добрый день! Подскажите, в чём может быть загвоздка? Есть программа, написанная на VB6, хочу добавить ей в секцию импорта свою dll, которая для диагностики просто выводит MsgBox при DLL_PROCESS_ATTACH. Правлю импорт, так, как описано у Криса Касперски здесь: http://www.xakep.ru/post/38421/default.asp Делаю копию импорта, переношу её в другое место и добавляю запись для своей dll и единственную импортируемую функцию. Но ничего не происходит, MsgBox при старте не выскакивает, моей dll в списке загруженных модулей процесса нет. В чём может быть дело? P.S. Программа с новым импортом работает без ошибок, PETools показывают, что моя запись успешно добавлена в импорт. P.P.S. Что характерно, с консольной программой, как в статье, всё получается.
Оригинальную прогу, к сожалению не могу "светить", нашёл другой exe с такой же внутренней структурой, с ним теже самые проблемы. http://slil.ru/24614867 (35,1 KB) Описание: KLAVA3.exe - exe с исправленной и перенесённой таблицей импорта DllTest.dll - моя dll To: Moderator, может перенести тему в WASM.RESEARCH? Тут как-то мало отвечают, а очень хочется разобраться с проблемой...
В лучших традициях - отвечаю сам себе. В стандратный скомпилированный VB6 exe'шник не удаётся добавить ни свою секцию импорта, ни свою секцию кода. Пробовал PE Tools, Stud PE и ещё всякие разные приблуды, ну и руками тоже. Удалось добавить "руками" свою секцию импорта как описано выше, путём упаковки UPX'ом и распаковки им же. После этого секция импорта сместилась в конец файла и удалось её модифицировать.