Форум программистов, компьютерный форум, киберфорум
Низкоуровневое программирование
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/34: Рейтинг темы: голосов - 34, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 14.03.2015
Сообщений: 4

Расшифровка базы ответов теста формата .qst с последующей перезаписью (Delphi)

14.03.2015, 18:50. Показов 7008. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем! Столкнулся с проблемой - нужно решить тест, но не 1 раз, а неограниченное количество. Даже ответы есть (помогли сообщения в теме "Выяснить алгоритм работы программы тестирования на Delphi и определить структуру файлов-вопросов").

Суть такая.. имеются:
1) программа тестирования, написанная на Delphi;
2) база с вопросами-ответами, зашифрованная и имеющая расширение .qst;
3) вопросы-ответы в этом файле расположены так, что 1-й ответ ВСЕГДА верный;
4) программа тестирования уже сама перемешивает вопросы и ответы в произвольном порядке (в этом и проблема).

Цель:
В уже имеющуюся написанную прогу, которая расшифровывает файл .qst и выдает всё в консоль, добавить код, который не просто бы считывал с этого файла байты, но и перезаписывал таким образом, чтобы 1-й ответ ОЧЕНЬ СИЛЬНО отличался (плюсик впереди, одна точка вместо ответа и т.п.). Сам текст ответа не нужен, поэтому чтобы каждый раз потом отвечать, удобнее будет видеть поле, которое нужно ткнуть

P.S. во вложенном архиве default.qst - сама база данных, Project2.dpr - проект Delphi, Project2.exe - скомпилированный файл, который открывает default.qst, считывает и реализует цикл расшифровки байт.
Вложения
Тип файла: rar Прога.rar (207.0 Кб, 136 просмотров)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.03.2015, 18:50
Ответы с готовыми решениями:

Расшифровка базы ответов теста формата *.farm
Здравствуйте! Имеется база данных ответов к тестам формата farm, без программы его чтения, нужно извлечь ответы. Помогите!

Расшифровка базы ответов теста формата *.farm
Нужно взломать программу(прилагаю внизу) для считывания формата *.farm (прилагаю внизу). Помогите!

Расшифровка базы ответов тест с расширением .den
Помогите расшифровать файлик. Программа написана на Delphi. И если можно, то выделить правильные ответы плюсами для повторного прохождения...

14
4190 / 1838 / 221
Регистрация: 06.10.2010
Сообщений: 4,124
15.03.2015, 07:21
Лучший ответ Сообщение было отмечено LxP как решение

Решение

Добавил плюсики.
Вложения
Тип файла: 7z default.7z (197.5 Кб, 75 просмотров)
1
0 / 0 / 0
Регистрация: 14.03.2015
Сообщений: 4
15.03.2015, 09:33  [ТС]
Спасибо!!!!! Это круто А ты в своей же проге добавил код? Можешь исходники дать посмотреть, как это вообще реализовывается?

Добавлено через 10 минут
А плюсик намного сложнее будет поставить впереди? Насколько я понимаю этот процесс, то, видимо, да.. Так?
0
0 / 0 / 0
Регистрация: 14.03.2015
Сообщений: 4
16.03.2015, 11:24  [ТС]
Цитата Сообщение от murderer Посмотреть сообщение
Добавил плюсики.
Murderer, не пропадай! Только ты можешь мне помочь Очень нужен код!
0
4190 / 1838 / 221
Регистрация: 06.10.2010
Сообщений: 4,124
16.03.2015, 15:47
Лучший ответ Сообщение было отмечено LxP как решение

Решение

Эта программа при каждом запуске добавляет плюс в начало каждого первого ответа
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
uses
  Windows;
 
type
Tqst =packed record
      signature: word;
      unknown:   word;
      reccount:  word;
      comment:   array[0..255] of AnsiChar;
      data:      array[0..1024] of packed record
                                   Question: array[0..6 shl 8-1] of byte;
                                   answers:  array[0..4,0..255] of byte;
                                   end;
      end;
 
const
  key: array[0..$386] of AnsiChar='Примечателен тот факт, что участники сообщества Упячки постоянно'+
                                  ' создают карикатуры с участием одних и тех же личностей. Это: Он'+
                                  'отоле (Анатолий Вассерман) — главный «бог» и «вдохновитель» «вое'+
                                  'нов»[7]; Чаке (Чак Норрис) — ещё одно «божество» Упячки, часто у'+
                                  'поминается вместе с Онотоле.[7] Крабе — Владимир Путин. По утвер'+
                                  'ждению Lenta.ru, прозвище «крабе» родилось из его заявления на б'+
                                  'ольшой пресс-конференции в феврале 2008 года: «Все эти восемь ле'+
                                  'т я пахал, как раб на галерах».[8] На самом деле Путина стали на'+
                                  'зывать на Упячке словом «крабе» задолго до этого[9]. Шмеле — Дми'+
                                  'трий Медведев.[8] В день его избрания президентом России в блоге'+
                                  ' было принято решение привязать к нему образ, как это было с пре'+
                                  'дшественником. В первой версии образ был УЛИТОЧКА, только затем '+
                                  'ШМЕЛЬ. Параллельно писалась фраза «Я НЕ УЛИТОЧКА, Я ШМЕЛЬ, ВОТ В'+
                                  ' ЧЁМ СОЛЬ». Свидетель — безымянный свидетель из Фрязино на свадь'+
                                  'бе[10].';
 
var
  f,fm:  THANDLE;
  i,k,l: cardinal;
  view:  ^Tqst;
