Нужна помощь в расшифровке тестовой программы.

Discussion in 'Безопасность и Анонимность' started by OMG!!, 21 Jun 2008.

  1. OMG!!

    OMG!! Elder - Старейшина

    Joined:
    25 Feb 2008
    Messages:
    230
    Likes Received:
    70
    Reputations:
    -3
    Помогите взломать адскую программу.. она мучает весь институт.. Тесты хранит в файле .tst я так и не разобрался.. чем их прочитать.. но похоже на ziptext. Вот.. Прога старая, написана на делфи 4-5х версий... DeDE декомпилировал ее.. собственно на рапиде сама прога + сорцы...помогите с исправлением проекта, или хотя бы расшифровкой .tst файлов.. А вообще задача стоит такая.. переписать из исходников, что бы при определенном нажатии на клавишу ( хоткей ..допустим ctrl+ какая то буква ) подствечивался ответ... Затрудняет работу отладчика еще то, что программа хитромудрая.. и не сворачивается и т.д.. т.д. если где-то поставишь не то значение.. то ребут компа.. :) Или хотя - бы открыть .tst файлы..

    http://rapidshare.com/files/123854887/Tester.rar.html

    Это архив с программой + исходники полученные через DeDE

    http://slil.ru/25917720
     
  2. diehard

    diehard Elder - Старейшина

    Joined:
    30 Sep 2007
    Messages:
    442
    Likes Received:
    266
    Reputations:
    15
    Тебе нужно расшифровать или раскодировать?
     
  3. OMG!!

    OMG!! Elder - Старейшина

    Joined:
    25 Feb 2008
    Messages:
    230
    Likes Received:
    70
    Reputations:
    -3
    мне нужно раскодировать... т.е. получить нормальный читабельный текст.. в .tst файле скрывается пароль ( на тест ) + вопросы на тестирования.. и как-то помеченные ответы..
     
    #3 OMG!!, 21 Jun 2008
    Last edited: 21 Jun 2008
  4. neprovad

    neprovad Elder - Старейшина

    Joined:
    19 Oct 2007
    Messages:
    899
    Likes Received:
    274
    Reputations:
    59
    Code:
    CODE:00406D50                 call    CreateDesktopA
    .....
    CODE:00406D78                 call    SwitchDesktop
    
    создается экземпляр десктопа с переключением на него
    потому и сложности с переключением окон :)

    зы: Модераторы, тему имхо в реверсинг перенести надо
     
    #4 neprovad, 21 Jun 2008
    Last edited: 21 Jun 2008
    1 person likes this.
  5. OMG!!

    OMG!! Elder - Старейшина

    Joined:
    25 Feb 2008
    Messages:
    230
    Likes Received:
    70
    Reputations:
    -3
    CODE:00406D50 call CreateDesktopA
    .....
    CODE:00406D78 call SwitchDesktop
    поставил брейкпойнты.. программа вообще не запускается (
     
    #5 OMG!!, 21 Jun 2008
    Last edited: 21 Jun 2008
  6. agamemn0n

    agamemn0n New Member

    Joined:
    30 Apr 2008
    Messages:
    5
    Likes Received:
    2
    Reputations:
    -5
    Что хоть в этих фаилах?
    CreateDesktopA просто обходится.
     
  7. OMG!!

    OMG!! Elder - Старейшина

    Joined:
    25 Feb 2008
    Messages:
    230
    Likes Received:
    70
    Reputations:
    -3
    мне нужно раскодировать .tst файлы.. причем не обязательно эти.. а вообще, понять их кодировку..
    http://slil.ru/25917720
    Вот тут они лежат.. в каждом файле содержится пароль на тест, вопросы ( программа их рандомизирует) и помеченные ответы на вопросы.

    На счет CreateDesktopA .. если можно - поподробнее :)
     
  8. zeppe1in

    zeppe1in Elder - Старейшина

    Joined:
    12 Jul 2006
    Messages:
    343
    Likes Received:
    66
    Reputations:
    18
    Перед CreateDesktopA выполнить прыжок
    00406D3C . /74 4E JE SHORT Tester.00406D8C
    а в олли поставить Always on top.
    Если ексепшон при неправильном пароле пройти просто по F9 то появляеца регистрация.
    При правильном пароле также должно быть?
    что писать в "Документ: серия"?


    Ой. я подобрал пароль. они что из одной цыфры?
     
    #8 zeppe1in, 22 Jun 2008
    Last edited: 22 Jun 2008
    1 person likes this.
  9. OMG!!

    OMG!! Elder - Старейшина

    Joined:
    25 Feb 2008
    Messages:
    230
    Likes Received:
    70
    Reputations:
    -3
    Сейчас попробую, как ты сказал...
    Нет, при неверном пароле программа должна ругнуться, что пароль не верен .. все.
    я вообще не представляю, откуда ты это выкопал )) думаю, что паспортные данные.. мне это даже не встречалось.. ( разве что только в декомпилированном виде, что - то проскакивало ) Видимо этой программой тестировали учащихся.. ЕГЭ.. нас мучают ей в институте )
    каким образом ты подобрал пароль? :) хз.. я просто какой-то тест нашел, там на каждый тест ( .tst ) разные пароли.. хранятся они тоже там же в .tst я даж програмку не большую написал.. zlib decoder \ encoder.. думал. что расшифрую .tst ( http://slil.ru/25919734 ) Однако мне не удалось это сделать.. и все - таки кажется мне, что .tst это зашифрованный ZLIB библиотекой файл.. или текст.

    так.. теперь программа позволяет вызвать пуск.. спасибо. ( http://i052.radikal.ru/0806/fc/d1daa9c0b161.jpg )
     
    #9 OMG!!, 22 Jun 2008
    Last edited: 22 Jun 2008
  10. neprovad

    neprovad Elder - Старейшина

    Joined:
    19 Oct 2007
    Messages:
    899
    Likes Received:
    274
    Reputations:
    59
    http://ifolder.ru/7070837
    вот тебе все ответы. разберешься думаю.
    правильный ответ я приписал как A-"номер или словно правильного ответа" по верхам проверил русский язык, все ответы верные, остальное сам проверишь
     
    1 person likes this.
  11. OMG!!

    OMG!! Elder - Старейшина

    Joined:
    25 Feb 2008
    Messages:
    230
    Likes Received:
    70
    Reputations:
    -3
    Супер! ) лови + .. единственное.. скажи, как и чем расшифровал? ) ибо я должен быть готов к любому раскладу ( вдруг будет другой .tst файл.. ) у меня получилось расшифровать Stupid uncompress'ором.. но увы, там не понятно.. где ответы )

    http://slil.ru/25920007
    Тут кстати выложил уже пофиксенный тестер.. теперь можно запустить что-то поверх него, если оно будет always on top. Думал отследить адреса через artmoney.. ( т.е. тестировался.. и отсеивал результат ), но увы.. адреса меняются, при перезапуске программы.. что посоветуете?
     
    #11 OMG!!, 22 Jun 2008
    Last edited: 22 Jun 2008
  12. neprovad

    neprovad Elder - Старейшина

    Joined:
    19 Oct 2007
    Messages:
    899
    Likes Received:
    274
    Reputations:
    59
    Code:
    CODE:004037D6 C6 05 24 40 46 00 01                 mov     ds:byte_464024, 1
    //заменяем 0 на 1. отладочный флаг оставленный разработчиками. включает\отключает развертывание на весь экран формы.

    Code:
    00406CDB E9 AC 00 00 00                       jmp     locret_406D8C
    //меняем на jmp, обходим стороной создание desktop'а и переключение на него

    По адресу 448480 находится код расшифровки данных TBank (ответы на вопросы + еще кое какая информация)
    В данной процедуре передается на входе блок из tst файла. Расшифровывается паролем, введенным при входе в систему тестирования.
    Затем тут же распаковывается zlib'ом. Соответственно, если zlib вернул 0 - пароль неверный.
    Пароли: Агарков_Гум_Математика-2_Экз_08 - 9
    Рус новый - 1
    Химия_экз_экологи - 1
    Блок с верными ответами находится так - считываем dword от начала файла, это и есть размер сжатого блока с ответами. Далее расшифровываем паролем, разжимаем
    и все) В том же блоке зашифрованном находятся размеры остальных всех вопросов и смещения до них. Смещения начинаются от 0. 0 - это 4+crypted_block_size
    Вобщем, надеюсь понятно)
    И учти, что есть такая кнопка перед запуском тестирования - Отчет. Если на нее нажать то покажется сообщение о том не искажены ли файлы тестирования и сам модуль. Если что то контрольная сумма в виде sha1 прикреплена к концу файла. Думаю, ты ее сам найдешь без труда)

    p.s. Если есть время то лучше распечатай все варианты и обведи правильные ответы и выучи)
    Мне уже влом искать остальное. А распаковал я сам, сваял небольшую тулзу и все рипнул
     
    #12 neprovad, 23 Jun 2008
    Last edited: 23 Jun 2008
    1 person likes this.
  13. OMG!!

    OMG!! Elder - Старейшина

    Joined:
    25 Feb 2008
    Messages:
    230
    Likes Received:
    70
    Reputations:
    -3
    а если ты эту утилитку выложишь еще )) ROFL

    кстати.. разговаривал с разработчиками..

    Code:
    Вы писали 21 июня 2008 г., 15:05:05:
    
    > Здравствуйте, служба поддержки...
    > Каким образом можно создать \ расшифровать .tst файл для программы
    > "Тестер" 7.7 .. что за кодировку она использует?
      tst файл создается программой Банкир версии 7.7
      Кодировка сложная.
      Вопрос, что Вы конкретно хотите получить из tst файла ?
    
    -------------------------------------------------------------
    С уважением,
    Владимир Мигунов
    Руководитель отдела компьютерных технологий
    Федерального центра тестирования
    
    "Сложная" Она оказывается ))) :-D
     
  14. neprovad

    neprovad Elder - Старейшина

    Joined:
    19 Oct 2007
    Messages:
    899
    Likes Received:
    274
    Reputations:
    59
    Да я там половину самую гнусную руками сделал, автоматизирована лишь конкретная рутина - извлечение файлов, что, как я понял, тебе удалось и самому сделать.
    Пиши в аську, я тебе все по пунктам объясню, а то тут все зафлудим :)

    p.s. разработчики криво используют т.н. "подпись" файла. Надо было сделать использование этой подписи для расшифровки данных и без нажатия кнопки отчет информировать о повреждении модуля тестирования.