Сейчас на форуме: johnniewalker, NIKOLA (+6 невидимых) |
eXeL@B —› Крэки, обсуждения —› RAM boot образа Винды. |
Посл.ответ | Сообщение |
|
Создано: 27 мая 2017 23:05 · Поправил: wvlg · Личное сообщение · #1 Вопрос кому-то может показаться оффтоп и вообще не относящимся к exelab, но реально освятить сабж здесь смогут лучше, чем на мелкософте. Сабж: Грузим windows PE (или любой другой). Дампим память. Теперь, внимание вопрос! Можно ли этот дамп повторно запустить!? Только не на этой машине, а на любой другой!? В теории да... Я бы сказал даже, гипотетически! Но есть ли утилиты под это дело? (мало ли, очень хочу знать сабж) P.S. Заранее сорри, если есть готовые тулзы. Но ничего ненагуглил. |
|
Создано: 27 мая 2017 23:33 · Личное сообщение · #2 wvlg пишет: В теории да... Я бы сказал даже, гипотетически! На чем основываетесь..? | Сообщение посчитали полезным: dosprog |
|
Создано: 28 мая 2017 00:04 · Личное сообщение · #3 |
|
Создано: 28 мая 2017 00:07 · Личное сообщение · #4 |
|
Создано: 28 мая 2017 02:22 · Личное сообщение · #5 |
|
Создано: 28 мая 2017 03:35 · Личное сообщение · #6 |
|
Создано: 28 мая 2017 10:59 · Поправил: wvlg · Личное сообщение · #7 Задача в упрощенном виде - супербыстрая загрузка винды. По идее, опять же по идее. "Сделать" эмулятор загрузчика виндового, который этот дамп(само собой отредактированный) проглотит без лишних вопросов. Gideon Vi пишет: как минимум - будет тут же падать по драйверам. Вся процедура инициализации осталась за бортом. А какие драйвера, собственно!? Если речь идет о Windows PE - там идет их минимальный набор. Да и для чего эта инициализация нужна? Чтобы винда могла работать с устройствами. Я так понимаю, речь идет про код с правами ядра. HAL -уровень драйверов. То есть фактически придется отчасти переписать винду заново, если делать эмулятор. Либо ковырять все функции в DLL и разбираться опять же с загрузкой, чтобы код с нуля не писать. Но еще неизвестно что сложнее. Что делает загрузчик? Размечает память. Загружает все драйвера низкоуровневые. Загружает, запускает и передает управление ядру системы. А дальше? Дальше идут драйвера пользовательского режима. VOLKOFF пишет: swap-память (файл подкачки) У РЕ можно без swap difexacaw пишет: Так как ядерные данные будут утеряны Возможно, еще и часть функций ядра придется реализовывать... Вопрос мой, в общем, из серии "поиграться". Windows PE сборки, которые долго загружаются, долго грузятся как раз по причине количества драйверов, вшитых в "дистриб"-винду. И если делать их по минимуму - она грузится моментально (есть такие сборки). P.S. Постановка вопроса мной сыровата. Но в целом моя идея, надеюсь, понятна! Взяли то что лежит в RAM - сохранили и тут же запустили, как после сна. Только сделать это для любого ПК. А они только драйверами и отличаются. Без SWAP! |
|
Создано: 28 мая 2017 11:16 · Поправил: dosprog · Личное сообщение · #8 В таком устройстве, как видеокарта, например, имеется своя внутренняя память с переменными. Которые инициализируются путём подачи команд ввода-вывода (IN, OUT). Эту память не сдампишь просто так, в RAM она не представлена. И просто так её тоже не заполнишь, нужно давать эти самые команды IN,OUT. Процедуры инициализации сильно различаются для различных видеокарт, и долгое время загрузки WinPE как раз и связано с тем, что она втыком перебирает все известные алгоритмы. То есть при загрузке большую часть времени идёт тестирование электрических компонентов системы, если обойтись без этого тестирования, то ничего работать не будет. Чудес не бывает. И в микрософте такую долгую загрузку обеспечили на из-за врождённой мерзопакостности, [хотя определённые чудачества и имеют место быть], а всилу вполне объективных причин. Так что идея пагубная уже в зародыше. | Сообщение посчитали полезным: wvlg |
|
Создано: 28 мая 2017 12:16 · Личное сообщение · #9 wvlg пишет: Но в целом моя идея, надеюсь, понятна! понятна. Реализовывайте, лет через пять расскажите, как оно. | Сообщение посчитали полезным: difexacaw |
|
Создано: 28 мая 2017 18:26 · Личное сообщение · #10 wvlg пишет: "Сделать" эмулятор загрузчика виндового, который этот дамп(само собой отредактированный) проглотит без лишних вопросов. Гипотетически это возможно, полностью распарсить дамп и раскидывать данные в нужные участки памяти или поправить ссылки, только реализовать это практически - надорветесь, это не просто сложно, а п*ц как сложно, проще свое ядро написать. Лучше vm еще ничего не придумали, все данные пишутся во внутренние контейнеры и нет никаких проблем с восстановлением. | Сообщение посчитали полезным: difexacaw |
|
Создано: 29 мая 2017 01:54 · Личное сообщение · #11 wvlg > Возможно, еще и часть функций ядра придется реализовывать... Вам нужно восстановить полностью всю память системы, не только рабочий набор процесса, это сделать невозможно, кроме как гибернацией - полной выгрузкой памяти на диск. Вы никогда эту задачу не решите. И зачем оно вообще нужно, каждый запуск приложения уникален. Зачем вам это ? ----- vx |
|
Создано: 29 мая 2017 02:16 · Поправил: dosprog · Личное сообщение · #12 Гибернация не отменяет повторной инициализации всего железа, просто она выпоняется быстрее при уже известной конфигурации. Так что это не очень удачный пример. ТС и хочет "заснуть" на одном компьютере, а типа "проснуться" уже на другом или вообще на любом. | Сообщение посчитали полезным: wvlg |
|
Создано: 29 мая 2017 02:37 · Поправил: difexacaw · Личное сообщение · #13 |
eXeL@B —› Крэки, обсуждения —› RAM boot образа Винды. |