Вопрос № 57068: Здравствуйте ! Вопрос наверное не совсем по адресу. Но может подскажете как преобразовать com-файл в exe-файл ?...Вопрос № 57158: Добрый день уважаемые эксперты!
Возникла следующая задача:
Необходимо для всей процессов которые например используют aaaa.dll перехватывать некоторые ее функции для дополнительной "доработки".
По примеру apihook (SetWindowHookEx...
Вопрос № 57.068
Здравствуйте ! Вопрос наверное не совсем по адресу. Но может подскажете как преобразовать com-файл в exe-файл ?
Отправлен: 28.09.2006, 21:36
Вопрос задал: Whiteman (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Fluxx
Здравствуйте, Whiteman!
COM-файл нельзя преобразовать в EXE напрямую. Однако, если дизассемблировать COM-программу, то можно будет её откомпилировать в EXE-программу.
Ответ отправил: Fluxx (статус: 1-ый класс)
Ответ отправлен: 29.09.2006, 07:09
Отвечает: NextStep / www2
Здравствуйте, Whiteman!
Ссылка на страницу http://comp.site3k.net/?/comp/packsdoc.html
Внизу можно скачать набор утилит, в числе которых есть COM2EXE.
--------- Нет правил без исключений, правило без исключения - это исключение из правил.
Ответ отправил: NextStep / www2 (статус: Студент)
Ответ отправлен: 29.09.2006, 09:54
Вопрос № 57.158
Добрый день уважаемые эксперты!
Возникла следующая задача:
Необходимо для всей процессов которые например используют aaaa.dll перехватывать некоторые ее функции для дополнительной "доработки".
По примеру apihook (SetWindowHookEx) система работает только для GUI приложений, а для консольных не срабатывает. Вариант через перехват INT 2Fh с номером функций не подходит т.к. хотелось бы более-менее универсальную реализацию без поиска ординалов функций в Kernel.
Как можно так перехватить обращение к библиотеке aaaa.dll, чтобы работало и в GUI и Console mode?
И второй вопрос по теме можно ли в таком случае получить всю цепочку обращения к этой функции, т.е., например, определить какая именно DLL-ка открыла файл а не только процесс.
Отправлен: 29.09.2006, 18:57
Вопрос задал: KciNKh (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 1)
Ответ отправил: mix_mix (статус: 7-ой класс)
Ответ отправлен: 29.09.2006, 20:20
Отвечает: ADSota
Здравствуйте, KciNKh!
1. Переименовываешь aaaa.dll в например bbbb.dll. Потом создаешь свою aaaa.dll, которая при загрузке подгружает bbbb.dll c помощью LoadLibrary. Потом при вызове функций, передает их (изменив параметры там где хочешь) в bbbb.dll (с помощью GetProcAddress... , stdcall eax)
--------- Открыть глаза навстречу солнцу
Ответ отправил: ADSota (статус: Специалист)
Ответ отправлен: 30.09.2006, 09:16