Сейчас на форуме: _MBK_ (+7 невидимых) |
eXeL@B —› Основной форум —› Помогите пожалуйста выдрать криптоалгоритм для The Bat! из UnPass(The Bat!) |
<< . 1 . 2 . |
Посл.ответ | Сообщение |
|
Создано: 22 июля 2009 23:34 · Личное сообщение · #1 Здравствуйте. Проблема заключается в том что программа, написана на делфи, запакована юпиксом + изменена точка входа(насколько я понял). Помучившись, я её все таки распаковал, путём выдирания распакованного кода из памяти и добавлением кривой таблицы импорта(Программа QuickUnpack v2.1). Далее возникли проблемы в отладчике(OllyDBG). Оригинальная точка входа у меня не определяется и программа при первой загрузке в отладчика останавливается на первом встречном int 3 в ntdll. Ну, поклацав F9 я попадаю в оригинальный процесс, останавливаясь тоже непонятно где(ну якобы на оригинальной точке входа, определённой QUnpack) Ещё проблема в том, что у меня кривая таблица импорта, т.е. я не могу посмотреть полный список импортируемых ф-ций(ну чтобы забрейкпоинтить в нужном месте разумеется) Аттачь распакованной программы прилагается, + Ссылка на оригинальную запакованную [url= http://www.exelab.ru/download.php?action=get&n=NDkw http://www.exelab.ru/download.php?action=get&n=NDkw [/url] Теперь вопросы по выдиранию алгоритма: В программе я нахожу такую строку (кстати таких несколько)"+-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstu vwxyz" ставлю на неё бряк, выполняю программу, ввожу пароль, нажимаю «Зашифровать», бряк не срабатывает, нажимаю «Расшифровать» - бряк сработал – Нахожусь в середине цикла с кучей call’ов, имею зашифрованную строку с паролем в стеке, расшифрованного пароля ещё нет)) Хотя я не уверен что И с этого места я пытался анализировать что происходит, но так и не допёр. Бегло транслируя через большое количество команд, можно увидеть как по кускам расшифровывается мой пароль но из-за большого количество отвлекающих джампов и каллов я теряюсь. Причём через стек в функции ничего не передаётся! Там всё через регистры и адреса стека. Каким то образом получилось забрекпоинтить прогу при запросе на расшифровку пароля – адрес «004616B1» в стеке имею пароль, и над ним загадочную строчку… 0012F1C0 009A64FC ASCII "#.(?-+" 0012F1C4 009A02B4 ASCII "qwerty" Откуда появляется это строка разобраться не смог, но по видимому это ключ. При различных паролях он разный. По шифру: 1. Длинна шифра меняется при различной длине пароля, но при одинаковой длине, имеется статическая часть и динамическая например: yTzzzmAi81wh8k++ «qwerty» yTzzzn6xD1sdCk++ «asdfgh» yTzzznEs91YW6+++ «zxcvbn» Если, кому не трудно, помогите распаковать программу по-человечески, или укажите адрес команды с которого начинается непосредственное шифрование/дешифрование, я уж постараюсь разобраться! В общем, за любую помощь, советы - буду благодарен. b0a7_22.07.2009_CRACKLAB.rU.tgz - tbup__.rar |
|
Создано: 25 июля 2009 22:43 · Личное сообщение · #2 Вот алгоритм декода. Писал на JS(!!!) так как ща не со своего компьютера и нет компилятора.. кароче мне так удобней было)) Code:
Можете проверить через стандартный виндовс скрипт хост, просто сохраните в .js и запустите.(для тех кто не вкурсе) Писал по быстрому, небрежно, к томуже на js, но посторался закоментировать. p/s А чем тут кого троянщики не устраивают? Крекинг это тоже не совсем законное и порядочное дело. Траянописатели - это двигатель прогресса!)))))))) |
<< . 1 . 2 . |
eXeL@B —› Основной форум —› Помогите пожалуйста выдрать криптоалгоритм для The Bat! из UnPass(The Bat!) |