Форум: "Потрепаться";
Текущий архив: 2003.10.13;
Скачать: [xml.tar.bz2];
ВнизRunOnce в Win9X в real mode (дос-режиме) Найти похожие ветки
← →
Ihor Osov'yak (2003-09-21 17:03) [0]Сабж собственно, как сделать?
Проблема то в том, что всякие autoexec.bat и winstart.bat в милениуме уже, кажется, не обрабатываются..
Подходящее место - wininit.ini, но нигде не нашел внятного ответа на вопрос - можно ли прописать там программу на запуск..
Какие способы сделать сабж, желательно унивирсальный и для милениума и 98?
Ps. Все время с NT работал, а тут пришлось с 9X с их доовскими отголосками, блин..
← →
Ihor Osov'yak (2003-09-21 17:14) [1]имется ввиду до загрузки этой всей бодяги, которая виндовсом зовется, в то время, когда еще 16-битные..
← →
Думкин (2003-09-21 17:44) [2]Сочувствую....
← →
NightAngel (2003-09-21 22:13) [3]> Ihor Osov"yak
Если я не ошибаюсь, перед загрузкой Win9x/ME wininit.exe обрабатывает wininit.ini: из секции [rename] считываются соответствующие имена и происходит так называемое "обновление" файлов. Вроде-бы без запуска (сейчас проверить негде). Есть там ещё секции [CombineVxDs] и [SetupOptions], последняя вообще непонятно, для чего нужна. Универсального способа запуска, скорее всего нет. Config.sys, autoexec.bat, и т.д., WinME действительно игнорирует. Сейчас ничего подсказать не могу, но вроде я как-то решил эту проблему в своё время (нужно будет посмотреть).
← →
Ihor Osov'yak (2003-09-21 23:20) [4]2 [3] NightAngel © (21.09.03 22:13)
Спасибо..
> Вроде-бы без запуска (сейчас проверить негде).
Да, без запуска.. Это одна из легенд в мире троянонописателей, что
NUL=blaBla.exe
запускает проследнее на выполнение..
Пока я пошел в обход, несколько туповатым способом, и за счет некоторого уменшения функциональности, но пока приходится довольствоваться.. Но в принцыпе " но вроде я как-то решил эту проблему в своё время" было бы очень интересно послушать, хотя бы на уровне идеи.. Чисто трояно-вирусные технологии не интересуют, даже не приемлемые (например, подмена какого-то стандартного бинарника).. Также был-бы признателен за ссылку на более-менее внятное описание wininit.ini
Зы. А в принцыпе, сыр-бор начался из-за того, что мне нужно воспользовоаться функциональностью regedit, доступной только в дос-режиме,
а именно нужно одновременно заюзать комбинацию ключей /L /R /C..
Программно, естественно, а не юзверю голову морочить ..
Так вот, возможно есть и иной путь, например как бы надурить regedit, так, чтобы он думал, что его запускают из-под натурального 16-битного режима? Или как-то напрямую вызвать 16-битную секцию того-же regedit в режиме win32?
2 Думкин ©
Спасибо за сочувствие :-)..
← →
NightAngel (2003-09-22 14:02) [5]> Ihor Osov"yak [4]
> Так вот, возможно есть и иной путь, например как бы надурить regedit, так, чтобы он думал, что его запускают из-под натурального 16-битного режима? Или как-то напрямую вызвать 16-битную секцию того-же regedit в режиме win32?
Можно попробовать заставить загрузчик посчитать, что запускается обычный DOS"овский exe"шник. До запуска regedit, открываем файл, читаем dword по смещеию 3Ch от начала файла (здесь находится смещение реального PE заголовка в файле), в заголовке записана сигнатура того, что этот файл собственно говоря и является PE - должна быть "PE",0h,0h; два последних байта зарезервированы (и проверяются их равенству на 0). Так вот, меняем первые два байта ("PE") на что-нибудь другое, пишем в файл, запускаем regedit (он должен запустится как обычный DOS"овский exe), ждём пока он не отработает, возвращаем всё обратно. Совместимость - со всеми Win9x/ME. Может ещё какие-нибудь идеи будут...
> было бы очень интересно послушать, хотя бы на уровне идеи..
Чисто трояно-вирусные технологии не интересуют
Немного позже (времени совсем нет). Трояно-вирусные технологии я не использовал.
← →
Jeer (2003-09-22 14:13) [6]Можно и для миллениума организовать realdos.
Патчится IO.SYS, COMMAND.COM, REGENV32.EXE
Файлы autoexec.bat, config.sys тоже работают
← →
Ihor Osov'yak (2003-09-22 14:46) [7]2 [6] Jeer © (22.09.03 14:13)
Спасибо, знаю. Но программа делеется на заказ, и не исключено, что заказчик будет массово распространять.. Всех пользователей патчи МЕ делать не заставишь..
2 [5] NightAngel © (22.09.03 14:02)
Идея оригинальная, нужно будет проверить.. Но это уже на грани вирусных технологий.. Если и воспользуюсь (это уже зависит от заказчика), то буду делать на копии регэдита..
Еще раз спасибо.
← →
NightAngel (2003-09-24 23:02) [8]> Ihor Osov"yak
Извините за задержку. Посмотрел исходники, в WinME в реестре должен быть параметр ParseAutoexec, так, что запустить exe"шник можно так-же, как и в Win9x. НО! Всё можно сделать гораздо проще. Не знаю, как в Win9x (проверить негде), но в миллениуме (только что проверил), можно создать bat файл (там прописать запуск regedit"а с нужными ключами), и в параметрах ярлыка поставить галочку "не давать программе обнаружить Windows" - будет запускаться только DOS-часть regedit"а. Достаточно будет только, таскать с собой этот bat файл и pif к нему. Наверное это будет справедливо и для Win9x.
Удачи!
← →
Ihor Osov'yak (2003-09-24 23:37) [9]угу. Проверил... Работает при запуске через pif.. В 98 я ставил свойство "не давать обнаружить" уже для запущенного дос-сеанса, а в нем уже запускал батник. Это не срабатывало, и я наверное сделал неверные выводы.. Запустить через пиф, как то не сообразил. Спасибо. Не было ни одного варианта - теперь уже есть два (ParseAutoexec)...
Ну, а относительно таскания пифа - нужно будет посмотреть все параметры к CreateProcess - может и пифа не нужно будет таскать.. Но в случае чего таскание пифа не такая уже большая проблема.. Лучше, конечно, и без
этого..
Еще раз спасибо..
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2003.10.13;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.014 c