Záchrana dat z RAM zaseklého běžícího počítače

 Je nějak možné zachránit data z počítače (Windows, 10 Intel 64bit, DDR4), který náhle majestátně zamrzl? Prostě se přestal hýbat kurzor a obraz je  stále stejný i po odpojení / připojení (více) monitorů na jiné výstupy. Pochopitelně jen tam tom původním výstupu.

Před dnem ještě sporadicky komunikoval  po síti po připojení/zapojení kabelu (sporadicky= že třeba vyslal SYN packety na nějaké internetové adresy, něco v lokální)

Po včerejšku ale už neudrží, myš, moč, ani IP adresu. (To myslím, že je příčina odpojení sítového kabelu na delší dobu, kdy si není jistý přidělenou IP) a komunikuje jen z 169.254. adresy, kromě arp dotazů na obsazenost 169.254.x.y se ptá i na bývalou adresu brány... Komunikace z opačného konce (s vsříknutím i neigh add ) je bez odezvy


Po odpojení myši a klávesnici už se obojí o opětovném přípojení tváří, že do toho nejde proud ani.



Nezajímá mě ani tak příčina(mám pocit, že nějaká služba udělal obrovský memory leak na  už tak zaplněné kombinobané přeplněné  operační paměti rozšířené ještě odkládacím souborem), ale jak to řešit, jesli existují nějaké možnosti , jak se dostat k obsahu paměti, a a zachránit otevřené programy s otevřenými daty.

Momentálně osobně netuším, na co by PC zareagoval,.  Už den je na něm zamrzlý obraz.


+ Jestli to jde (na windows) nějak řeši do budoucna. Se na to připravit, třeba něco jako telnet do windows, do kterého by se i v této situaci šlo připojita killnout dwm. exe. NEbo nějak se připojit přes sériový port nebo nějak vykonat třeba příkaz pro restart dwm.exe nebo restart grafického driveru.
« Poslední změna: 12. 12. 2023, 15:10:53 od Ħαℓ₸℮ℵ ␏⫢ ⦚ »


Re:Záchrana dat z RAM zaseklého běžícího počítače
« Odpověď #1 kdy: 12. 12. 2023, 15:19:39 »
Teoreticky jde ochladit paměti, rychle je přendat do jiného počítače a tam je přečíst. Ten druhý počítač by neměl paměti mazat. Akorát nevím, proč by se to dělalo, kromě odhalení šifrovacího klíče v paměti,

https://en.wikipedia.org/wiki/Cold_boot_attack

Mlocik97

  • *****
  • 837
  • Ubunťák, JS dev.
    • Zobrazit profil
    • E-mail
Re:Záchrana dat z RAM zaseklého běžícího počítače
« Odpověď #2 kdy: 12. 12. 2023, 15:38:45 »
Toto bude u Windows takmer nemožné, ale môžeš vyskúšať radu od kolegu, čo písal predo mnou. I tak bude dosť otázka čo prežilo. Je totiž aj rozdiel či zamrzol len front-end a IO, alebo aj niečo na nižšej úrovni v systéme, alebo či systém už nezabil tasky a nedealokoval pamäť, ktorá dáta obsahovala, prípadne či tieto dáta uložila do temp súborov alebo niekam inam na disk. Možností je mnoho, a vážne záleží od situácie... u Windows je to ale rozhodne problematickejšie než u Linuxu z viacerých dôvodov... Windows je totiž monolitický a implementácia uzavretá. Sám by som to už vzdal, lebo neviem či hodnota tých dát je taká vysoká, že by to stálo za ten čas to skúšať obnoviť s neistým výsledkom.

Re:Záchrana dat z RAM zaseklého běžícího počítače
« Odpověď #3 kdy: 12. 12. 2023, 16:37:07 »
+ Jestli to jde (na windows) nějak řeši do budoucna.
Ano. nenechavat spustene programy s neulozenymi udajmi, ale pravidelne priebezne ukladat. Ine bezpecne riesenie neexistuje. V linuxe by bola este aka-taka nadej, lebo tam ked zamrzne grafika, tak sa da dostat do terminalu.
Ale kedze spominas, ze ani mys/klavesnica nereaguje - ked tam pichnes nejaky usb ventilator toci sa? na overenie, ci je mrtva doska, alebo len system. Lebo su situacie, ked oddide nejaky hw komponent a windows na to zareaguje tak, ze komplet zamrzne.

Re:Záchrana dat z RAM zaseklého běžícího počítače
« Odpověď #4 kdy: 12. 12. 2023, 18:38:38 »
Prý je možné všechno. Ale chtělo by to spešl HW na vyčtení dat z RAM, nebo počítač s hodně speciálně upraveným BIOSem. Taky ne všechna data jsou v RAM, něco se toulá v různých cache mezi komponentami.

No a to co bude v RAM, nemusí být moc pěkné ke koukání ani ke skládání něčeho většího, co by dávalo smysl.

Každopádně by to byl pěkný "výlet" do světa "za zrcadlem".

