Easyquizzy как узнать ответы
Перейти к содержимому

Easyquizzy как узнать ответы

  • автор:

Можно ли взломать тест easyQuizzy на оценку

Можно. Это для новых версий вряд ли сработает: https://kaimi.io/2014/06/opening-protected-mytestx-easyquizzy/
Если есть конкретная жертва, то за $ помогу с этой проблемой.

Похожие вопросы

Ваш браузер устарел

Мы постоянно добавляем новый функционал в основной интерфейс проекта. К сожалению, старые браузеры не в состоянии качественно работать с современными программными продуктами. Для корректной работы используйте последние версии браузеров Chrome, Mozilla Firefox, Opera, Microsoft Edge или установите браузер Atom.

взлом пароля теста easyquizzy

Тесты идеально подходят для быстрой оценки знаний ваших студентов. Всякий раз, когда вам нужно узнать, как ваши студенты делают это, хотя их курс или просто хотите потратить 5 минут, чтобы создать быстрый 10-вопрос профессиональный тест на … подробнее .

Key easyQuizzy
Cisco EAP-FAST Module 2.2.14

Модуль Cisco EAP-FAST — это программный модуль, созданный компанией Cisco Systems, Inc. для повышения безопасности беспроводных сетей. подробнее .

Tenorshare 4uKey 3.0.20.11

Tenorshare Co., Ltd. — 12MB — Shareware —

Tenorshare 4uKey является iPhone отпирать инструмент, который позволяет разблокировать iPhone или iPad без ввода пароля. Независимо от того, это является 4-значный секретный код, 6-значный пароль, пользовательский числовой код, или … подробнее .

Shared C Run-time for x64

Shared C Run-time for x64 — это программный компонент, созданный McAfee. Этот инструмент предназначен для управления компьютерными системами и их защиты, обеспечивая прочную основу для мощных и безопасных приложений. подробнее .

AhnLab Safe Transaction 1.6.0.1602

AhnLab Safe Transaction — это решение безопасности, разработанное AhnLab, Inc., которое помогает пользователям защитить свои онлайн-транзакции от потенциальных угроз, таких как взлом, фишинг и кейлоггинг. подробнее .

WD Security 2.1.0.130

Western Digital — 12,6MB — Shareware —

WD Security это простое приложение, которое позволяет заблокировать диск с помощью пароля. Можно задать программы WD Security, чтобы предоставить вам с подсказкой «пароль», если вы забыли свой пароль, но он не будет получать ваш пароль, в … подробнее .

Advanced PDF Password Recovery Pro 5.6

Advanced PDF Password Recovery (APDFPR) — программа, которая поможет снять ограничения с PDF-файлов, защищенных «owner»-паролем. подробнее .

Excel Password Recovery Lastic 1.3

Excel Password Recovery Lastic — 2,4MB — Shareware —

У вас есть десяток важных документов, но вы не в состоянии их отредактировать, потому что забыли пароли — ситуация абсурдная, но весьма распространенная. подробнее .

iMyFone LockWiper 7.1.3.4

iMyFone LockWiper является одним из лучших программ, которые можно скачать на компьютере, чтобы разблокировать пароль заблокирован iPhone с простыми кликами. подробнее .

Результаты поиска

взлом пароля теста easyquizzy

Описания содержат

взлом пароля теста easyquizzy

easyQuizzy 2.0

Тесты идеально подходят для быстрой оценки знаний ваших студентов. Всякий раз, когда вам нужно узнать, как ваши студенты делают это, хотя их курс или просто хотите потратить 5 минут, чтобы создать быстрый 10-вопрос профессиональный тест на … подробнее .

Cisco EAP-FAST Module 2.2.14

Модуль Cisco EAP-FAST — это программный модуль, созданный компанией Cisco Systems, Inc. для повышения безопасности беспроводных сетей. подробнее .

Tenorshare 4uKey 3.0.20.11

Tenorshare Co., Ltd. — 12MB — Shareware —

