Сейчас на форуме: johnniewalker, NIKOLA (+6 невидимых)

 eXeL@B —› Крэки, обсуждения —› RAM boot образа Винды.
Посл.ответ Сообщение

Ранг: 0.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 27 мая 2017 23:05 · Поправил: wvlg
· Личное сообщение · #1

Вопрос кому-то может показаться оффтоп и вообще не относящимся к exelab, но реально освятить сабж здесь смогут лучше, чем на мелкософте.

Сабж:
Грузим windows PE (или любой другой). Дампим память.
Теперь, внимание вопрос! Можно ли этот дамп повторно запустить!? Только не на этой машине, а на любой другой!?
В теории да... Я бы сказал даже, гипотетически!
Но есть ли утилиты под это дело? (мало ли, очень хочу знать сабж)

P.S. Заранее сорри, если есть готовые тулзы. Но ничего ненагуглил.




Ранг: 77.2 (постоянный), 73thx
Активность: 0.190.15
Статус: Участник

Создано: 27 мая 2017 23:33
· Личное сообщение · #2

wvlg пишет:
В теории да... Я бы сказал даже, гипотетически!

На чем основываетесь..?

| Сообщение посчитали полезным: dosprog

Ранг: 173.8 (ветеран), 208thx
Активность: 0.120.36
Статус: Участник

Создано: 28 мая 2017 00:04
· Личное сообщение · #3

Вот прям запустить?
Какая конкретная цель преследуется?
Даже если речь о Complete Memory Dump, не стоит забывать про swap-память (файл подкачки) которая нужна для полного анализа. Да и вообще тут будет много нюансов. Без постановки конечной задачи вопрос получается ниочем...




Ранг: 568.2 (!), 464thx
Активность: 0.550.57
Статус: Участник
оптимист

Создано: 28 мая 2017 00:07
· Личное сообщение · #4

wvlg пишет:
P.S. Заранее сорри, если есть готовые тулзы. Но ничего ненагуглил.

Есть называется виртуальная машина.........

-----
Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли.





Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

Создано: 28 мая 2017 02:22
· Личное сообщение · #5

wvlg пишет:
Только не на этой машине, а на любой другой!?


как минимум - будет тут же падать по драйверам. Вся процедура инициализации осталась за бортом.




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 28 мая 2017 03:35
· Личное сообщение · #6

Невозможно.
Так как ядерные данные будут утеряны. А даже если и память ядра сдампить, то её нельзя будет восстановить, так как адреса обьектов изменяются, как и их значения, к примеру рандомизация описателей.

-----
vx




Ранг: 0.2 (гость)
Активность: 0=0
Статус: Участник

Создано: 28 мая 2017 10:59 · Поправил: wvlg
· Личное сообщение · #7

Задача в упрощенном виде - супербыстрая загрузка винды.
По идее, опять же по идее. "Сделать" эмулятор загрузчика виндового, который этот дамп(само собой отредактированный) проглотит без лишних вопросов.
Gideon Vi пишет:
как минимум - будет тут же падать по драйверам. Вся процедура инициализации осталась за бортом.

А какие драйвера, собственно!? Если речь идет о Windows PE - там идет их минимальный набор. Да и для чего эта инициализация нужна? Чтобы винда могла работать с устройствами.
Я так понимаю, речь идет про код с правами ядра. HAL -уровень драйверов. То есть фактически придется отчасти переписать винду заново, если делать эмулятор. Либо ковырять все функции в DLL и разбираться опять же с загрузкой, чтобы код с нуля не писать. Но еще неизвестно что сложнее.
Что делает загрузчик?
Размечает память.
Загружает все драйвера низкоуровневые.
Загружает, запускает и передает управление ядру системы.
А дальше?
Дальше идут драйвера пользовательского режима.

VOLKOFF пишет:
swap-память (файл подкачки)

У РЕ можно без swap

difexacaw пишет:
Так как ядерные данные будут утеряны


Возможно, еще и часть функций ядра придется реализовывать...

Вопрос мой, в общем, из серии "поиграться".
Windows PE сборки, которые долго загружаются, долго грузятся
как раз по причине количества драйверов, вшитых в "дистриб"-винду.
И если делать их по минимуму - она грузится моментально (есть такие сборки).

P.S. Постановка вопроса мной сыровата. Но в целом моя идея, надеюсь, понятна!
Взяли то что лежит в RAM - сохранили и тут же запустили, как после сна. Только
сделать это для любого ПК. А они только драйверами и отличаются. Без SWAP!



Ранг: 431.7 (мудрец), 389thx
Активность: 0.730.32
Статус: Участник

Создано: 28 мая 2017 11:16 · Поправил: dosprog
· Личное сообщение · #8

В таком устройстве, как видеокарта, например, имеется своя внутренняя память с переменными.
Которые инициализируются путём подачи команд ввода-вывода (IN, OUT).
Эту память не сдампишь просто так, в RAM она не представлена.
И просто так её тоже не заполнишь, нужно давать эти самые команды IN,OUT.
Процедуры инициализации сильно различаются для различных видеокарт,
и долгое время загрузки WinPE как раз и связано с тем, что она втыком перебирает все известные алгоритмы.
То есть при загрузке большую часть времени идёт тестирование электрических компонентов системы,
если обойтись без этого тестирования, то ничего работать не будет.
Чудес не бывает.
И в микрософте такую долгую загрузку обеспечили на из-за врождённой мерзопакостности,
[хотя определённые чудачества и имеют место быть], а всилу вполне объективных причин.

Так что идея пагубная уже в зародыше.



| Сообщение посчитали полезным: wvlg


Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

Создано: 28 мая 2017 12:16
· Личное сообщение · #9

wvlg пишет:
Но в целом моя идея, надеюсь, понятна!


понятна. Реализовывайте, лет через пять расскажите, как оно.

| Сообщение посчитали полезным: difexacaw

Ранг: -0.7 (гость), 170thx
Активность: 0.540
Статус: Участник

Создано: 28 мая 2017 18:26
· Личное сообщение · #10

wvlg пишет: "Сделать" эмулятор загрузчика виндового, который этот дамп(само собой отредактированный) проглотит без лишних вопросов.

Гипотетически это возможно, полностью распарсить дамп и раскидывать данные в нужные участки памяти или поправить ссылки, только реализовать это практически - надорветесь, это не просто сложно, а п*ц как сложно, проще свое ядро написать. Лучше vm еще ничего не придумали, все данные пишутся во внутренние контейнеры и нет никаких проблем с восстановлением.

| Сообщение посчитали полезным: difexacaw


Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 29 мая 2017 01:54
· Личное сообщение · #11

wvlg

> Возможно, еще и часть функций ядра придется реализовывать...

Вам нужно восстановить полностью всю память системы, не только рабочий набор процесса, это сделать невозможно, кроме как гибернацией - полной выгрузкой памяти на диск. Вы никогда эту задачу не решите.
И зачем оно вообще нужно, каждый запуск приложения уникален. Зачем вам это ?

-----
vx




Ранг: 431.7 (мудрец), 389thx
Активность: 0.730.32
Статус: Участник

Создано: 29 мая 2017 02:16 · Поправил: dosprog
· Личное сообщение · #12

Гибернация не отменяет повторной инициализации всего железа,
просто она выпоняется быстрее при уже известной конфигурации.
Так что это не очень удачный пример.

ТС и хочет "заснуть" на одном компьютере, а типа "проснуться" уже на другом или вообще на любом.

| Сообщение посчитали полезным: wvlg


Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 29 мая 2017 02:37 · Поправил: difexacaw
· Личное сообщение · #13

dosprog

Нет. ТС не знает матчасть и по этой причине не понимает что процесс не изолирован от ос, он часть её. И так полагая хочет завести дамп юзер памяти на другой машинке. Это даже в пределах одной системы сделать нельзя.

-----
vx



 eXeL@B —› Крэки, обсуждения —› RAM boot образа Винды.
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати