Возможно ли восстановить файл contacts2. Запускаем программу "Sqlite Professional" и в ней выбираем файлик, извлеченный программой R-Studio contacts2.db: File - Open . Статья написана в помощь тем, кто не знает как работать с файлом db. Database File - это файлы базы данных. Они могут создаваться разными.
Как вытащить контакты из файла contacts2. Все контакты хранятся в SQLite базе (SQLite3), в формате *.db. Далее, копируем файл « contacts. Есть бекап contacts2.db,телефона уже нет. Как вытащить контакты из файла contacts2.db.Открывал с помощью SQLite Expert .
Информация о расширении db. Ссылки на программы для открытия db - файлов. Описание и поиск других форматов файлов.
![Open Contacts Db File Open Contacts Db File](http://www.c-sharpcorner.com/UploadFile/rahul4_saxena/an-open-source-project-r-ephonebook/Images/Add%20new%20contact.jpg)
Хак e. MMC памяти HTC Desire HD с целью изменения идентификационной информации телефона. Создание телефона- оборотня с использованием криптографии. Ложная безопасность: обзор угроз несанкционированного доступа к данным. Предисловие. Мобильные гаджеты стали неотъемлемой частью нашей повседневной жизни, мы доверяем им свои самые сокровенные тайны, а утрата такого устройства может привести к серьезным последствиям. Сегодня много внимания уделяется освещению вопросов мобильной безопасности: проводятся конференции, встречи, крупные игроки выпускают комплексные продукты для персональной и корпоративной защиты мобильных устройств. Но насколько такие средства эффективны, когда устройство уже утрачено? Насколько комфортны они в повседневном использовании – постоянные неудобства с дополнительным ПО, повышенный расход батареи, увеличенный риск системных ошибок.
Какие советы можно дать беспокоящимся за сохранность своих мобильных данных? Не хранить ничего важного на смартфоне? Тогда зачем он такой нужен – не птичек же в космос отправлять, в самом деле? Сегодня я хочу поговорить с вами об устройствах под управлением ОС Android, созданной глубокоуважаемой мною компанией Google. В качестве примера я использую неплохой смартфон прошлых лет от компании HTC – Desire HD.
Во- первых, именно с него мы начали свою исследовательскую деятельность в области безопасности Android- устройств, во- вторых – это все еще актуальный смартфон с полным набором функций среднестатистического гуглофона. Он поддерживает все версии Android, в нем стандартный взгляд HTC на организацию файловой системы и стандартная же раскладка разделов внутренней памяти. В общем, идеальный тренажер для защиты и нападения. С этим докладом я выступил на вот- вот только прошедшей конференции Zero. Nights 2. 01. 2 и теперь хочу презентовать его хабрасообществу.
Надеюсь он будет вам интересен и даже немного полезен. От А до Я: история низкоуровневого взлома read- only области e. MMC памяти смартфона HTC Desire HDКак нам известно, e. MMC память устройства разделена на блоки, каждый из которых несет в себе определенную информацию, вот так выглядит примерное древо блоков памяти смартфона HTC Desire HD Нас интересует содержимое /dev/block/mmcblk. S- OFF хак лезть не разрешает. Точнее посмотреть можно, а вот изменить – извините. Что же в нем такого, что даже отсутствие проверки цифровой подписи не позволяет туда писать?
В partition 7 HTC упрятали важнейшую информацию устройства: CID, состояние флага “S- ON\S- OFF”, IMEI и настройки радиомодуля. Уверенные в непробиваемости своей защиты, HTC хранят эти данные открытым текстом. Проведя глубокий анализ рынка устройств для «восстановления» андроид- смартфонов, было найдено и куплено устройство HXC Dongle(www.
Устройство обещало все виды манипуляций с практически всеми моделями андроид- телефонов производства компании HTC. Продукт состоял из USB- ридера смарт- карт и самой смарткарты формата sim.
С сайта производителя (hxcdongle. S- OFF, смену CID и кое- что ещё.
При этом сам аппарат подключался к ПК обычным USB- mini. USB шнурком и все операции проходили через ADB (Android Debug Bridge).
Это навело на мысли о том, что вся «магия» творится на самом устройстве. Потребовался реверс- инжиниринг процесса, для этого нужно было перехватить USB- обмен по ADB. Надо отдать должное мастерам из Поднебесной – они предусмотрели такой вариант событий, что при использовании большинства USB- снифферов программа прямо говорила о наличии перехватывающего драйвера или же система просто падала в BSOD.
Тем, не менее, нас это не остановило и после непродолжительного research мы наконец- то увидели весь процесс, а так же вмешались и получили заветные дампы. Из дампов была восстановлена последовательность действий, которая представляла собой команды shell, также, в устройство закачивались некие файлы.
Большая часть файлов оказалась известными утилитами (хоть и хитро переименованными) – root- exploit, busybox и дампами /dev/block/mmcblk. Но среди них была и собственно утилита, которая используя уникальный ключ, сгенерированный ядром по таймстэмпу, снимала защиту от записи.
Команда strings на этот файл дала нам текстовые строки сообщений об ошибках, по которым Google вывел нас на исходный код утилиты gfree за авторством Scotty. XDA- сообществе личность, талантливый хакер), которая умела кратковременно (до перезагрузки) снимать защиту микросхемы и менять Secure. Его сначала очень разозлило, что с помощью их труда китайцы зарабатывают деньги, тем более даже не упомянув имен создателей и вырезав все копирайты из тела программы.
Затем, ознакомившись с результатами нашего исследования, он заинтересовался изменениями, которые китайцы внесли в модуль wpthis. RW доступ к partition 7 постоянным. Каким же образом организована столь хитрая защита от записи и почему gfree умеет её отключать (это ключевой момент в получении S- OFF)? Partition 7 защищается от записи в 2 этапа: -Программная защита в секторе памяти- Защитная инструкция в ядре, вызывающая перезагрузку при обнаружении попытки записи. GFree состоит их двух частей: userlevel приложение и модуль ядра, который подгружается во время работы, затем в случае успешной загрузки модуля на него подаются команды в зависимости от выставленных ключей. Как известно из ядра мы имеем прямой доступ к железу и модуль wpthis. MMC (Quallcomm MSM7.
XXX) управляющий сигнал на цикл перезагрузки (reset. Перезагрузка микросхемы e. MMC приводит к сбросу настроек защиты от записи.
Scotty удалось найти способ (8. MMC. После чего мы оказываемся в одном шаге от доступа к записи в /dev/block/ mmcblk. Для обхода этой защиты нам придется собрать свое ядро из исходника, внеся в него небольшие правки. Из набора исходников нам интересен файл drivers/mmc/card/block. В нём ищем строку #if 1 и просто меняем её на #if 0. Что любопытно – в режиме ядра нет родной команды на перезагрузку, поэтому используется BUG(), создающий ошибку, приводящую к перезагрузке.#if 1.
Если ядро уже модифицировано, то запись пройдет, но на самом деле не запишется – перезагрузка вернет все вспять. Безусловно, это уязвимость аппаратная – производителем устройства оставлена лазейка для перезаписи памяти, которая всегда должна оставаться Read- Only, еще это уязвимость персональная – идентификационная информация телефона может быть изменена и это затруднит его поиск в случае утраты/кражи. Эксперименты с partition. IMEI номеров – в сети могут регистрироваться аппараты с любыми IMEI, включая дублирующиеся и явно не соответствующие реальности. Операторы, безусловно, в курсе проблемы, но возможно связаны по рукам и ногам. Дело в том, что большая доля рынка телефонов принадлежит устройствам с одинаковым IMEI- номером.
Отключение этих аппаратов от сети приведет к потере большого числа клиентов. Сначала я расскажу о том, как защититься, а потом – от чего. Paranoid Android: создание телефона- оборотня с использованием криптографии. С момента появления на рынке android- устройств энтузиасты искали способы максимально обезопасить свои данные и раскрыть потенциал сильно урезанного, но все еще Linux- ядра Android OS. Началось все с The Guardian Project (https: //guardianproject.
DM- crypt для прозрачного шифрования данных. Так как Android OS умеет использовать родное шифрование(пусть и очень криво да ненадежно), то этот модуль присутствует во всех стоковых ядрах.
Столь мощный инструмент, однако, автором был использован в совершенно несерьезных целях – банальном создании криптоконтейнеров для хранения файлов и папок. Мы пошли дальше, найдя способ применить эту утилиту для шифрования пользовательских данных «на лету», но не только. На деле все оказывается куда сложнее и интереснее: во- первых придется решать проблему открытия и монтирования криптоконтейнеров на этапе загрузки смартфона – нужно править ядро, добавляя в последовательность загрузки вызов интерактивного меню ввода пароля и операции с криптоконтейнерам, во- вторых нужно создавать собственно тач- меню для ввода пароля на этапе загрузки девайса. Подобные проекты были, но ни один из них не дошел до релиза – неизбежные проблемы порчи криптоконтейнера при отключении питания сводили на нет преимущества безопасности. Мы пошли другим путем – крипто- ОС отделена от основной системы, таким образом, любые проблемы не помешают телефону включаться и функционировать и ядро мучить не надо.
Давайте рассмотрим пример пошагового исполнения нашего криптофона. Нам потребуется: — Телефон на Android версии 2. Root— установленный пакет консольных утилит busybox— установленный консольный менеджер криптоконтейнеров lm. USB- Отладки— бинарник reboot из состава ROM manager. Рекомендую использовать какой- нибудь кастом- ром, в котором уже все это есть, например Leedroid Rom для HTC Desire HD1.
Нам нужно создать контейнеры для хранения защищенных данных, начнем с /data/ контейнера: В каталоге /data/ мы создадим пустой файл размером 8. Desire HD нам доступен 1гб внутренней памяти, необходимо оставить хотя бы 2. M count 8. 00. Привяжем его к loopback- устройству –#losetup /dev/block/loop. Отформатируем в Luks- формат используя 1.
AES шифрование – #lm. Format –c aes- plain /dev/block/loop. Откроем наш новый криптоконтейнер для дальнейшей настройки – #lm. Open /dev/block/loop. Где data — выбранное нами название для крипто- контейнера. По- умолчанию с HTC DHD идет 8.
Гб карта, ее и будем рамечать. Иными словами, при поверхностной оценке первая мысль – поддельная SD- карта, такое часто бывает – вполовину номинала. Продолжаем работать с SD- картой. Теперь у нас вместо файла блоковое устройство (раздел карты), это значит loopback- устройство нам не понадобится, форматируем в Luks сразу весь раздел – #lm. Format –c aes- plain /dev/block/mmcblk. Открываем созданный контейнер – #lm.
Open /dev/block/mmcblk. Где sdcard – это выбранное имя для контейнера SD- карты. Форматируем открытый контейнер в fat.
Seccard. 0 /dev/mapper/sdcard. Закрываем контейнер sd- карты, он полностью готов, и не трогаем его до того, как система окончательно заработает – #lm. Close sdcard. Займемся наполнением data- контейнера, ведь сейчас он пуст, а в таком виде система работать не будет.
Формат файла . db - описание расширения, чем открыть файл db.