Tenorshare 4uKey является iPhone отпирать инструмент, который позволяет разблокировать iPhone или iPad без ввода пароля. Независимо от того, это является 4-значный секретный код, 6-значный пароль, пользовательский числовой код, или … подробнее .

Shared C Run-time for x64

Shared C Run-time for x64 — это программный компонент, созданный McAfee. Этот инструмент предназначен для управления компьютерными системами и их защиты, обеспечивая прочную основу для мощных и безопасных приложений. подробнее .

AhnLab Safe Transaction 1.6.0.1602

AhnLab Safe Transaction — это решение безопасности, разработанное AhnLab, Inc., которое помогает пользователям защитить свои онлайн-транзакции от потенциальных угроз, таких как взлом, фишинг и кейлоггинг. подробнее .

WD Security 2.1.0.130

Western Digital — 12,6MB — Shareware —

WD Security это простое приложение, которое позволяет заблокировать диск с помощью пароля. Можно задать программы WD Security, чтобы предоставить вам с подсказкой «пароль», если вы забыли свой пароль, но он не будет получать ваш пароль, в … подробнее .

Advanced PDF Password Recovery Pro 5.6

Advanced PDF Password Recovery (APDFPR) — программа, которая поможет снять ограничения с PDF-файлов, защищенных «owner»-паролем. подробнее .

iMyFone LockWiper 7.1.3.4

iMyFone LockWiper является одним из лучших программ, которые можно скачать на компьютере, чтобы разблокировать пароль заблокирован iPhone с простыми кликами. подробнее .

Password Depot 17.2.0

AceBIT — 5,7MB — Shareware —

Пароль депо защищает ваши важные и конфиденциальные пароли от внешнего доступа, обеспечивая максимальное удобство! Основные моменты:-Удобный интерфейс для удобного управления ваши пароли и детали доступа: для Интернет, Интернет-банкинг … подробнее .

TOSHIBA Value Added Package 1.6.35.6406

TOSHIBA Corporation — 67,4MB — Freeware —

Этот пакет устанавливает целый ряд важных утилит.-TOSHIBA общий драйвер для компонентов является важным компонентом системы Windows Vista. подробнее .

Дополнительные заголовки, содержащие

взлом пароля теста easyquizzy

easyQuizzy 2.0

Тесты идеально подходят для быстрой оценки знаний ваших студентов. Всякий раз, когда вам нужно узнать, как ваши студенты делают это, хотя их курс или просто хотите потратить 5 минут, чтобы создать быстрый 10-вопрос профессиональный тест на … подробнее .

Снимаем пароль с тестов MyTestX и easyQuizzy

Время от времени сталкиваюсь с просьбами, касающимися программ для проведения компьютерного тестирования (MyTestX и easyQuizzy), которые заключаются либо в извлечении файла теста из .exe-файла (в случае с MyTestX), либо в открытии защищенного паролем теста.
Набросал «деревянный» последовательный мануал для тех, кому необходимо самостоятельно извлечь тест или сделать, чтобы редактор позволял открыть тест при вводе любого пароля.

Нам понадобится отладчик, например, OllyDbg и программа для упрощенной работы со структурой PE-файла, например, CFF Explorer, также нам понадобится редактор тестов (элементарно ищется в Google), который мы будем «исправлять», и файл, содержащий тест, который необходимо открыть.

Перейти к описанию про easyQuizzy
Перейти к модифицированным редакторам для открытия тестов без пароля
Снимаем пароль с тестов MyTestXPro (.mtx)
Утилита для извлечения теста (.mtf/.mtx) из .exe-файла (пароль kaimi-io)

Для начала, разберем самую тривиальную проблему: как извлечь из .exe-файла файл с тестом — .mtf (речь о MyTestX).
Берем .exe-файл, который содержит тест (я воспользовался экземпляром с форума) и открываем его в CFF Explorer. Сразу же переходим в раздел «Resource Directory» в колонке слева, далее, в списке справа, ищем «Resource Directory Entry . AKA: RCData», открываем выпадающий список и в нем ищем «Resource Directory Entry . AKA: MTA».

exe_to_mtf-1

Этот ресурс фактически является .mtf-файлом, который нас интересует. Теперь нам необходимо извлечь его. Для этого обратимся к дочернему элементу последнего вышеупомянутого ресурса — «Resource Data Entry». Выделим его и увидим в нижней половине окна его атрибуты, нас интересуют поля «OffsetToData» и «Size».

exe_to_mtf-2

Запомним значение поля «OffsetToData» и переключимся на «Address Converter» в списке слева. Теперь введем значение в поле RVA — мы получили физическое смещение интересующего нас ресурса относительно начала файла («File Offset»).

exe_to_mtf-3

Воспользуемся встроенным hex-редактором, который расположен в нижней части окна и пометим это место (правая клавиша мыши, «Begin Of Block»), теперь прибавим к «File Offset» значение поля «Size», которое я упоминал выше: 003437E8 + 0001A50B = 0035DCF3 (значения указаны в hex, у вас значения могут отличаться), переместимся по этому адресу (кнопка с изогнутой стрелкой), отметим это место (правая клавиша мыши, «End Of Block»). Осталось сохранить выделенный фрагмент в отдельный файл. Снова нажмем правую клавишу, выберем Copy->Into New File, укажем имя файла, и готово (dx предлагает упрощенный метод: CFF Explorer->Resource Editor->RCData->»MTA»->правой кнопкой мыши Save Resource (Raw)).

exe_to_mtf-4

Мы получили .mtf-файл, который можно открыть в редакторе тестов MyTestX — MyTestEditor. Однако, тест может быть защищен паролем. Давайте рассмотрим, как модифицировать редактор тестов, чтобы файл с тестом открывался при вводе любого пароля.

Запускаем редактор тестов MyTestEditor и отладчик OllyDbg. Аттачимся OllyDbg к процессу MyTestEditor (File->Attach). Мы оказываемся внутри ntdll.

fix_mtf-1

Нажимаем Debug->Run и возобновляем работу приложения. Далее нажимаем правую клавишу где-нибудь в левом верхнем окне отладчика. В появившемся меню выбираем Go to->Expression, в появившемся окне вводим ReadFile (имя функции WinAPI, которая скорее всего будет использоваться для чтения содержимого файла с тестом).

fix_mtf-2

В списке снизу выбираем kernel32.ReadFile и нажимаем «Follow expression». Мы находимся в начале функции ReadFile, теперь нам необходимо поставить breakpoint, чтобы отследить обращение программы к функции. Ставим breakpoint, для этого нажимаем правой клавишей на подсвеченной линии ассемблерного кода и выбираем Breakpoint->Toggle. Вообще, прежде чем ставить breakpoint, лучше сначала в MyTestEditor вызвать диалог открытия теста, иначе придется пропускать много обращений (F9) к ReadFile из не интересующих нас мест, их можно определить по значению на верхушке стек-фрейма (правое нижнее окно отладчика, строка с текстом «Return from kernel32.ReadFile to . «). Интересующий нас вызов будет выглядеть приблизительно так:

fix_mtf-3

Как только мы поймали нужное обращение (оно произойдет, когда мы в диалоге открытия теста выберем наш тест, защищенный паролем, и нажмем «Открыть»), посмотрим внимательнее в правое нижнее окно отладчика (в нем мы видим содержимое стека), прокрутим окно вниз в поисках строки, которая представляет собой полный путь к файлу с тестом (нас интересует этот стек-фрейм, так как скорее всего он был сформирован в интересующей нас функции).

fix_mtf-4

Поставим hardware breakpoint, чтобы отследить обращение по этому адресу. Для этого выберем строчку, которая содержит путь к тесту, нажмем правой клавишей мыши и выберем Breakpoint->Hardware. В открывшемся окне в первой колонке (Break on), выберем Access (R/W) и нажмем OK.

