| igoriando ( @ 2008-10-09 15:02:00 |
Как восстановить файл, убитый в памяти КПК с Windows Mobile.
Из-за отсутствия recycle bin в моем PDA, давно хотел научиться восстанавливать удаленные файлы не только на флешке, для чего существует уйма программ, но и на внутренней памяти устройства. Во многих местах написано что это невозможно, однако люди ведь как-то снимают образ ROM чтобы поиграть с Windows Mobile. Для этого используется набор утилит голландского девелопера itsme, которые можно взять здесь:
http://www.xs4all.nl/~itsme/projects/xd a/tools.html
В составе архива куча exe-шек и itsutils.dll, которая копируется через ActiveSync на мобильное устройство в папку /Windows при первом запуске любой утилитки, для низкоуровневой работы с WinCE утсройством.
Нам нужна утилитка pdocread.
Сначала смотрим какого размера у нас основная память на КПК
Start > Settings > System > Memory > Storage
В моем случае 83.90МВ
В дальнейших выводах все совпадения цифр между командами неслучайны :)
На компьютере с подключенным КПК устройством запускаем pdocread -l
В выводе команды находим kernel handle для раздела подходящего размера:
Теперь узнаем точную длину этого раздела
Теперь этот раздел можно считать в файл (не забываем про 0x перед handle!)
Дальше наступает самое главное. Понадобится программа восстановления удаленных файлов, умеющая работать с файлами-образами, но скорее всего она скажет invalid volume type и не найдет сектор, с которого начинается таблица FAT. Придется найти hex-редактор, я использую WinHex, и удалить несколько первых 512-байтных секторов, до начала того сектора, где в первый раз будет найдено слово FAT. В моем случае, пришлось удалить первые 11 секторов (5632 байта), до начала вот такого куска:
Полученный обрезок сохраняем и вуаля - он нормально открывается как образ диска :)
Надеюсь, кому-то эта информация сохранит нервные клетки, ведь как известно, в них сидят нервные тигры :)
использованы идеи этого блог-поста
Из-за отсутствия recycle bin в моем PDA, давно хотел научиться восстанавливать удаленные файлы не только на флешке, для чего существует уйма программ, но и на внутренней памяти устройства. Во многих местах написано что это невозможно, однако люди ведь как-то снимают образ ROM чтобы поиграть с Windows Mobile. Для этого используется набор утилит голландского девелопера itsme, которые можно взять здесь:
http://www.xs4all.nl/~itsme/projects/xd
В составе архива куча exe-шек и itsutils.dll, которая копируется через ActiveSync на мобильное устройство в папку /Windows при первом запуске любой утилитки, для низкоуровневой работы с WinCE утсройством.
Нам нужна утилитка pdocread.
Сначала смотрим какого размера у нас основная память на КПК
Start > Settings > System > Memory > Storage
В моем случае 83.90МВ
В дальнейших выводах все совпадения цифр между командами неслучайны :)
На компьютере с подключенным КПК устройством запускаем pdocread -l
В выводе команды находим kernel handle для раздела подходящего размера:
STRG handles: handle#0 aff43ac2 85.24M (0x553e800)
Теперь узнаем точную длину этого раздела
pdocread -h 0xaff43ac2 -t real nr of sectors: 174720 - 85.31Mbyte, 0x5550000
Теперь этот раздел можно считать в файл (не забываем про 0x перед handle!)
pdocread -h 0xaff43ac2 0x0 0x5550000 dump.raw CopyTFFSToFile(0x0, 0x5550000, dump.raw)
Дальше наступает самое главное. Понадобится программа восстановления удаленных файлов, умеющая работать с файлами-образами, но скорее всего она скажет invalid volume type и не найдет сектор, с которого начинается таблица FAT. Придется найти hex-редактор, я использую WinHex, и удалить несколько первых 512-байтных секторов, до начала того сектора, где в первый раз будет найдено слово FAT. В моем случае, пришлось удалить первые 11 секторов (5632 байта), до начала вот такого куска:
Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F 00000C00 EB 58 90 4D 53 44 4F 53 35 2E 30 00 02 08 26 00 ëXMSDOS5.0...&. 00000C10 02 00 00 00 00 F8 00 00 3F 00 FF 00 00 00 00 00 .....ø..?.ÿ..... 00000C20 00 40 1F 00 CD 07 00 00 00 00 00 00 02 00 00 00 .@..Í........... 00000C30 01 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00000C40 00 00 29 D1 69 B3 08 4E 4F 20 4E 41 4D 45 20 20 ..)Ñi³.NO NAME 00000C50 20 20 46 41 54 33 32 20 20 20 33 C9 8E D1 BC F4 FAT32 3ɎѼô
Полученный обрезок сохраняем и вуаля - он нормально открывается как образ диска :)
Надеюсь, кому-то эта информация сохранит нервные клетки, ведь как известно, в них сидят нервные тигры :)
использованы идеи этого блог-поста