Před skoro 1/4 stoletím jsem takhle skládal 8MB souboru, databáze účetnictví z 2GB disku, který zemřel s Win Millenium Edition. Něco bylo na disku za sebou, ale ne všechno, takže to bylo skládání puzzle. Trvalo mi to 3 dny, ale podařilo se.


Re:Záchrana dat z RAM zaseklého běžícího počítače
« Odpověď #5 kdy: 12. 12. 2023, 22:48:26 »
NE, NE A POTŘETÍ NE
Moc se koukáš na filmy.
Myslím si, že ti chybí přirozená sebereflexe která by tě nutila aby sis ty informace sám od sebe dohledal.
https://cs.wikipedia.org/wiki/RAM
https://cs.wikipedia.org/wiki/Opera%C4%8Dn%C3%AD_pam%C4%9B%C5%A5

RDa

  • *****
  • 2 478
    • Zobrazit profil
    • E-mail
Re:Záchrana dat z RAM zaseklého běžícího počítače
« Odpověď #6 kdy: 12. 12. 2023, 23:20:31 »
Vsechno se da, ale pochybuji ze na takovy ukon mas rozpocet nebo vybaveni a znalosti, takze odpoved zni: vyfot si obrazovku mobilem a zmackni reset :)

Re:Záchrana dat z RAM zaseklého běžícího počítače
« Odpověď #7 kdy: 13. 12. 2023, 05:38:11 »
Jak již bylo řečeno, smůla. Reálně nemáš šanci se k těm datům dostat. Existují nějaké teorie, nějaké laboratorní testy apod., ale nemáš hw, nemáš znalosti a není to laboratorní test.
Ten, kdo si pravidelně neukládá práci a nezálohuje, toho pak většinou nic nezachrání.
Zdar Max

Ink

  • *****
  • 658
    • Zobrazit profil
    • E-mail
Re:Záchrana dat z RAM zaseklého běžícího počítače
« Odpověď #8 kdy: 13. 12. 2023, 06:39:55 »
Hm, vzpomínám, jak jsem lovil rozepsaný dlouhý mail z obrazu RAM, když mi před lety spadnul KMail. Tohle je ale fakt de facto mission impossible. Pro příště fakt ukládej a ideálně používej programy, které to umí automaticky. A verzuj.

Re:Záchrana dat z RAM zaseklého běžícího počítače
« Odpověď #9 kdy: 13. 12. 2023, 08:25:40 »
NE, NE A POTŘETÍ NE

Ano, přesně tak. Pokud operační systém "tvz. zamrzne" neexistuje žádné software řešení jak data z RAM získat.  Možná pokud by si člověk naprogramoval vlastní BIOS(UEFI) s nějakým vlastním commandem(shellem) a náhodou by zamrzl OS a BIOS by fungoval tak by to možná šlo, myslím tím udělat bitovou kopii RAM a hodit třeba na flasku. Ale pochybuji, že v ČR má někdo takové znalosti má aby to dokázal.

CFM

Re:Záchrana dat z RAM zaseklého běžícího počítače
« Odpověď #10 kdy: 13. 12. 2023, 09:10:44 »
NE, NE A POTŘETÍ NE

Ano, přesně tak. Pokud operační systém "tvz. zamrzne" neexistuje žádné software řešení jak data z RAM získat.  Možná pokud by si člověk naprogramoval vlastní BIOS(UEFI) s nějakým vlastním commandem(shellem) a náhodou by zamrzl OS a BIOS by fungoval tak by to možná šlo, myslím tím udělat bitovou kopii RAM a hodit třeba na flasku. Ale pochybuji, že v ČR má někdo takové znalosti má aby to dokázal.
Co brání RAM po rebootu přečíst (předpokládám, že HW neumřel), pokud se člověk smíří se ztrátou (malé) části, kterou bude potřebovat program provádějící dump pro svůj běh? Tj. chce to nějaký minimalistický image/bootloader, jako například zde. Interpretovat obsah dumpu a najít hledaná data bych viděl jako větší problém ...
Nebo mi něco uniká?

Re:Záchrana dat z RAM zaseklého běžícího počítače
« Odpověď #11 kdy: 13. 12. 2023, 09:41:46 »
Většina toho, co mě napadlo, již byla řečena, dodám jen:

* Nějaká data můžou být i ve swapu. Záleží ale, co přesně se stalo, a jak často bylo k těm zajímavým datům (+datům v okolí) přistupováno.
* Dost je otázka, co hledáte. Některé věci bývají v RAM jako souvislý blok dat (ideálně malý, ať nemusíme řešit fragmentaci), a šlo by je najít relativně snadno. Ale obecně se snažit interpretovat obsah RAM (i kdyby byl kompletní), zvlášť že zamrznutého systému (může být různě poškozený) a zvlášť u closed-source (potřeba reverzního inženýrství) může jít o docela náročný úkol. Ať už to budete dělat sám, nebo si na to někoho najmete, asi se to nevyplatí kvůli jednomu dni ztracené práce, pokud nemáte nějaký jednoduchý způsob specifický pro konkrétní data.
* Případná ECC (nebývá běžná u úplně obyčejných kancelářských strojů) může na jednu stranu pomoci (větší šance u cold bootu, aspoň teoreticky – nevím, jak je to prakticky významné u dnešních RAM), na druhou stranu tam BIOS typicky přemaže obsah RAMz aby zabránil falešným chybám při čtení neinicializované RAM. (Možná se to nebude dít u specifických platforem – např. Zen 3 patrně koriguje chyby potichu, takže tam se na to výrobce teoreticky může vykašlat, prakticky nevím a může to být výrobce od výrobce.)
* Bylo již řečeno, ale stojí za zopakování: Do budoucna bych doporučil držet v RAM jen tolik neuložených dát, kolik si můžete čas od času dovolit ztratit. A totéž do nějaké míry platí i pro data na jakémkoli jiném médiu – ztráta se občas stane, je potřeba s tím počítat a zálohovat.

Re:Záchrana dat z RAM zaseklého běžícího počítače
« Odpověď #12 kdy: 13. 12. 2023, 11:11:16 »
Bývaly časy, kdy nebylo zase tak neobvyklé, že bylo potřeba se pohrabat v systému který "zamrznul".
Pozůstatek těch časů máme na většině klávesnic pod klávesou PrintScreen, funkce SysRq.
https://cs.wikipedia.org/wiki/Kl%C3%A1vesa_Sys_Rq

Kdysi, ještě počítačovém v pravěku, jsem se dozvěděl, že v jedné střední škole v Plzni mají učebnu s 10 PC XT, ale že je zavřená a nikdo tam nechodí.
Tak jsem se tam dostal a zkoušel to tam dát do kupy. Většina těch počítačů měla podivné chyby,  zamrzávaly, objevovaly se chyby na disku a další záhady. Pro odchovance socialistickými sčoty, to nebylo tak neobvyklé, ale protože jsem měl zkušenost s jinými XTčky, které fungovaly dobře, tak jsem to nenechal být. Z tlusté knížky o HW, půjčené ze státní vědecké knihovny (na kterou jsem se štěstím čekal jen 1/2roku), jsem vyčetl, že by za to mohly vadné RAM moduly. Tehdá to ještě nebyly karty, ale švábíci nasázení do patic na základovce. Pomocí walkmena se dalo zjistit, který modul je funkční a který vadný. Stačilo naladit správnou frekvenci na rádiu, s anténou jezdit nad chipy. Ty, které byly funkční vydávaly pěkný zvuk, ty které byly vadné vydávaly nepěkné šumoruchy. Pak bylo potřeba ty vadné vydolovat z patic a dát tam funkční z jiného počítače. Po téhle proceduře zbyly dva nefunkční, zkanibalizované, počítače a 8 perfektně šlapajících mašinek.

Re:Záchrana dat z RAM zaseklého běžícího počítače
« Odpověď #13 kdy: 13. 12. 2023, 12:26:32 »
Co brání RAM po rebootu přečíst (předpokládám, že HW neumřel), pokud se člověk smíří se ztrátou (malé) části, kterou bude potřebovat program provádějící dump pro svůj běh? Tj. chce to nějaký minimalistický image/bootloader, jako například zde. Interpretovat obsah dumpu a najít hledaná data bych viděl jako větší problém ...
Nebo mi něco uniká?
Pokud si dobře pamatuji při rebootu z RAM zmizí elektrické napětí, opětovně se objeví a to pamětové buňky " tvz. smaže".  Ty biti(příp. bajty) tam nezůstanou, což je dobře. Proto Fikar mluvil o ochlazení(fyzikálního procesu) aby i po odpojení elektrického zdroje tam nějaké napětí zůstalo(zpomalí se entropie). Toto je naprosto mimo mé pole působnosti a tyto znalosti přenechávám kompetentnějším.

Re:Záchrana dat z RAM zaseklého běžícího počítače
« Odpověď #14 kdy: 13. 12. 2023, 12:59:11 »
Opakuju, že neznám nejnovější detaily ohledně současných RAM (byť teda DDR4 není horká novinka), nicméně co si pamatuju, tak obě varianty (reset + boot z flashky a ochlazení tekutým dusíkem + boot na jiném stroji) měly svoje místo:

a. Pokud nebyl problém bootovat jiný systém z flashky a zároveň nešlo o ECC, nějaká varianta resetu fungovala dobře. Nedám ruku do ohně, jestli dojde k odpojení napájení RAM, ale skoro bych se vsadil, že ani ne.
b. V komplikovanějších případech (ECC nebo BIOS password + secure boot / zákaz bootu z flashky) ta jednodušší varianta nefungovala, takže nezbylo než ochladit RAM (ideálně kapalným dusíkem, ale IIRC stačily i nějaké celkem obyčejné spreje*) a hodit jiného jiného počítače, který je na situaci připraven.

Tuším, že u DDR4 je ten proces v praxi o něco komplikovanější než u DDR3.

*) On i „stlačený vzduch“ (typicky to bývá snad metan) mi při otočení láhve plival kapalný plyn, který následně mrznul.