fix_mtf-5

Продолжим выполнение программы (F9 или Debug->Run). Через какое-то время программа в очередной раз остановится, сработает наш свежепоставленный hardware breakpoint. У меня место срабатывания выглядело как-то так:

fix_mtf-6

Напоминает какую-то промежуточную функцию для работы с файлом, поэтому воспользуемся несколько раз опцией Debug->Execute till return (Ctrl+F9), пока не окажемся в более «высокоуровневом» участке кода, где строится основная логика обработки файла с тестом.

fix_mtf-7

Полистаем код. Нас интересуют всевозможные условные переходы (je, jne, jz, jnz и так далее), которые перепрыгивают более-менее внушительные фрагменты кода, скажем от 5 инструкций. Некоторые участки я сразу пропустил, где, как мне показалось, производятся неинтересные действия, как, например, в этом фрагменте:

fix_mtf-8

Напоминает проверку версии теста. Мне так сразу показалось, но можно убедиться и опытным путем, поставив breakpoint на инструкции условного перехода и поменяв значение Z-флага в окне регистров справа, когда выполнение программы прервется на этом участке. Пролистаем немного вниз и наткнемся на следующую группу условных переходов:

fix_mtf-9

Попробуем в лоб поменять Z-флаг на каждом переходе. То есть в MyTestStudent у нас открыт диалог выбора файла с тестом, мы ставим breakpoint на одном из переходов, в диалоге выбираем файл с тестом, который защищен паролем, наблюдаем окно, запрашивающее ввод пароля, вводим туда произвольный текст, после этого у нас должен сработать ранее установленный breakpoint, меняем Z-флаг и продолжаем выполнение программы нажатием F9.
Мы увидим, что на вышеупомянутых двух переходах, при изменении Z-флага программа завершает свою работу, после этого запускается браузер, где открывается сайт с фрагментом законодательства: какая-то самопальная «защита» от простого взлома. Однако, при изменении логики условного перехода, который расположен чуть ниже, мы видим, что в программе предварительно открывается тест, хотя после этого программа все равно завершает свою работу и открывает браузер.

fix_mtf-10

Для открытия браузера скорее всего используется функция WinAPI ShellExecute. Проверим наше предположение: снова нажимаем правую клавишу где-нибудь в левом верхнем окне отладчика, в появившемся меню выбираем Go to->Expression, в появившемся окне вводим имя нашей функции, переходим в начало функции и ставим там breakpoint. Снова выполним модификацию логики последнего, интересующего нас, условного перехода, и наш breakpoint срабатывает:

fix_mtf-11

Воспользуемся несколько раз Debug->Execute till return (или Ctrl+F9), чтобы вернуться из недр shell32.dll и попасть в модуль MyTestEditor (следим за заголовком окна отладчика, там где в данный момент написано «[CPU — main thread, module shell32]»). Почти сразу попадаем в подобное место:

fix_mtf-12

Здесь мы видим еще один условный переход, который нам необходимо исправить (на лету, либо заменив условный переход на безусловный — jmp). Получается, что нам нужно подправить два условных перехода, чтобы получить возможность открывать защищенный тест, вводя любой пароль. Заменим и проверим:

fix_mtf-13

Мой тестовый .mtf-файл, защищенный паролем, открылся без проблем (ссылки на модифицированный редактор и пример файла с тестом находятся в конце статьи). После внесения необходимых изменений, нажимаем правой клавишей в левом верхнем окне отладчика, выбираем Edit->Copy all modifications to executable, в появившемся диалоге указываем имя файла и получаем модифицированный редактор тестов.

Переходим к той же самой проблеме открытия защищенных тестов, созданных с помощью программы easyQuizzy. В этом случае тест представляет собой .exe-файл, однако нет необходимости проводить с ним какие-то дополнительные манипуляции — редактор умеет открывать такие файлы.

Давайте запустим редактор файлов easyQuizzy, отладчик OllyDbg, подсоединим отладчик к процессу (здесь и далее я не буду детализировать тривиальные моменты работы с отладчиком, как в тексте до этого) и возобновим работу процесса. В этот раз воспользуемся другим способом поиска участка кода, который необходимо исправить. Как вы могли заметить, при открытии защищенного паролем теста, программа выдает сообщение «Incorrect password» (у меня язык интерфейса переключен на английский). Будем отталкиваться от этого.

Переключимся на основной исполняемый модуль easyQuizzy в отладчике (View->Executable modules, двойной клик по имени модуля, убедитесь, что в заголовке окна присутствует текст: «. module easyQuizzy»). Нажмем правой клавишей мыши в окне отладчика и найдем все строковые ресурсы, на которые существуют ссылки в исполняемом коде.

easy_quizzy-1

Перед нами появится перечень строк в одной большой таблице, найдем в ней строки с сообщением о некорректном пароле и поставим на них breakpoint’ы.

easy_quizzy-2

Пробуем открыть защищенный тест и тут же ловим срабатывание breakpoint’а.

easy_quizzy-3

Почему? Скорее всего программа подгружает необходимые строковые ресурсы при открытии теста, опираясь на некоторые внутренние идентификаторы. Бегло осмотрев функцию, где мы оказались, можно сделать вывод, что ничего особого интересного здесь не происходит. Единственный примечательный момент, это условный переход, отвечающий за отображение подсказки к паролю — ссылка на строку «Password hint:» в коде. Давайте рассмотрим функцию, откуда была вызвана эта функция (либо воспользовавшись Execute till return, либо посмотрев адрес возврата в стеке).

Мы оказались внутри занимательной функции, где можем наблюдать пропуск довольного большого фрагмента кода по условному переходу, вдобавок пропускаемый фрагмент содержит ссылку на строку «Incorrect password.».

easy_quizzy-4

Но как мы вообще попадаем в этот фрагмент кода? Прокрутим листинг немного вверх и увидим гораздо более интересный условный переход: он позволяет пропустить даже вызов функции, которая отображает нам диалог ввода пароля.

easy_quizzy-5

Пробуем изменить логику его работы (например, забиваем условный переход NOP’ами) — вуаля, защищенный тест открывается не запрашивая пароль.

Подведем итог: как мы видим, защита теста паролем в общем-то номинальная и ее легко преодолеть при наличии базовых навыков работы с отладчиком.

Файлы с тестами, на которых я проводил эксперименты: cкачать.
Оригинальные редакторы тестов: MyTestX и easyQuizzy.

Модифицированные редакторы тестов, позволяющие открыть тест, не зная оригинального пароля:
☯ mega.co.nz: MyTestX-mod, easyQuizzy-mod
☯ sendspace.com: MyTestX-mod, easyQuizzy-mod

Автор Kaimi Опубликовано 25 июня, 2014 16 апреля, 2020 Рубрики Assembler, Для новичков Метки CFF Explorer, easyQuizzy, mtf, MyTestX, OllyDbg, реверсинг

Электронный тест, варианты обхода

Обучаясь в институте я, конечно, сдавал множество контрольных, проверочных, курсовых работ, экзаменов и зачётов. Но, одна форма проверки знаний была мной сильно нелюбима – это электронные тесты. Не буду здесь описывать плюсы и минусы этого типа проверки знаний, скажу лишь, что против этой формы я был очень сильно.

Таким образом, в один прекрасный день созрела идея как-то облегчить себе сдачу тестов – взломать, обойти или что-то подобное. В интернете по этому поводу информации не то, чтобы не было, её не было совсем, то есть вообще. Сфера электронных тестов не пользуется популярностью у хакеров и прочих взломщиков.

Сложно сейчас вспомнить каким образом, но в руки ко мне попал файл из программы, достать его можно было лишь зная пароль к тесту. А пароль этот придумывает человек, создававший тесты (читай преподаватель). Это обычный текстовый файл и представляет он из себя экспорт списка всех вопросов и вариантов ответов к ним и выглядит он следующим образом:

Вопрос 1 …
— Ответ 1
— Ответ 2
— Ответ 3
+ Ответ 4
— Ответ 5
Вопрос 2 …
— Ответ 1
+ Ответ 2
+ Ответ 3
— Ответ 4
— Ответ 5

Не сложно догадаться, что к первому вопросу (Вопрос 1), правильным ответом был «Ответ 4», а ко второму (Вопрос 2), правильным ответом были: «Ответ 2» и «Ответ 3». Программа позволяла делать тесты с несколькими вариантами ответов. Многим одногруппникам этот файл показался счастьем и они начали его заучивать, кто вопросы/ответы, а кто и просто одни ответы. К слову сказать, файл этот мог достигать довольно больших размеров, там могло быть от 300 и до 1500 вопросов. Мне такая перспектива была не по душе, а сознание программиста подсказывало, что если есть такой файл, то что-то можно придумать, дабы облегчить свою жизнь в плане тестов.

В программе в случайном порядке отображаются вопросы из этого списка и варианты ответов из этого же списка, надо всего лишь найти возможность «прочитать», какой вопрос сейчас отображает программа, далее найти его в этом текстовом файле и отобразить каким-то образом правильный ответ.

Задача нетривиальная, учитывая то, что создавать программы я умел, но вот каким-то образом вмешиваться в другие программы знаний не было. После изучения литературы стало понятно, что без API программирования тут не обойтись.

Попробую пояснить в картинках, каждая программа состоит из окон, есть главное окно программы, и куча дочерних окон, у которых, в свою очередь, тоже могут быть дочерние окна:

Вот так вот выглядит окно программы:

А вот так, упрощённо, выглядят окна в программе (помечены красным):

Есть так же, хорошая программа, называется Microsoft Spy++, входит в комплект среды разработки программного обеспечения Visual studio. Ей можно посмотреть в какой иерархии находятся эти окна, что они из себя представляют и прочее. Итак:

Что мы видим? Первой строчкой главное окно программы и имя этого окна «tTester – Информационная безопасность». Таким образом найти нужное окно из всех, которые есть в системе, можно по имени: «tTester – Информационная безопасность». Дальше, пятым дочерним окном является окно с вопросом, вот это – «Угрозами динамической целостности являются :». Ну и в различной иерархии окна ответов: «введение неверных данных», «дублирование данных», «кража», «изменение данных». Также хочу обратить внимание на окна с названиями «&1», «&2», «&3», «&4» — это те окна, где ставится галочка, они нам потом пригодятся.

API программирование позволяет нам найти нужное окно, от него найти окно с вопросом и прочитать текст вопроса. Далее мы зачитываем наш текстовый файл с данными, находим в нём этот вопрос и зачитываем правильный вариант ответа. Далее, применяя опять же API функции, перебираем окна с ответами и сравниваем с тем, что мы зачитали в файле и, при совпадении, посылаем в окно с названием «&1(2,3,4)» событие «клик мышки».

Всё! Программа для сдачи тестов готова! Осталось только незаметно её запустить перед тестом, либо прописать её в автозагрузку. И ещё одно дополнение, прибегать к помощи программы очень удобно по клику на правую кнопку мышки.

Это всё замечательно работает, но что делать, когда файла с вопросами и ответами нет? Можно прибегнуть к небольшой хитрости. По завершению теста нам показывается информационное окно, сколько ошибок было допущено и оценка.
Вот такое окно:

Делаем программу, которая несколько раз в секунду при помощи API функций проверяет простую вещь: не появилось ли у нас в системе окна с названием «Результаты»? И при появлении такового, посылаем этому окну команду «Hide» — скрыть, а заодно показываем своё, заранее подготовленное, окно с нужным нам текстом. При клике на кнопку «ОК» нашего, заранее подготовленного окна, посылаем клик на кнопку «ОК» скрытого окна и закрываем своё. Всё!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *