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

 eXeL@B —› Вопросы новичков —› Можно ли создать "типа дамп" запущенной программы, и в дальнейшем запускать её с этого дам
Посл.ответ Сообщение

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

Создано: 24 июня 2013 10:55
· Личное сообщение · #1

Можно ли и как создать "типа дамп" запущенной программы (игры), и в дальнейшем запускать её с этого сохранённого дампа ? А не с ехе-шника. Где об этом можно почитать ?



Ранг: 23.1 (новичок), 3thx
Активность: 0.010
Статус: Участник

Создано: 24 июня 2013 11:10 · Поправил: ZX-CodeR
· Личное сообщение · #2

Что значит типа дамп ? Это и называется дамп, слепок процесса в памяти, статей куча на этом сайтенаверняка есть, ищи .
Почитай про расспаковку UPX.
А по поводу инструментов, можешь PETools посмотреть.



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

Создано: 24 июня 2013 11:10
· Личное сообщение · #3

снапшот в VmWare спасёт отца русской демократии

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

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

Создано: 24 июня 2013 15:59
· Личное сообщение · #4

ZX-CodeR : "Что значит типа дамп ? Это и называется дамп, слепок процесса в памяти".
Но дамп нельзя взять и запустить. Его можно просматривать, изучать и т.д.

tihiy_grom : "снапшот в VmWare спасёт отца русской демократии"
Спасибо. Это понятно. Идея хорошая. снапшот в VmWare сохр. полн. всё состояние Вирт. машины. Но это не совсем то, что хотелось бы. Не все ОС подд. VmWare . Громоздко как-то. Да это и не для слабых компов. А можно это сделать без VmWare ? С пом. какой нить утилиты ?



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

Создано: 24 июня 2013 16:11
· Личное сообщение · #5

Вы бы нормально сформулировали свой вопрос ... А то вообще непонятно чего вы хотите добиться.

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


Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 24 июня 2013 16:26 · Поправил: ARCHANGEL
· Личное сообщение · #6

tihiy_grom
Я, как магистр телепатии, поясняю. Вот есть у нас прекрасная тулза, называется IDA Pro 6.4. Всё в ней хорошо, но нельзя сохранять базы, т.к. это демка. А что, если б мы нашли какой-то способ считать всю виртуальную память, инфу про загруженные библиотеки и прочее, чтоб можно было все эти объекты сериализовать хоть в каком-нибудь виде в файл на диске, а потом с этого файла восстановить всё состояния процесса.

Ответ (специально для SergZZ). Как бы это ни было грустно, но сделать этого нельзя. Дело в том, что помимо выделения памяти и загрузки библиотек, создаётся ещё масса объектов ядра (мьютексы, семафоры), открываются файлы и т.д. и всё это пользовательский процесс не контроллирует, ему просто становятся доступны дескрипторы. Эти самые дескрипторы (числовые константы) после восстановления из какого-нибудь дампа нихрена не будут работать, ибо их надо заново создать. Плюс если в момент дампа некий поток ждёт на каком-то объекте синхронизации, то и это надо в пользовательском потоке воссоздать. И всё упирается в несколько нетривиальных проблем реализации:

1. Загрузка пользовательских библиотек по нужному адресу (пусть даже вручную), но так, чтоб потом любой другой код мог бы с ними работать, т.е. чтоб они отображались в РЕВ, чтоб работал GetProcAddress для их функций и, что самое главное - чтоб работали колбэки на DLL_THREAD_ATTACH/DETACH.
2. Объекты ядра. Да, в EPROCESS есть указать на таблицу дескрипторов, но проблема в том, что с каждым объектом в этой таблице надо уметь работать - т.е. вручную создавать его в ядре. А инфы по этой проблеме - ну, не много.

Т.е. сказать, чтоб прям совсем нельзя - это неправльно, но это очень большой геморрой, на практике нереализуемый.

-----
Stuck to the plan, always think that we would stand up, never ran.


| Сообщение посчитали полезным: SergZZ, Artem_N, DenCoder

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

Создано: 24 июня 2013 16:30 · Поправил: tihiy_grom
· Личное сообщение · #7

ARCHANGEL
я вот думаю что у ТС игра привязана к диску и на его машине она запускается. А он типа хочет слепок сделать, который будет на любых компах работать.
В итоге окажется что ему просто надо игру от диска отучить.

Но это я тоже в телепатии тренируюсь, поэтому могу и ошибаться.



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

Создано: 24 июня 2013 17:18
· Личное сообщение · #8

tihiy_grom, Вы не совсем правы. "игру от диска отучить" я научился ещё в далёком детстве.

