|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Окт 3, 2003 23:14:10 Заранее прошу прощения за ламерский вопрос. В нормальных условиях я мог бы поэкспериментировать и разобраться сам, но время поджимает :( Итак, имеется древняя софтина с исходниками на C++. Софтина досовская, но под виндовс на DVM работает без претензий. Так вот, необходимо расширить возможности данной софтины, но... Оригинальный код на C++ напичкан ассемблерными вставками для пересылки данных через LPT. Есть подозрение, что из-за старых методов общения с LPT этот код не будет работать без DVM. Заменять все низкоуровневые обращения на высокоуровневые - дело не очень перспективное. Поэтому решил спросить: Можно ли заставить обычный 32-битный код (DLL или EXE) работать как будто через DVM (DOS Virtual Machine)? ЗЫ: Можно конечно запихнуть старый 16-битный модуль к себе в ресурсы 32-битного и вызывать потом через консоль, но это уже изврат. |
|
|
Дата: Окт 4, 2003 05:20:09 Полностью проги с ДОСки на вЫнЬ мне переносить не переходилось, но отдельные процедуры каторые работали с портами я переносил. К сожаления фишка каторую я применял работает только под вЫнЬ9хэ - я вламывался в ring0 и работал из него ) |
|
|
Дата: Окт 4, 2003 05:42:31 · Поправил: volodya Quantum Друг мой, я оговорюсь сразу - я руками этого не делал и знаю только теорию. Так вот - ни фига у тебя не выйдет :( В первую очередь потому, что это NTVDM, а ты работаешь в win32-подсистеме. Поэтому тебе придется либо расхакивать NTVDM, либо переписывать прогу. Коллы из win32 NTVDM не задевают никоим боком. Это правильно. Но это печально для тебя :( |
|
|
Дата: Окт 4, 2003 05:58:44 Это не справедливо :( Выходит, что старая досовская прога спокойно шастает по всяким портам даже на NT4 (проверял недавно), а моя, блин, только на 9х и то с натяжкой... я вламывался в ring0 и работал из него Я такое тоже делал, но прога работала через раз, особенно заметно было на Win2000 с последними сервиспаками. Значит выход один: компилить в старом Борланд С++ и продолжать работать под прикрытием DVM, или драйвер писать (последнее - шутка) :( |
|
|
Дата: Окт 4, 2003 07:12:15 volodya Всё, похоже, что проблема решена :-) Скачал пару бесплатных драйверов. Буду тестировать, а завтра "отдохну" над UPX'ом ;-) 2 All Кроме бесплатных дров (вроде Inpout32) есть немало платных, причём дорогих... С чего бы это? Чем они лучше? Может кто-то имел возможность с ними работать и поделится впечатлениями? |
|
|
Дата: Окт 4, 2003 07:52:35 Quantum Сомнительный отдых. :( Учти, там нехило используются виртуальные функции. В зависимости от типа файла - PE/DOS/ELF и т.п., используется свой обработчик. Нас, понятное дело, интересует только PE. Но это оффтоп. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.051 |