Сейчас на форуме: vsv1, r0lka, -Sanchez-, testrev1337, johnniewalker, Kybyx (+3 невидимых) |
eXeL@B —› Крэки, обсуждения —› Access база и модуль тестирования FEPO |
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 ... 18 . 19 . >> |
Посл.ответ | Сообщение |
|
Создано: 18 декабря 2006 01:03 · Личное сообщение · #1 Есть такая фигня как FEPO (федеральный экзамен в сфере профессионального образования www.fepo.ru). У них есть оффлайновый модуль тестирования. Дело в том что я хочу взломать БД. Покопашись внутри этой программки, обнаружил, что это Access база. Строку подключения нашел, но сам файл базы (Data Source=base.kam) не является базой Access, поэтому простое переименование в *.mdb не помогло. Главный модуль экспортирует функции SpecialReadFile, SpecialCreateFileW (A), которые вызывается из msjet40.dll. Что надо сделать чтоб подключится к этой базе? |
|
Создано: 22 декабря 2006 10:03 · Личное сообщение · #2 |
|
Создано: 22 декабря 2006 10:28 · Личное сообщение · #3 raznoe666 пишет: 20 raznoe666 пишет: Я вот только не пойму, то что прога востановила, являеться ли хешом???!! : Имя: f4s306620 Пароль: phse6i3k (был на руках....:s5 = 2038777492 (хеш, то что показывает прога AccessFix ) Не думаю, что это хеш уж очень он короткий, хотя... ЗЫ: Я удивлен, что столько народу занялось этой задачей. Я бы не занялся этой задачкой, если бы вопросы в этом тесте не были настолько корявы Самое главное, что бы господа из FEPO не прочитали этот топик |
|
Создано: 22 декабря 2006 10:29 · Личное сообщение · #4 |
|
Создано: 22 декабря 2006 11:09 · Личное сообщение · #5 |
|
Создано: 22 декабря 2006 11:15 · Личное сообщение · #6 raznoe666 пишет: вот и прога для расшифровки: BlowFish 2000 v3.1 www.gregorybraun.com/BlowFish.html Только вот файл она не принемает =( ууу... без комментариев. путаем алгорим(шифр) с программой? тут однозначно самопал надо писать. и вообще, проще всего разобрать параметры этих спец-функций чтения и прочитать ими базу полностью, приведя к открытому виду. как я понял из топика, ключ шифра - константа или зависит только от положения в файле, так что проблем не должно быть. Поскольку задача - вытащить вопросы и правильные ответы, этого должно хватить. |
|
Создано: 22 декабря 2006 11:29 · Личное сообщение · #7 |
|
Создано: 22 декабря 2006 11:44 · Личное сообщение · #8 тут однозначно самопал надо писать. Я пытался тупо прочитать, используя экспортируемые функции, с помощью самопала. Нифига не получилось, получается exception. Параметры идентичны функциям апи вин32, поэтом, я, думаю в,ызвал функции верно. Остается только, написать встраиваемый код в модуль testexam.exe и выташить с помощью него данные. >>Поскольку задача - вытащить вопросы и правильные ответы, этого должно хватить. Задача вытащить только вопросы, ответов в базе нет. Кстати вопросы можно вытащить с помощью AccessFix 5.17 Demo. (кстати ни укого нет зарегистрированой версии этой проги ) |
|
Создано: 22 декабря 2006 12:01 · Личное сообщение · #9 |
|
Создано: 22 декабря 2006 13:02 · Личное сообщение · #10 |
|
Создано: 22 декабря 2006 13:06 · Поправил: raznoe666 · Личное сообщение · #11 |
|
Создано: 22 декабря 2006 23:21 · Личное сообщение · #12 |
|
Создано: 23 декабря 2006 01:37 · Личное сообщение · #13 |
|
Создано: 23 декабря 2006 02:17 · Поправил: raznoe666 · Личное сообщение · #14 |
|
Создано: 23 декабря 2006 02:33 · Личное сообщение · #15 |
|
Создано: 23 декабря 2006 05:41 · Личное сообщение · #16 |
|
Создано: 23 декабря 2006 06:59 · Личное сообщение · #17 |
|
Создано: 23 декабря 2006 10:26 · Личное сообщение · #18 |
|
Создано: 23 декабря 2006 10:41 · Личное сообщение · #19 nv_xor пишет: У кого какие мысли, где дальше копать? я бы и начал иначе, и продолжал тоже. для начала прикрутил бы хуки на specialXXXX функции, при помощи которых сбрасывал бы в лог (например OutputDebugStringA) действия, выполняемые программой, параметры и результаты. Далбше анализировал бы. Исходя из твоей терминологии - "встраиваемым кодом". Подгрузил бы длл с отдельным тредом и вуаля. Скорее всего потом поднялся бы уровнем выше, в код вызывающий открытите, чтение, закрытие и тп, посмотрел формирование контекста (ключи, ...). Так как используется DCPCrypt2, т.е. opensource библиотека для дельфи - посмотрел бы на нее, на то как ее используют, режим шифра. дальше писал бы либо самопал, либо поправил код вызова спец-чтения на чтение всего файла. |
|
Создано: 23 декабря 2006 10:51 · Личное сообщение · #20 |
|
Создано: 23 декабря 2006 12:26 · Личное сообщение · #21 >>Исходя из твоей терминологии - "встраиваемым кодом" ну патч это. Какая разница Кстати, программисты забили на ANSI аналог SpecialCreateFile, никак не хочет работать n1kto А если исходить из того соображения, что база разбита на 2 файла (testexam.bin и base.kam), при том если её собрать, ACCESS даже просит ввести пароль, потом пишет база повреждена. Все же мне кажется, что зашифрованы, только данные в полях, а не вся база. Параметры и результаты, и так известны, которые поступают в SpecialXXXX с помощью дебагера. |
|
Создано: 23 декабря 2006 12:46 · Личное сообщение · #22 |
|
Создано: 23 декабря 2006 22:36 · Личное сообщение · #23 |
|
Создано: 23 декабря 2006 23:13 · Личное сообщение · #24 HANDLE handle; HANDLE hMod = LoadLibrary("testexam5.exe"); SpecCreateFile myCreateFile; myCreateFile = (SpecCreateFile) GetProcAddress(hMod,"SpecialCreateFileA"); SpecCreateFileW myCreateFileW = (SpecCreateFileW) GetProcAddress(hMod,"SpecialCreateFileW"); RF SpecialReadFile = (RF) GetProcAddress(hMod, "SpecialReadFile"); handle = myCreateFileW(L"d:\testexam\base\base.kam",0xC0000000,3, NULL,3,0x10000080,NULL); HANDLE handlew = CreateFileW(L"d:\testexam\1",GENERIC_WRITE | GENERIC_READ,3, NULL,CREATE_NEW,0x10000080,NULL); if (handle ==INVALID_HANDLE_VALUE) MessageBox(0,"DontWork ", "",0); else { SpecialReadFile(handle, buf, 0x10000, &i,&ol); ol.Offset = i; WriteFile(handlew,buf,i,&i,NULL); SpecialReadFile(handle, buf, 0x1000, &i,&ol); ol.Offset = ol.Offset +i; WriteFile(handlew,buf,i,&i,NULL); while(SpecialReadFile(handle, buf, 0x200, &i,&ol)) { ol.Offset = ol.Offset +i; WriteFile(handlew,buf,i,&i,NULL); //dll должна подгружаться из TestExam.exe, иначе будет exception Базу можно прочитать так, по крайней мере у меня получилось. Как я и предпологал, вопросы находятся в зашифрованных BLOB'ах в таблице t_Tasks, ответы - t_Answers |
|
Создано: 23 декабря 2006 23:40 · Личное сообщение · #25 |
|
Создано: 24 декабря 2006 00:20 · Личное сообщение · #26 nv_xor пишет: Базу можно прочитать так, по крайней мере у меня получилось. Как я и предпологал, вопросы находятся в зашифрованных BLOB'ах в таблице t_Tasks, ответы - t_Answers дальше все просто: экспортируешь из иды (или деде) мэп-файл, грузишь его в ольку во время отладки; ставишь бряки на подозрительные функции расшифровки, находишь место где вопросы расшифровываются. смотришь ключ, если он меняется - смотришь от чего зависит. На этом, собственно, часть где надо думать заканчивается, остается только механическая работа. |
|
Создано: 24 декабря 2006 00:23 · Личное сообщение · #27 |
|
Создано: 24 декабря 2006 00:29 · Личное сообщение · #28 |
|
Создано: 24 декабря 2006 01:09 · Личное сообщение · #29 |
|
Создано: 24 декабря 2006 01:54 · Поправил: nv_xor · Личное сообщение · #30 |
|
Создано: 24 декабря 2006 02:33 · Личное сообщение · #31 |
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 ... 18 . 19 . >> |
eXeL@B —› Крэки, обсуждения —› Access база и модуль тестирования FEPO |