Статья Форензика Android, расшифровать и собрать данные из баз Viber

Sunnych

Sunnych

Mod. Forensics
Gold Team
01.06.2018
223
1 027
Форензика Android, расшифровать сообщения баз данных в Viber В Форензике при сборе информации для доказательной базы требуется получить удобоваримый вид переписок мессенджера с мобильного устройства. Рассмотрим операционную систему android и мессенджер Viber. Для наших действий понадобятся root права для доступа в системную область файловой системы, способ получения привилегий и прав root в этой статье мы рассматривать не будем, считаем что у нас уже есть такие права и доступ.
Рассмотрим места нахождение нужных нам файлов и баз данных.
  • Сообщения Viber
/data/data/com.viber.voip/databases/viber_messages
  • Звонки Viber
/data/data/com.viber.voip/databases/viber_data
Viber.jpg
Копируем всю папку с базами в удобное для нас место.
Для открытия viber_messages будем использовать программу Andriller - сразу оговорюсь, программа не смогла вскрыть сообщения, все обновляется.
Важно: но в продолжении мне помогает Unison который распарсит эту базу и создаст её читаемый вид.
Viber2.jpg
Для открытия viber_data будем использовать программу Andriller
Viber3.jpg

Вот начало положено Unison
SQL:
select par_inf.number as [Номер],par_inf.contact_name as [Имя],mes.body as [Сообщение], mes.msg_date  as [Дата]
from conversations as con
join messages as mes on con._id = mes.conversation_id
join participants as par on par.conversation_id = con._id
join participants_info as par_inf on par.participant_info_id = par_inf._id
where par_inf._id = 7
order by  mes.msg_date desc
Viber4.jpg
DB Browser for SQLite разработано @Unison ИСХОДНИКИ

  • Звонки Viber
/data/data/com.viber.voip/databases/viber_data
SQL:
------------Поиск по номеру и вывод сообщений---------------------------------------------
SELECT CASE type
        WHEN '1' THEN 'Принятый'
        WHEN '2' THEN 'Набранный'
        WHEN '3' THEN 'Пропущенный'
    END AS [Тип],
    number,DATETIME(SUBSTR(date , 1,10), 'unixepoch', 'localtime') AS [Дата], TIME(duration,'unixepoch') AS [Продолжительность]
FROM calls
--WHERE calls.canonized_number = '+3809наш номер'--фильтруем таблицу по номеру
ORDER BY duration DESC
-------------------------------------------------------------------------------------------
viber_data.jpg
  • Сообщения Viber
/data/data/com.viber.voip/databases/viber_messages
SQL:
------------Поиск по номеру и вывод сообщений---------------------------------------------
SELECT par_inf.number AS [Номер],par_inf.contact_name AS [Имя],mes.body AS [Сообщение],
    DATETIME(SUBSTR(mes.msg_date , 1,10), 'unixepoch', 'localtime')  AS [Дата]/*так как в ячейке mes.msg_date содержется дата и время в секундах, преобразуем его в
    читабельный формат и выбор времени для текущей локации */
FROM conversations AS con
    JOIN messages AS mes ON con._id = mes.conversation_id
    JOIN participants AS par ON par.conversation_id = con._id
    JOIN participants_info AS par_inf ON par.participant_info_id = par_inf._id
WHERE par_inf.number = '+380наш номер'-- фильтруем таблицу по номеру
ORDER BY  mes.msg_date DESC--устанавливает порядок сортирования по убыванию, от больших значений к меньшим
-------------------------------------------------------------------------------------------
viber_messages.jpg
P:S​
Форензика Android, расшифровать сообщения баз данных crypt в WhatsApp
Обязательно к прочтению: Android. Ищем интересности.
Данная статья будет дополняться, развиваться с помощью нашего форумчанина @Unison и получать значительные правки to by continued...
 
Последнее редактирование:
sicario

sicario

Member
20.04.2018
13
6
побольше бы на тему Форензике андроид стоющая вещь
 
  • Нравится
Реакции: wittmann404
w3n0m41k

w3n0m41k

Well-known member
30.10.2016
62
40
Кратко понятно и по существу!!!!!!!!!!!!!
 
Мы в соцсетях: