Резултати от 1 до 14 от общо 14

Записване текущо състояние на програма

Сподели във Facebook Сподели в Twitter Изпрати на Email Сподели в LinkedIn
  1. Junior Member
    Тук е от
    Nov 2001
    Мнения
    30
    #1

    Записване текущо състояние на програма

    Здравейте,
    има ли начин да се запише като файл и после да се възстанови от текущото си състояние дадена програма? Трябва ми за една флаш игра, която няма запис и искам да продължа от някакъ запис нататък.
    Благодаря предварително.

  2.  
     
  3. Super Moderator Аватара на FearMe
    Тук е от
    Jan 2001
    Мнения
    17,616
    #2

    Re: Записване текущо състояние на програма

    hybernate на windows прави точно това (или вариантът suspend to ram)

  4. Junior Member
    Тук е от
    Nov 2001
    Мнения
    30
    #3

    Re: Записване текущо състояние на програма

    Да, за хибернирането знам, но то не ми върши работа. Искам просто да го запиша във файл и да мога да си играя, когато поискам, и когато ме "утрепят" в играта, да не губя 4-5 часа, за да стигна нивото до което съм

  5. Senior Member
    Тук е от
    May 2004
    Мнения
    3,779
    #4

    Re: Записване текущо състояние на програма

    Сигурен ли си, че в играта няма някакъв автоматичен "save", в смисъл - записите между нивата да се пазят в кеша на браузъра (както е при доста флаш-игри)? Все пак, ако играта е времеемка, е тъпо да няма начин да продължиш оттам, докъдето си стигнал. Ако желаеш, дай линк, да я видим игричката.

  6. Senior Member Аватара на Bibi
    Тук е от
    Nov 2004
    Мнения
    2,757
    #5

    Re: Записване текущо състояние на програма

    Дори да се измисли решение за конкретната игра, въпросът звучи много интересно в общия случай.

    Някакъв тул, ползващ възможностите на операционната система, който да следи процесите и да може да ги сваля на файл? Звучи ми възможно.
    Обаче M$ ако са го направили, сигурно ще го продават отделно...
    А ако някой друг го е направил, те първо ще купят него (както стана със Sysinternals), а после...

  7. Banned
    Тук е от
    Sep 2004
    Мнения
    1,083
    #6

    Re: Записване текущо състояние на програма

    ако играта няма опция от вида :

    "save to file" ...

    нищо не може да се направи ... - все едно навремето на "Prince of Persia" да имаш някакви сейфове

    всъщност - ако се замислим сега ...(или поне аз ако се замисля) :

    - това и беше хубавото на играта - едни невъзможни 59 минути и 59 секунди да се оправиш с всички препятствия и пречки .. и други препятствия ..

    и накрая да ПОБЕДИШ !




    добавено

    сега пък се сетих, че общо взето десетина години след като съм се бил мъчил с принса на персия - вече имаше и "сейфове" за последното ниво и с 59 минути оставащи ...

    ама - това си е хак и крак, и ръка , и HexEdit-ор ...


  8.  
     
  9. Member Аватара на XIIID
    Тук е от
    Dec 2002
    Живее в
    Burgas, Bulgaria
    Мнения
    829
    #7

    Re: Записване текущо състояние на програма

    Едно, ъъъ, тромавичко решение е всичкото това игране да се случва във виртуална машина под VirtualPC или VMWare например - за 2-рата поне съм сигурен, че може да прави "снимки" на състояния на системата, към които да се връщаш. Проблемът е в загубата на производителност - не знам доколко флаш-графиката се ускорява от видеокартата, но под vmware процесора сам трябва да върши почти всичко...

  10. Member
    Тук е от
    Nov 2001
    Мнения
    957
    #8

    Re: Записване текущо състояние на програма

    Не се имам за спец по Windows, не познавам тулче, за което пита Bibi, но на първо четене ми хрумна следното: когато настроите ХР да влиза в хибернация, ОС заделя на системния дял място създавайки файла hiberfil.sys, който е системен и в който впоследствие ще се запишат параметрите на ОС в хибернация. Този файл за да се вижда чрез Windows explorer-a трябва в Tools->Folder Option->View да се зададе да се виждат системните и скритите файлове.
    Та идеята ми е да се влезе в режим хибернация, при което ХР записва в hiberfil.sys текущото състояние на ОС и в частност РАМ-а и РС се изключва. После се стартира РС-то от Live CD или флашка и този файл hiberfil.sys може да бъде записан. Работата с РС-то може да продължи, а ако искаме да се върнем точно към момента преди записаната хибернация, просто отново вкарваме ОС в хибернация, чрез рестарт от Live CD или флашка възстановяваме стария файл hiberfil.sys копирайки го на мястото на създадения от ХР и рестартираме РС-то.
    Ето и 2 полезни линка:
    http://support.microsoft.com/kb/307017/en-us
    http://support.microsoft.com/kb/555569/en-us
    а също и колкото искате още други свързани с хибернацията:
    http://support.microsoft.com/search/...y=5&range=1-20

    Nota bene:

    Това са мои чисто теоретични разсъждения, не ми се е налагало да го прилагам това. Ако на triteXa му се иска - да го пробва.
    Също така, ако някой друг знае тулче или по-елегантен начин - да пише - ще се радвам да обогатя знанията си.
    Ако пък някъде бъркам - моля поправете ме обосновано - това също е опит - нали за един бит трима небити дават !

  11. Senior Member Аватара на Tommorow
    Тук е от
    Sep 2006
    Живее в
    Пловдив, България
    Мнения
    7,161
    #9

    Re: Записване текущо състояние на програма

    http://www.topshareware.com/SmartClo...load-35403.htm

    Many common PC tasks require you to close all currently running programs. For example, burning a CD and defragmenting or scanning hard drives can slow down or even fail when other processes 'kick in', like background programs, the screen saver or a scheduled task.
    You could manually exit each program one by one, disable the screen saver?That is when SmartClose comes in! SmartClose will automatically close all running programs, disable the screen saver and halt all other processes that can interrupt without asking.
    But what when you have finished the task that required you to use SmartClose and you want to restore the programs and such that were disabled? Restart the computer? No, because before SmartClose closes or disables anything, it will first save the current state of the system (running programs, screen saver? to a 'system snapshot', that can be opened and restored again by SmartClose.


    добавено: да ама не не прави snapshot

  12. Member
    Тук е от
    Nov 2001
    Мнения
    957
    #10

    Re: Записване текущо състояние на програма

    Аvе Tommorow,
    откъде го изрови туй посред нощите ,
    че и на всичкото отгоре:
    Цитат Първоначално публикувано от Tommorow
    http://www.topshareware.com/SmartClo...load-35403.htm
    ...
    добавено: да ама не не прави snapshot
    Пробва ли го наистина? Щото от описанието оставам с впечатление, че трябва да се затворят всички задачи (визират се изрично фоновите) освен една, тъй че все пак РС-то работи, но това едва ли прави снимка на състоянието на РАМ-а например по същия начин както го прави хибернацията.

  13. Junior Member
    Тук е от
    Nov 2001
    Мнения
    30
    #11

    Re: Записване текущо състояние на програма

    Благодаря на всички отзовали се.
    А аз имам спомени за такава програма, но беше доста отдавна. Тази програма правеше нещо като хибернация, т.е. записваше текущото състояние на паметта и после можеше да се възстанови, но съм забравил как се казва. Затова и питам, може някой да се сети за нещо подобно ...

  14.  
     
  15. Junior Member
    Тук е от
    Dec 2004
    Мнения
    123
    #12

    Re: Записване текущо състояние на програма

    Специално за игри по времето на добрия стар DOS се ползваше програма наречена GameWizard32 - актуална версия за тогава - 2.0. Тя продължи да се разработва и действа и под 32bit protected mode и така до ден днешен*. Може да търси стойност в паметта и после (след промяна) да търси новото показание в резултатите и така докато намериш точно на кой адрес ти е примерно броя на животите или кръвта или парите и т.н. След което има възможност за замразяване на дадената клетка или промяна и т.н. Правеха се и таблици с адресите, които си съхраняваш за многократна употреба - да не търсиш пак следващия път. Имаше и възможност за запис на нещо си (свече не помня какво записваше, но беше нещо като SAVE GAME - а може и да се бъркам с някой емулатор за Правец82 или конзола). Последния път като го търсех попаднах и на още 2-3 програми от този род.

    *Сега като се поразтърсих не мога да я намеря из нета, но имам някаква версия някъде по дисковете.
    Попаднах на други подобни програми - Quick Memory Editor , ArtMoney

    Може и да ти свършат работа в конкретния случай.

  16. Member
    Тук е от
    Dec 2004
    Мнения
    741
    #13

    Re: Записване текущо състояние на програма

    Цитат Първоначално публикувано от Bibi
    Дори да се измисли решение за конкретната игра, въпросът звучи много интересно в общия случай.

    Някакъв тул, ползващ възможностите на операционната система, който да следи процесите и да може да ги сваля на файл? Звучи ми възможно.
    ...
    Без да се замислям надълбоко, но ми се струва трудна, ако не невъзможна задачка.
    Освен dump на алокираните части от паметта, трябва да се запише и състояние на регистрите на процесора като минимум. После при reload трябва да се възстановят тези стойности, а хич не е ясно дали тези сегменти памет ще са свободни и как да се заредят регистрите на процесора. И какво ще стане при конфликт. Преалокиране на dump-натата памет май не става. Освобождаването на заетите адреси с преместване на активно ползващите я в момента процеси ми се вижда по-постижимо, но далеч не гарантирано. А с процесора?
    И т.н. сложнотии...

  17. Member Аватара на XIIID
    Тук е от
    Dec 2002
    Живее в
    Burgas, Bulgaria
    Мнения
    829
    #14

    Re: Записване текущо състояние на програма

    Цитат Първоначално публикувано от pimpirlit
    После при reload трябва да се възстановят тези стойности, а хич не е ясно дали тези сегменти памет ще са свободни и как да се заредят регистрите на процесора.
    Еее това е концепция от времето на 8086... оттогава нещата се попромениха. Гореизброените неща се извършват от мениджъра на процесите и виртуалната памет в ядрото на ОС десетки хиляди пъти в секунда. Локалната памет на всеки процес е не само напълно преместваема, но и фрагментируема - всяка страница може да е пръсната къде ли не. Важи и за локалния стек - нали състоянието на процесора се възстановява оттам при контекстното превключване за възстановяване на процеса. Затова е и двойното преобразуване на адреси, което коства толкова много междинни действия и половината кеш (за адреси) на съвременен процесор - локален номер на страница -> виртуален глобален -> физически (ако не е на swap). Всъщност проблемът не е дали може да се "замрази" даден процес - Windows NT вътрешно поддържа тази възможност, макар и достъпна чрез трети програми като Process Explorer на Sysinternals, a АКО можеше да се запише във фаил цялото му състояние, дали това щеше да е достатъчно за коректното му възстановяване - да не забравяме, че през е важна и "околната ситуация" в останалата част от системата - междувременно са променяни файлове, registry, други ресурси, предоставяни на процеса от ОС, та дори и системния таймер. Същото важи и за създаване на копия на hiberfil.sys - лично аз се съмнявам, че подобен подход би сработил коректно, поради което смятам, че подобен инструмент не може да се направи като хората.
    Колкото до програмки като ArtMoney, обикновено издирващи из променливите в пространството заделено за процеса разни броячи за животи, точки и т.н., трудно ще се намери какво ще свърши работа, особено из сложен процес като този на браузър или флаш-плейър.

Сподели във Facebook Сподели в Google Plus Сподели в Twitter Изпрати на Email Сподели в LinkedIn

Подобни теми

  1. RQ: Програма за записване на пароли
    От Visotsky във форум Общ - софтуер
    Отговори: 3
    Последно: 23-11-10, 15:47
  2. състояние на компютъра
    От avenger във форум Процесори и Дънни платки
    Отговори: 6
    Последно: 14-05-07, 23:32
  3. Записване на CD с Lightscribe!!!
    От lord_ice във форум Общ - софтуер
    Отговори: 13
    Последно: 18-05-06, 08:48
  4. WEB :: Записване на звук
    От fuoco във форум Уебдизайн и 3D
    Отговори: 0
    Последно: 30-03-06, 11:46
  5. Програма за записване от ТВ тунер BT7x7
    От Brat4eda във форум Общ - софтуер
    Отговори: 4
    Последно: 22-01-04, 21:46

SetCombG.com
SetCombG.com е портален сайт и Форум за битова техника, телевизори, климатици, лаптопи и смартфони, създаден през 1999 година.
Заедно сме над 20 години!
Следвай ни
Горе