Есть прога, которая тормозит и сильно грузит ЧПУ в полноэкранном режиме (ПЭР). В оконном тоже, но поменьше. ( кстати, я всю жизнь думал, что ПЭР жрёт меньше ресурсов ЧПУ , чем оконный . Я не прав ? )
Но иногда, при её запуске происходит "сбой" , пропускается рекл. баннер, загр. ЧПУ снижается в 7,4 раза. И вообще всё тип-топ. Вот я и думаю, как сделать, чтоб этот "сбой" был всегда ?
Я комп. (ноут НР 650 ; ОС Вин7старт.) никогда не выключаю, а отправляю в сон. Это конечно какой-то выход, но иногда приходится перегружаться и . . . тогда счастью конец.
Пробовал делать короткий обход рекл. баннера, но тогда прога не запускается совсем. А при "сбое" рекл. баннера нет, а всё работает ОК.



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

Создано: 24 июня 2013 17:38 · Поправил: VodoleY
· Личное сообщение · #9

SergZZ заархивируй гербел файл ))))))
З.ы. а если по теме. выб на свой патчинг пропуска поставили бы хардвар бряк на память... на аксцес.. может прога палит ваш патч? по тихому

-----
Наша работа во тьме, Мы делаем, что умеем. Мы отдаем, что имеем, Наша работа во тьме....




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

Создано: 24 июня 2013 17:44
· Личное сообщение · #10

VodoleY, на проге патча нет. Лицензия, однако.



Ранг: 18.2 (новичок), 8thx
Активность: 0.010
Статус: Участник

Создано: 24 июня 2013 17:46
· Личное сообщение · #11

ARCHANGEL пишет:
Т.е. сказать, чтоб прям совсем нельзя - это неправльно, но это очень большой геморрой, на практике нереализуемый.


Вообще то вполне реализуемый =)

Вот есть на linux http://en.wikipedia.org/wiki/Application_checkpointing , смотреть DMTCP и CRIU.
Можно взять, к примеру IDA, запустить под wine (вполне нормально работает) и заюзать DMTCP или CRIU.

Если нужно прям под винду, то думаю, можно взять WRK и реализовать.




Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 24 июня 2013 20:12
· Личное сообщение · #12

gloomdemon
Эх, как бы все вам были благодарны за такую штуку под виндой. Вот пишу я одну хрень расчётную для работы, так мне надо думать, как сохранять в файле на диске исходные данные для расчёта, как их потом оттуда загрузить, а так пыщщщ - и благодаря вашей волшебной софтине я бы уже не напрягался. Да и для иды пригодится. Так что если вам надо взять WRK и реализовать, то чё ж там - не сдерживайте себя.

-----
Stuck to the plan, always think that we would stand up, never ran.




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

Создано: 25 июня 2013 12:59 · Поправил: SergZZ
· Личное сообщение · #13

А на этот вопрос, SergZZ: "я всю жизнь думал, что ПЭР ( полноэкранный режим работы программы ) жрёт меньше ресурсов ЧПУ (да и всего ) , чем оконный . Я не прав ? " кто-нибудь может ответить ? Или для разных прог. по-разному ?




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

Создано: 30 июня 2013 10:52
· Личное сообщение · #14

ARCHANGEL

> 2. Объекты ядра.

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

> при "сбое" рекл. баннера нет, а всё работает ОК.

Это что, прикол какой то ?



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

Создано: 30 июня 2013 22:07
· Личное сообщение · #15

ARCHANGEL пишет:
Вот есть у нас прекрасная тулза, называется IDA Pro 6.4. Всё в ней хорошо, но нельзя сохранять базы, т.к. это демка.

У вас, возможно и есть. У остальных есть обрезок под названием IDA Demo 6.4, который не умеет дизассемблировать x64, лимитирован по времени и для работы не годится.



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

Создано: 30 июня 2013 23:00
· Личное сообщение · #16

Dr0p пишет:
> при "сбое" рекл. баннера нет, а всё работает ОК. Это что, прикол какой то ?


Да нет. Не думаю. Написал то что есть. Если честно, не понял вопроса Dr0p.



Ранг: 10.4 (новичок), 12thx
Активность: 0.030
Статус: Участник

Создано: 01 июля 2013 00:10
· Личное сообщение · #17

SergZZ пишет:
Да нет. Не думаю. Написал то что есть. Если честно, не понял вопроса Dr0p.


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

SergZZ пишет:
Пробовал делать короткий обход рекл. баннера, но тогда прога не запускается совсем. А при "сбое" рекл. баннера нет, а всё работает ОК.


хреново пробывал видимо)что вообще за банер такой? что за программа - мб там делов-то снести пару видео-файлов/картинок из папки с игрой и этот "сбой" будет всегда.

про "типо дамп" всё уже ответили)




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

Создано: 01 июля 2013 03:11
· Личное сообщение · #18

tihiy_grom пишет:
снапшот в VmWare спасёт отца русской демократии

А как сообщить, что сообщение бесполезное или несодержательное?

Не читая дальнейших ответов, ответ напрашивается сам собой - вам нужно из переменных сохранять только "математику", а дескрипторы выделять заново. Что значит - никак без реверса игры!

Но! 7 лет назад на удачу пробовал в сложной ситуации снимать дамп работающей игры, чтобы пойти другим путём (типа как чувак в фильме, который видел на 2 минуты вперёд) - 90% случаев прокатит, иногда с приемлемыми глюками, 10% - нет! и потому, что хендлы(т.е. описатели для некоторых) меняются.

-----
IZ.RU




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

Создано: 01 июля 2013 19:57
· Личное сообщение · #19

Недавно воспользовался программой М.Руссиновича "ProcessExplorer", но он показывает в основном:
одна программа --> один процесс. А чем бы ещё можно было детальнее посмотреть, из чего состоит процесс ?

dfnsff что за программа - мб там делов-то снести пару видео-файлов/картинок из папки с игрой

Программа, это игра "Z". Точнее даже Мод Антареса ( http://imasters.org.ru/viewtopic.php?id=60 ) + Мод Мееку. Можете посмотреть в википедии "Z, игра". И здесь:
http://zzone.lewe.com/forum/viewtopic.php?f=12&t=500
http://zzone.lewe.com/forum/viewtopic.php?p=4339#p4339
Кого интересует, можете бегло просмотреть посты в этих ссылках.



Ранг: 10.4 (новичок), 12thx
Активность: 0.030
Статус: Участник

Создано: 01 июля 2013 20:13
· Личное сообщение · #20

SergZZ пишет:
Программа, это игра "Z". Точнее даже Мод Антареса ( http://imasters.org.ru/viewtopic.php?id=60 ) + Мод Мееку. Можете посмотреть в википедии "Z, игра". И здесь:
http://zzone.lewe.com/forum/viewtopic.php?f=12&t=500
http://zzone.lewe.com/forum/viewtopic.php?p=4339#p4339
Кого интересует, можете бегло просмотреть посты в этих ссылках.


папку с игрой заархивировать бы. и залить на ргхост какой-нить) чёт у меня ничего не ставится. да и для чистоты эксперимента версия со "сбоями" нужна



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

Создано: 01 июля 2013 21:07
· Личное сообщение · #21

dfnsff пишет:
папку с игрой заархивировать бы. и залить на ргхост какой-нить) чёт у меня ничего не ставится. да и для чистоты эксперимента версия со "сбоями" нужна


Игра устанавливается только строго с СД или Образа (разм. 30мб). Для игры СД или Образ в дальнейшем не нужны. Моды затем вставляются в папку с игрой. У меня пока куда-то затерялся СД или Образ. Найду сразу выложу. Да он где-то есть на ссылках выше. Я как-то соседу пост. эту игру. У него всё раб. ОК со"сбоем" . А себе, когда я от него перенёс, сбой исчез у меня. Так что " чистота эксперимента " Вам не поможет.



Ранг: 10.4 (новичок), 12thx
Активность: 0.030
Статус: Участник

Создано: 01 июля 2013 21:56
· Личное сообщение · #22

SergZZ

Ужас короче с этой игрой) у меня от неё видюху так колбасило что аж страшно за неё стало, под win 7)) radeon 7770 у меня, видимо не совместима с ней эта игра. скачал с рутрекера. после полтора часа мучений результата ноль абсолютно, только убедился в бесполезности всего этого занятия.

по теме: тестировал всё это на VMWare. снапшоты кривые получаются, хотя и работают переодически) да и сама игра в полноэкранный режим не хочет заходить под виртуалкой нормально - видимо VMWare с direct-ом особенно древним не дружит)

Итого: гибернация, шнапшоты VMware, типодампы - это утопия всё. "цель не оправдывает средства". хотя VMware всётаки что-то может.



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

Создано: 02 июля 2013 05:56 · Поправил: SergZZ
· Личное сообщение · #23

Ну понятно. У меня тоже поначалу так было на ноуте с win 7. (без VMWare). Но после нескольких запусков всё стало нормально запускаться. И цвета, поначалу глючные, стали ОК. ОС сама постепенно как-то адаптирует эту игру.




Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 02 июля 2013 14:21
· Личное сообщение · #24

SergZZ пишет:
ОС сама постепенно как-то адаптирует эту игру.

Ага, ну да.

-----
Stuck to the plan, always think that we would stand up, never ran.




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

Создано: 02 июля 2013 19:29 · Поправил: SergZZ
· Личное сообщение · #25

ARCHANGEL пишет:
SergZZ пишет: ОС сама постепенно как-то адаптирует эту игру. Ага, ну да.


Я серьёзно. Сначала был какой-то 8-битный цвет ( м.б. даже 3-битный ). Но после 4-х , 5-и запусков всё нормализовалось.


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


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