eXeLab
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС
выпущен 4 ноября!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Русский / Russian English / Английский

Сейчас на форуме: (+2 невидимых)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

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

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

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

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

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

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

Ранг: 69.5 (постоянный)
Статус: Участник

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

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

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

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


Ранг: 133.8 (ветеран)
Статус: Участник

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

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


Ранг: 539.1 (!)
Статус: Участник
оптимист

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

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

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


Ранг: 1120.2 (!!!!)
Статус: Участник

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

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


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


Ранг: 321.6 (мудрец)
Статус: Участник

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

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

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

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

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

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

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

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

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


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

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

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

Ранг: 408.9 (мудрец)
Статус: Участник

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

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

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

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



Ранг: 1120.2 (!!!!)
Статус: Участник

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

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


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

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


Ранг: 0.0 (гость)
Статус: Участник

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

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

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

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



Ранг: 321.6 (мудрец)
Статус: Участник

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

wvlg

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

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

Ранг: 408.9 (мудрец)
Статус: Участник

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

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

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

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



Ранг: 321.6 (мудрец)
Статус: Участник

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

dosprog

Нет. ТС не знает матчасть и по этой причине не понимает что процесс не изолирован от ос, он часть её. И так полагая хочет завести дамп юзер памяти на другой машинке. Это даже в пределах одной системы сделать нельзя.
 eXeL@B —› Крэки, обсуждения —› RAM boot образа Винды.

Оригинальный DVD-ROM: eXeL@B DVD !

Вы находитесь на форуме сайта EXELAB.RU
Проект ReactOS