eXeLab
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 12 ноября!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Русский / Russian English / Английский

Сейчас на форуме: hlop, SaLvaTruCha (+1 невидимый пользователь)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

 eXeL@B —› Крэки, обсуждения —› Aipsin (ревесинг формата базы)
Посл.ответ Сообщение

Ранг: 0.1 (гость)
Статус: Участник

Создано: 20 июля 2015 22:43 · Поправил: 21 июля 2015 02:51 plan-b New!
Цитата · Личное сообщение · #1

Есть такая прога - aipsin.com - база данных для сотрудников трёхбуквенных контор
по разным аспектам наркотических средств (списки запрещённых, спектры, свойства,
методики анализа, и т.д.). http://aipsin.com
(за ссылкой на скачивание - в ЛС)
Сперва направления исследования разделились: один товарищ стал
отламывать USB ключ guardant, другой обнаружил что база (mdb) непошифрована
и стал переносить её в mysql. Оба подхода дали результат - guardant отломан,
база перенесена.
Тут образ VM с установленной и отломаной:
https://yadi.sk/d/SD-BCLmghvcbK
(пароль заинтерисовавшимся через ЛС)
а тут наработки по приделыванию web интерфейса к mysql базе:
http://755izzxlxk452qr2.onion/aipsin/index.php

Кроме самой базы (для примера 180.d) есть ещё
'архивы' с всякими полезными pdf (184d.*) - это просто куча pdf записаных подряд,
а в конец дописана таблица с их размещением. Формат таблицы простой: 4
последних байта = количество записей, перед ней 20-байтные 'записи' в которых
в последих 2 dword указано смещение в файле и длина. Назначение первых 3-х
dword непонятно.
Вот пример записи:
файл 184d.40 f1=0x62EE35AB f2=0 f3=0 offs=96690389 len=338497
(в некоторых случаях поля f2 и f3 не равны 0, поля f1 соседних записей отличаются
на 1 в первом байте). По указанному смещению лежит pdf. Этот же pdf имеется в базе
180.d таблица Sections: Index=41472 Name=Phentermine
Теперь собственно проблема: нужно установить соответствие между файлом из
'архива' и записью в базе. (В оригинальном интерфейсе конечно оно соответствует)
Похоже, что в 'архиве' этой информации нет (либо хорошо спрятано) - следовательно
в базе. Для этого даже есть подходящее поле (e_DateLine) ибо содержимое остальных
полей уже разобрано. Вот оно:
Code:
  1. 0000000 9ae8 e49d 898b 87d9 bce7 e885 9b9f b1e7
  2. 0000010 ebb5 9282 9fef efac 9d85 ade0 e2a5 80af
  3. 0000020 87e8 e6a4 ba91 8fe1 3f97 a1e3 e3b6 a39b
  4. 0000030 88e8 e19f 9284 a5e8 e292 a28e 9aec ee97
  5. 0000040 b2af 92ec e5a9 8ea8 b1ea e184 a7aa 87e6
  6. 0000050 e7bf 89a1 83e3 ecbc 85a8 9de1 e19e bdb4
  7. 0000060 b8ee eb87 8e89 98e5 e18f a6bc a0e1 e4bd
  8. 0000070 82af 9de5 e5a8 a9ab 81ed e695 b6b4 ea3f
  9. 0000080 bb81 89e7 e8a1 a797 8adb 84e7 ebba b1bb
  10. 0000090 88ee e881 87af 9cea e6a6 b49a 98e7 e198
  11. 00000a0 a78c 8ce7 e883 b5a6 9be5 e6a0 9491 95ea
  12. 00000b0 eb80 82bc bdef ebbd 8685 95e7 ebb6 8a84
  13. 00000c0 bfeb e5bc 8d8c b1ec e881 8ca7 b3ea eaa8
  14. 00000d0 9e9f 9fe3 ebaa 9980 a2e6 e4a8 8c92 aee4
  15. 00000e0 e5ba 9c82 b7eb e1b1 9bb5 bce5 e6ab 8c88
  16. 00000f0 b3e5 e387 b8ad 9ce6 e8b5 98af a6e7 eaba
  17. 0000100 8396 aee8 e6bd 869e b9e3 e883 88ae 90d9
  18. 0000110 9be3 e182 ab94 ace7 3fb9 9eec 3f9a abe5
  19. 0000120 3fa5 bae1 e8b7 9588 b0ea e09b b6be 8ae9
  20. 0000130 e1be b496 92e3 e6a0 8ea2


Стало быть задача 1 - узнать где хранится соответствие файл - Index в базе
и задача 2 - что храниться в поле e_DateLine (и других аналогичных полях в других
таблицах)

P.S. Предполагается обсужление технической части, а не морально этических
аспектов такого исследования, и выкладывания сей базы в паблик.

Добавлено спустя 7 минут
Собственно предварительный план действий (сомнительный на мой взгляд)
1. поставить бряк на ReadFile (ProcMon показывает что количество чтений из базы
небольшое)
2. Отловить момент, когда будет прочитан фрагмент, содержащий нужное поле
3. Поставть бряк на чтение памяти.
4. Вероятно, сработает в недрах движка, парсящего mdb формат.
Непонятно, как найти кусок, который что-то полезное делает
с самими данными из поля...

Ранг: 20.5 (новичок)
Статус: Участник

Создано: 20 июля 2015 23:03 New!
Цитата · Личное сообщение · #2

plan-b пишет:
один товарищ стал
отламывать USB ключ guardant, другой обнаружил что база (mdb) непошифрована
и стал переносить её в mysql. Оба подхода дали результат - guardant отломан,
база перенесена.

Респект!

plan-b пишет:
файл 184d.40 f1=0x62EE35AB f2=0 f3=0 offs=96690389 len=338497

f1 наверно какой-то идентефикатор файла
plan-b пишет:
Вероятно, сработает в недрах движка, парсящего mdb формат

По стеку можно прогуляться и выцепить первичную функцию чтения с параметрами.


p.s. Надо качать и разбираться
 eXeL@B —› Крэки, обсуждения —› Aipsin (ревесинг формата базы)

Оригинальный DVD-ROM: eXeL@B DVD !

Вы находитесь на форуме сайта EXELAB.RU
Проект ReactOS