This shows you the differences between two versions of the page.
Next revision | Previous revisionNext revisionBoth sides next revision | ||
software:win:dbg:savedata [2015/05/13 00:14] – создано root | software:win:dbg:savedata [2022/02/04 18:32] – ↷ Page moved from ru:software:win:dbg:savedata to software:win:dbg:savedata root | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | Бывает что пишешь текст, бац и ошибка в программе или программа просто перестала отвечать, | + | ====== Как вытащить не сохранённые данные из упавшего приложения Microsoft Windows ====== |
- | {{: | + | Бывает что пишешь текст, бац и ошибка в программе или программа просто перестала отвечать, |
+ | {{: | ||
Набивать по новой - всегда мучение, | Набивать по новой - всегда мучение, | ||
+ | К счастью есть относительно простой способ вытащить свой текст.\\ | ||
- | К счастью | + | **Замечание** |
- | Для вытаскивания текста потребуется OllyDBG и Far или Notepad++. | + | DNSLookup.exe - моё приложение, пришлось специально |
- | Особых навыков | + | Размер |
- | Сам я сегодня впервые это сделал, обычно отлаживаю | + | |
- | Искушённых в отладке людей прошу не ругаться, метода описана доступным языком. | + | |
- | < | + | ===== Инструменты ===== |
- | DNSLookup.exe - моё приложение, пришлось | + | Для вытаскивания текста потребуется OllyDBG |
- | Размер текста | + | Особых навыков не требуется, |
- | + | Сам я сегодня впервые это сделал, | |
- | 1. Не закрываем приложение, пусть и дальше висит! | + | Искушённых в отладке людей |
+ | ===== Процедура извлечения ===== | ||
+ | ==== 1. Не закрываем приложение, | ||
{{: | {{: | ||
- | 2. Сейчас нам нужно подключится к приложению | + | ==== 2. Подключаемся к приложению с помощью |
- | Открываем | + | Открываем |
- | в столбике | + | в столбике |
{{: | {{: | ||
- | 3. Теперь нам нужно найти наш | + | ==== 3. Ищем нужный текст в памяти приложения |
- | Меню - <b>Windows</b>, <b>2 Memory Map</b>. | + | Меню - **Windows**, **2 Memory Map**.\\ |
- | В появившемся окне щёлкаем правой кнопкой мыши, в появившемся меню выбираем | + | В появившемся окне щёлкаем правой кнопкой мыши, в появившемся меню выбираем |
- | Появится окошко: | + | Появится окошко: |
- | {{: | + | {{: |
- | В поле UNICODE вводим кусочек текста или цифры. Текст на русском у меня не искало. Хотя бы 3-4 символа, | + | В поле UNICODE вводим кусочек текста или цифры. Текст на русском у меня не искало. Хотя бы 3-4 символа, |
- | 4. Вот что то найдено: | + | ==== 4. Работаем с тем |
- | {{: | + | {{: |
- | Если это не то что искали, | + | Если это не то что искали, |
- | Если это то что мы искали, | + | Если это то что мы искали, |
- | 5. Открываем сохранённый файл в Far / Notepad++, ищем текст из п 3. | + | ==== 5. Извлекаем сохранённый текст из дампа ==== |
- | {{: | + | Открываем сохранённый файл в Far / Notepad++, ищем текст из п 3.\\ |
+ | {{: | ||
Перед поиском нужно убедится что Far/ | Перед поиском нужно убедится что Far/ | ||
- | (Shift + F8 в Far в режиме просмотра). | + | (Shift + F8 в Far в режиме просмотра).\\ |
- | + | ||
- | Остаётся только выделить найденное и скопировать в более удобное место. | + | |
- | <h1>Ограничения / особенности</ | + | Остаётся только выделить найденное и скопировать в более удобное место.\\ |
- | 1. Может потребоваться SeDebugPrivelege для пользователя который запускает OllyDbg. Можно запустить от имени пользователя | + | |
- | 2. Я использовал OllyDbg х32, и приложения у меня были х32. Для зависшего х64 приложения может потребоваться х64 версия отладчика. | + | |
- | 3. Notepad++ не всегда может правильно опознать кодировку и/или переключится на другую. | + | |
- | 4. Если текст вводили в разные поля - скорее всего придётся повторять начиная с п3 до тех пор пока всё нужное не будет | + | |
- | 5. Для текстовых редакторов типа Word метод может не сработать, | + | |
- | 6. UTF-16 Little endian - для юникодных | + | |
- | 7. В принципе можно за " | + | |
- | 8. Возможно OllyDbg и сама умеет показывать текст, и даёт его скопировать, | + | |
- | 9. Метод можно использовать против приложений которые не дают копировать текст, может повезти. | + | |
- | < | + | ===== Ограничения |
- | Вот как | + | - Может потребоваться SeDebugPrivelege для |
- | Пока готовил еду, кто то из браузеров сожрал всю память, экслорер и опера вылетели, фаерфокс | + | - Я использовал OllyDbg х32, и приложения |
+ | - Notepad++ не всегда может правильно опознать кодировку и/или переключится на другую.\\ | ||
+ | - Если текст вводили в разные поля - скорее всего придётся повторять начиная с п3 до тех пор пока всё нужное не будет найдено и сохранено.\\ | ||
+ | - Для текстовых редакторов типа Word метод может не сработать, | ||
+ | - UTF-16 Little endian - для юникодных программ, для старых ANSI.\\ | ||
+ | - В принципе можно за "вечер" | ||
+ | - Возможно OllyDbg и сама умеет показывать текст, и даёт его скопировать, но я ей пользоваться не умею потому действовал "по старинке" через Far.\\ | ||
+ | - Метод можно использовать против приложений которые не дают копировать текст, может повезти.\\ | ||
- | {{: | + | ===== Реальный случай ===== |
+ | Вот как было в первый раз:\\ | ||
+ | Пока готовил еду, кто то из браузеров сожрал всю память, | ||
+ | Вспомнить я смог только site-to-site.\\ | ||
+ | {{: | ||
- | Вспомнить я смог только site-to-site. |