begin
  f :=CreateFile('default.qst',GENERIC_READ+GENERIC_WRITE,0,0,OPEN_EXISTING,0,0);
  fm:=CreatefileMapping(f,0,PAGE_READWRITE,0,0,0);
  pointer(view):=MapViewOfFile(fm,FILE_MAP_READ+FILE_MAP_WRITE,0,0,0);
  for i:=view^.reccount xor pword(@key[4])^-1 downto 0 do
  begin
      for k:=255 downto 1 do
      begin
        l:=(i*sizeof(view^.data[0])+sizeof(view^.data[0].question)+k);
        view^.data[i].answers[0,k]:=view^.data[i].answers[0,k-1] xor byte(key[(l-1) mod length(key)]) xor byte(key[l mod length(key)]);
      end;
      view^.data[i].answers[0,0]:=ord('+') xor byte(key[(l-1) mod length(key)]);
  end;
  UnmapViewOfFile(view);
  CloseHandle(fm);
  CloseHandle(f);
end.
1
0 / 0 / 0
Регистрация: 14.03.2015
Сообщений: 4
16.03.2015, 17:29  [ТС]
Murderer, ты лучший!!!
0
1 / 1 / 0
Регистрация: 30.03.2015
Сообщений: 33
30.03.2015, 12:21
Подскажите, то есть вопросы содержатся в каком месте? и это default.qst. подходит для любого теста такого образца?
0
1 / 1 / 0
Регистрация: 30.03.2015
Сообщений: 33
30.03.2015, 12:37
Помогите пожалуйста с этим тестом разобраться. что бы + писались у верных ответов. Заранее спасибо
Вложения
Тип файла: rar test.rar (197.5 Кб, 31 просмотров)
0
4190 / 1838 / 221
Регистрация: 06.10.2010
Сообщений: 4,124
30.03.2015, 17:33
big_brat_06
Во вложении рабочий дамп дешифратора. В алгоритме пока не разобрался...
Вложения
Тип файла: 7z test.7z (39.1 Кб, 69 просмотров)
1
1 / 1 / 0
Регистрация: 30.03.2015
Сообщений: 33
30.03.2015, 18:35
murderer, мне кажется мой вопрос похож на тот, что был в теме "Выяснить алгоритм работы программы тестирования на Delphi и определить структуру файлов-вопросов" . в самом конце ее
Подскажите пожалуйста, как расшифровать их вообще и чем лучше? Потому что не раз встречаюсь с ними и очень хочется самому научиться, а не постоянно просить кого-то
0
3176 / 1935 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
30.03.2015, 23:40
Цитата Сообщение от murderer Посмотреть сообщение
В алгоритме пока не разобрался
Программа тестирования на Delphi c зашифрованной базой
0
4190 / 1838 / 221
Регистрация: 06.10.2010
Сообщений: 4,124
31.03.2015, 05:51
Почистил код...
Вложения
Тип файла: 7z test.7z (37.1 Кб, 50 просмотров)
0
1 / 1 / 0
Регистрация: 30.03.2015
Сообщений: 33
31.03.2015, 08:21
murderer, а вы можете скинуть в блокнот то, что получилось именно вопросы и ответы. А там я сам буду пробовать разбираться дальше
0
4190 / 1838 / 221
Регистрация: 06.10.2010
Сообщений: 4,124
31.03.2015, 08:42
На MessageBox`е с текстом жмёшь Ctrl+C, запускаешь блокнот и жмёшь Ctrl+V.
1
0 / 0 / 0
Регистрация: 19.12.2016
Сообщений: 1
23.12.2016, 02:12
murderer, дорогой друг, не могли бы вы обратить внимание на мою проблему?! Есть программа вот с такой оболочкой(фото ниже). она несет в себе задачу электронного теста, в который входит 75 вопросов. эти вопросы(ответы на них соответственно) меняются местами при каждом новом прохождении. В наличии: файл "default.qst"(содержит базу вопросов-ответов) и скомпилированный "main.exe", которыйоткрывает эту самую базу.
Задача: чтобы плюсики ставились напротив правильного ответа))) (или найти доступ к файлу default.qst, чтобы взглянуть на ответы)
в общем то же самое, что и у ТС.
murderer прошу Вас не считать данное сообщение громким вторжением в Ваш досуг. извините за дерзость. если примите мой вызов, непременно напишите по адресу vk.com/kiryagol или смс 89617529662. заранее благодарю
Миниатюры
Расшифровка базы ответов теста формата .qst с последующей перезаписью (Delphi)   Расшифровка базы ответов теста формата .qst с последующей перезаписью (Delphi)  
Вложения
Тип файла: rar тест.rar (532.1 Кб, 12 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.12.2016, 02:12
Помогаю со студенческими работами здесь

Сериализация 5 объектов с последующей перезаписью!
Доброго времени суток! Такой вопрос. Как организовать сериализацию из потока(в потоке может быть разное кол-во данных) в xml так, что бы в...

Шифрование ответов теста
Здравствуйте. Пишу веб-приложение "тест". На просторах интернета нашла такой код для того, чтобы закодировать ответы теста и скрыть от...

Загрузка ответов теста из текстового файла
Здравствуйте форумчане нужна помощь.Делаю тестирование и подгружаю вопросы и 4 варианта ответов,соответственно есть label - вопрос и 4...

Процент правильных ответов по окончанию теста
Здравствуйте! Помогите пожалуйста с программой, все в принципе готово, но препод требует, вычислять % процент правильных процентов,...

Создание теста со счетчиком и 6-ю вариантами ответов
Нужно создать тест на delphi с 6 вариантами ответов ,тест должен состоять из 36 вопросов, и итоговый результат должен зависеть от выбранных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru