\item_r{0001}
\item{0001}
\item{0001}
\item{0001}
\item{0001}
\answer{150}{160}
\endp
Ребята помогите "вытащить" информацию из исполняющего файла .exe
Ребята, это тест по высшей математике. Мне нужно вытащить из него все вопросы из экзаменационной части с вариантом правильного ответа. Помогите пожалуйста
Там программный код. Не знаю через что его открыть чтобы увидеть русский текст:) строго не судите. Я ноль в программировании
перезалей кудато
вот. Залил на Rghost
MathTest.exe - по первым байтам буфера 'MZ' я понял что это исполнительный файл вшитый в программу, потом когда показалось название подтвердилось
MathTest.tgf
MathTest.tdf
MathTest - это ярлык для програмы MathTest.exe, зачем?! наверное для полноэкранного режима.
После этого запускается прога MathTest. А программа распаковщик создает MathTest.ini пишет туда 4 байта и ожидает ее завершение. Кстате когда устроить это завершение, то распаковщик создает опять MathTest.ini и пишет туда какието другие 4 байта чем в первый раз, создает опять файл MathTest.exe, загружает его как длл (это и есть библиотека судя по входной функции DllEntryPoint) и вызывает функцию Go, которая пишет в реестр локальное время зачем то, потом править в системной директории файл wininit.ini, как имено уже не стал разбиратся.
А теперь вернемся к нашей основной програмке MathTest, кстате это дос програмулина, я только понял что она считвает какойто файл в память и передает управление куда не могу сказать или на этот файл или на часть своего тела которая умеет работать с этим файломм.
И теперь самое интересное это те 2 файла MathTest.tgf (1.85 мб) и MathTest.tdf (21кб). В инете я не нашел чем их открыть, но могу сказать что это и есть сам тест, но в каком то страном формате типа презинтации только времен дос.
вот фрагмент
Код:
\page{1} (1)
\out{25,40}{0000}
\item_r{0001}
\item{0002}
\item{0003}
\item{0004}
\item{0005}
\answer{150}{160}
\endp
\out{25,40}{0000}
\item_r{0001}
\item{0002}
\item{0003}
\item{0004}
\item{0005}
\answer{150}{160}
\endp
Тут можно говорить уже пр какойто язык разметки, описывается какой вопрос, варианты ответа, и подтверждения. К сожелению все по индексам. Сами ресурсы хранятся в соседнем файле, тоесть строчка \answer{150}{160} это картинки да/нет при подтверждении. Как проверяются правильны варианты пока не знаю. Но есть интресные штучки
Код:
\required{15}
можно поменять количество задаваемых вопросов
Код:
\time{900}
900 секунд это 15 минут, намек понятен как можно растянуть удовольствие.
Пока все что нарыл, мб поже отпишусь.
я придумал как достать правильные ответы, но там 150 вопросов! ты готов их всех переписывать? вернее мне нужно сначало эти 150 записей исправить ручками... вернемся в поиску ответов, должно получится но щас уже позно пробывать, спать нужно. идея состоит в следущем - я знаю какой номер ответа правильный, но не знаю как он выглядит потому что он упакован зашифрован и ваше фиг поймеш что там с ним сделали, но сама пога знает формат и показывает его нам, значит сделаем так - из всех 4 ответов чтоб он показывал во всех 4 записях 1 правильный(есть воросы и по 2 правельных но не страшно), запускаем исправленую прогу, переписываем ответы на вопросы(150!!!!);
Да, я готов переписать все 150 вопросов/ответов=) мне нужно только понять этот алгоритм))) помоги пожалуйста))))))))
bolt7, я очень жду тебя здесь сегодня))))))
буду очень благодарен
skype: misha-mihon
Новая папка.rar на FileShare.in.ua, теперь расказываю как работает. это распакованый тест, и его нужно запускать по-особому.
1. Сначало нужно скопирывать содержимое папки в путь где нет пробелов, тоесть файлы должны быть например в папке С:\Folder\ или другой вариант открыть консоль cmd, скопирывать путь к папке (где бы не находилась) написать в консоле cd и вставить путь, чтоб текущая директория стала та, где файлы лежат.
2. Если скопирывал просто в новую папку то нажимаеш Пуск/Выполнить... пишеш туда С:\Folder\MathTest.exe mathtest и ок. должна запстится. Если открывал консоль тогда пишеш просто MathTest.exe mathtest.
Теперь как настраивать, если жмеш контрол+альт+дел она сворачивается, это пригодтся если выйти надо до завершения теста. Править нужно файл MathTest.tdf.
В папке есть еще original MathTest.tdf, это оригинальный файл, которого ты делаеш копию перед тем как игратся, и переименовываеш в MathTest.tdf. том что щас MathTest.tdf настройки чтоб все ответы считались правильными. Чтоб узнать правильный ответ нужно подругому сделать.
Открываеш MathTest.tdf через блокнот (оригинальный, а не тот что я тестил), там куча записей нас интересует такие вот групы
что означают нужные строчки. Представь что это документ ХТМЛ, и тут размещаются порядок отображения картинок. Все картинки имеют номера, тут мы просто пишем какую показать.
\out{25,40}{0000} отображает картинку с вопросом под номером 0000
\item_r{0001} пишет какой ответ считается правильным
\item{0002} отображает картинки с другими вариантами ответов.
Тоесть ты знаеш какой правильный ответ для каждого теста по его номеру, там будут и по 2 правельных(или это я уже так напортил что у меня было по 2, короче если будут 2 то копируеш во все 1 вариант, и в 1 ячейку другой, там дальше поймеш, я просто заранее написал про 2 если будут). но как узнать какой его вид картинка? Никак. Делаем так
Тоесть копируеш поле правельного ответа во все строчки которые должны быть показаны, и у тебя на екране появится вопрос и там все одинаковые ответы. Они и будут правильные. Вот так правиш все 150 тестов, только внимательно, Копирывать индекс елемента \item_r во все \item этого же теста.
Но так нам покажется за раз только 15 тестов, а нам нужно все. Чтоб гарантировано запустить 150 вопросов нужно помается.
В самом начале файла идут строчки
и в тестах есть первое поле
и повторяются \page{1} до \page{6}.
эти \section{1} означают что тут будет генерирыватся тест с номером 1, тоесть все тесты с заголовком page{1}.
Чтоб заставить показатся все тесты, вместо
пишешь
а там где сами тесты, переписываеш номера попорядку
Сохраняеш файл и запускаеш прогу и переписываеш ответы. Кстате то что они все онинаковы не означает что любой правельный, у них просто правельный текст, а не положение, так что не растраивайся когда в конце теста е будет 150 правильны ответа. Зато когда запустиш оригинал то те ответы которые ты выписал будут правельный.
Удачи и учи математеку!
залил
1. Сначало нужно скопирывать содержимое папки в путь где нет пробелов, тоесть файлы должны быть например в папке С:\Folder\ или другой вариант открыть консоль cmd, скопирывать путь к папке (где бы не находилась) написать в консоле cd и вставить путь, чтоб текущая директория стала та, где файлы лежат.
2. Если скопирывал просто в новую папку то нажимаеш Пуск/Выполнить... пишеш туда С:\Folder\MathTest.exe mathtest и ок. должна запстится. Если открывал консоль тогда пишеш просто MathTest.exe mathtest.
Теперь как настраивать, если жмеш контрол+альт+дел она сворачивается, это пригодтся если выйти надо до завершения теста. Править нужно файл MathTest.tdf.
В папке есть еще original MathTest.tdf, это оригинальный файл, которого ты делаеш копию перед тем как игратся, и переименовываеш в MathTest.tdf. том что щас MathTest.tdf настройки чтоб все ответы считались правильными. Чтоб узнать правильный ответ нужно подругому сделать.
Открываеш MathTest.tdf через блокнот (оригинальный, а не тот что я тестил), там куча записей нас интересует такие вот групы
Код:
\page{1} (1)
\out{25,40}{0000}
\item_r{0001}
\item{0002}
\item{0003}
\item{0004}
\item{0005}
\answer{150}{160}
\endp
\out{25,40}{0000}
\item_r{0001}
\item{0002}
\item{0003}
\item{0004}
\item{0005}
\answer{150}{160}
\endp
что означают нужные строчки. Представь что это документ ХТМЛ, и тут размещаются порядок отображения картинок. Все картинки имеют номера, тут мы просто пишем какую показать.
\out{25,40}{0000} отображает картинку с вопросом под номером 0000
\item_r{0001} пишет какой ответ считается правильным
\item{0002} отображает картинки с другими вариантами ответов.
Тоесть ты знаеш какой правильный ответ для каждого теста по его номеру, там будут и по 2 правельных(или это я уже так напортил что у меня было по 2, короче если будут 2 то копируеш во все 1 вариант, и в 1 ячейку другой, там дальше поймеш, я просто заранее написал про 2 если будут). но как узнать какой его вид картинка? Никак. Делаем так
Код:
Тоесть копируеш поле правельного ответа во все строчки которые должны быть показаны, и у тебя на екране появится вопрос и там все одинаковые ответы. Они и будут правильные. Вот так правиш все 150 тестов, только внимательно, Копирывать индекс елемента \item_r во все \item этого же теста.
Но так нам покажется за раз только 15 тестов, а нам нужно все. Чтоб гарантировано запустить 150 вопросов нужно помается.
В самом начале файла идут строчки
Код:
\order
\section{3}
...
\section{1}
\ask
\section{3}
...
\section{1}
\ask
и в тестах есть первое поле
Код:
\page{1} (5)
и повторяются \page{1} до \page{6}.
эти \section{1} означают что тут будет генерирыватся тест с номером 1, тоесть все тесты с заголовком page{1}.
Чтоб заставить показатся все тесты, вместо
Код:
\order
\section{3}
...
\section{6}
\section{3}
\section{2}
\section{3}
\ask
\section{3}
...
\section{6}
\section{3}
\section{2}
\section{3}
\ask
пишешь
Код:
\order
\section{1}
\section{2}
\section{3}
...
\section{150}
\ask
\section{1}
\section{2}
\section{3}
...
\section{150}
\ask
а там где сами тесты, переписываеш номера попорядку
Код:
\page{1} (1)
...
\endp
\page{2} (2)
...
\endp
\page{3} (3)
...
\endp
\page{150} (150)
...
\endp
\page{2} (2)
...
\endp
\page{3} (3)
...
\endp
\page{150} (150)
Сохраняеш файл и запускаеш прогу и переписываеш ответы. Кстате то что они все онинаковы не означает что любой правельный, у них просто правельный текст, а не положение, так что не растраивайся когда в конце теста е будет 150 правильны ответа. Зато когда запустиш оригинал то те ответы которые ты выписал будут правельный.
Удачи и учи математеку!
добавил