Форум: "Система";
Текущий архив: 2002.10.03;
Скачать: [xml.tar.bz2];
ВнизКак Найти похожие ветки
← →
vasya_dvc (2002-06-07 00:48) [0]Проблема:
1. программа без исходников.
2. написана под конкретное устройство PCI(Frame Grabber Synchro IV - получение изображения с видеокамеры).
3. использует для общения свою библиотеку dll.
Идея такова, чтобы заставить прогу работать с обыкновенной видюхой с ТВ входом.
Вопрос:
1. Какова вероятность того, что удасться правильно заменить функцию получения кадра в её dll на свою?
2. КАК ЭТО СДЕЛАТЬ? Или как это можно обойти?
Комментарий:
1. Железо специфично. Шнурок под камеру и сама камера не подходит к стандартному видеовходу.
2. Документация к девайсине - только на немецком, да и та неполная.
-----
Заранее спасибо за любые мысли (кроме глупых) и предложения (кроме несуразных) по этому поводу.
Желаю всем безошибочного кода и лёгкой отладки в своих проектах!
← →
Digitman (2002-06-07 13:44) [1]Если я правильно тебя понял - в составе программного пакета, поставляемого вместе с "девайсиной" нет никаких исп.файлов , кроме одного EXE и одной DLL ? Что, ни SYS ни VXD (иными словами - драйверов в соответствующих платформозависимых стандартах) нет и в помине ? Что-то слабо верится ...
Если пакет только под Win9x, еще можно предположить, что разработчик софта напрямую "лезет" в дивайс, игнорируя всяческие стандарты и (тем или иным образом) обходя ограничения пользовательского режима приложения по произвольному непоср.доступу к ресурсам аппаратуры ... Но пакет и под NT таки инсталлируется, тогда непонятно, какой идиот мог сподобиться написать прогр.пакет, не использующий драйверы WDM-стандарта (да черт с ним, со стандартом - драйвер режима ядра вообще как такового) и обходящий всякими хитроумными способами не самую слабую систему защиты NT-платформы ...
Может, прокомментируешь ? На основании чего ты утверждаешь, что та самая DLL предназначена именно для непосредственного (цитирую тебя : "..использует для общения..") управления "дивайсиной" ?
← →
vasya_dvc (2002-06-09 00:35) [2]vxd присутствует. Но это не меняет сути. Проблема в том чтобы залесть в программу (в библиотку DLL или в исполняемый exe модуль) и сделать своеобразный patch - исправить несколько байт таким образом, чтобы для получения кадра она обращалась не к своему устройству, а, скажем, к определённому месту памяти, куда я предварительно напишу то, что мне нужно.
Кто-нибудь это делал? Такое в принципе возможно?
← →
Digitman (2002-06-11 13:53) [3]в принципе, говоришь ? в принципе возможно все) ...
но прежде чем угробить уйму времени, здоровья и нервов на тот самый patch, что не дает тебе покоя, нужно исследовать досконально, нет ли иных, простых, базирующихся на возможно применяемых в пакете стандартных решений перенаправления ввода/вывода.
Посему выясни, каким виртуальным устройством в системе представлена инсталлированная VXD и представлена ли вообще.
← →
DC-AC (2002-06-11 15:18) [4]Может быть здесь http://forum.ixbt.com/?id=29 поспрошать ? По программированию может и не помогут, но альтернативные решения подскажут...
← →
vasya_dvc (2002-07-26 22:31) [5]Я ЭТО СДЕЛАЛ!!!
A patch на самом деле там плёвый ... заменить в нужных местах jne на jmp - и всё!. За одно и проги крякать научился. Нужно было только 4 бутылки пива и 2 дня работы :)!
Спасибо всем, кто пытался помочь, особенно Digitman"у!
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2002.10.03;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c