Русский / Russian English / Английский

Сейчас на форуме: (+2 невидимых)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS ·

 eXeL@B —› Основной форум —› Помогите пожалуйста выдрать криптоалгоритм для The Bat! из UnPass(The Bat!)
. 1 . 2 . >>
Посл.ответ Сообщение

Ранг: 4.6 (гость)
Статус: Участник

Создано: 22 июля 2009 23:34 New!
Цитата · Личное сообщение · #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»
Если, кому не трудно, помогите распаковать программу по-человечески, или укажите адрес команды с которого начинается непосредственное шифрование/дешифрование, я уж постараюсь разобраться! В общем, за любую помощь, советы - буду благодарен.


{ Атач доступен только для участников форума } - tbup__.rar


Ранг: 533.6 (!)
Статус: Uploader
retired

Создано: 22 июля 2009 23:45 · Поправил: BoRoV New!
Цитата · Личное сообщение · #2

Youlupukki пишет:
Проблема заключается в том что программа, написана на делфи, запакована юпиксом + изменена точка входа(насколько я понял). Помучившись, я её все таки распаковал, путём выдирания распакованного кода из памяти и добавлением кривой таблицы импорта(Программа QuickUnpack v2.1).

ты что вобще полный нуб, если ты знаеш что есть пакеры, и что их нужно снимать, то должен и знать о програмах анализаторах, которые дают информацию о том что за компиль/пакер/протектор, если б ты засунул програму в DiE, то ты б узнал что она упакована UPX 1.24, и легко распаковывается самим упх, и ты получаеш практически оригинал, кроме немного измененого хедера

крипто-анализ ничего не дал, значит там какой-то самопальный алгоритм


Ранг: 67.4 (постоянный)
Статус: Участник

Создано: 22 июля 2009 23:47 · Поправил: Sunzer New!
Цитата · Личное сообщение · #3

Да, бред вообще какой то. Самим upx все спокойно снимается, да даже в ручную это дело 10 секунд.

Про +-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstu vwxyz

Это либо от Base64 что то либо стандартные данные от самого дельфи компилятора, в секции данных всегда так. См атач, если не в силах распаковать это :D)

{ Атач доступен только для участников форума } - tbup.rar


Ранг: 147.7 (ветеран)
Статус: Участник
sv_cheats 1

Создано: 22 июля 2009 23:50 · Поправил: SER[G]ANT New!
Цитата · Личное сообщение · #4

хм.. какой там upx ? на последней мышке (4.2.6 Ru) навешена фимка.

upd:
сорри, бес попутал, тема не о бате
сам UnPass легко распаковывается при помощи upx -d tbup.exe

Ранг: 4.6 (гость)
Статус: Участник

Создано: 22 июля 2009 23:50 New!
Цитата · Личное сообщение · #5

Я смотрел через хек редактор, уже понял понял что это UPX, Qunpack - показывает даже версию! Но сам юпикс не распаковывает- пишет ошибку!

Ранг: 116.5 (ветеран)
Статус: Участник

Создано: 22 июля 2009 23:53 · Поправил: Valemox New!
Цитата · Личное сообщение · #6

Как помниЦа, дык на "летучей" всегда вешали фиму.
BoRoV, тоды понял...
Дык мож отдельно его и выложите?


Ранг: 533.6 (!)
Статус: Uploader
retired

Создано: 22 июля 2009 23:54 · Поправил: BoRoV New!
Цитата · Личное сообщение · #7

он имеет виду сам АнПас, а не мышку

в атаче нормально распакованый

{ Атач доступен только для участников форума } - tbup.7z

Ранг: 4.6 (гость)
Статус: Участник

Создано: 23 июля 2009 00:00 New!
Цитата · Личное сообщение · #8

Спасибо за аттач. Хотя... почему в ольке снова процесс начинается с ntdll ? Кстати код почти не изменился)


Ранг: 533.6 (!)
Статус: Uploader
retired

Создано: 23 июля 2009 00:03 · Поправил: BoRoV New!
Цитата · Личное сообщение · #9

Youlupukki пишет:
Хотя... почему в ольке снова процесс начинается с ntdll ?

может какой-то плаг такое делает(ты ничего лишнего не клацал), или в настройках что-то намутил

У меня все нормально

Ранг: 116.5 (ветеран)
Статус: Участник

Создано: 23 июля 2009 00:04 New!
Цитата · Личное сообщение · #10

Youlupukki пишет:
почему в ольке снова процесс начинается с ntdll ?

У мну тож все нормуль с OEP (как и положено).


Ранг: 1288.1 (!!!!)
Статус: Модератор

Создано: 23 июля 2009 00:07 New!
Цитата · Личное сообщение · #11

Youlupukki пишет:
почему в ольке снова процесс начинается с ntdll ?

Shift+F9

Ранг: 4.6 (гость)
Статус: Участник

Создано: 23 июля 2009 00:08 New!
Цитата · Личное сообщение · #12

Оп, пардон)


Ранг: 533.6 (!)
Статус: Uploader
retired

Создано: 23 июля 2009 00:12 New!
Цитата · Личное сообщение · #13

да, там используется Base64, а ту строку что ты нашел она как раз используется в ф-ии штфровки, которую я тож нашел, но это не есть стандартная строка алфавита Base64, потому как я и говорил - это самопал, на основе Бэйс64

Ранг: 4.6 (гость)
Статус: Участник

Создано: 23 июля 2009 00:24 New!
Цитата · Личное сообщение · #14

В чём прикол... вставил в функцию декодирования base64 вот эту строку, вместо оригинальной. зашифровал qwerty получил "yTzzzmAi81wh8k++", попытался расшифровать и получил: "f9ffffff232" - и тутже узнал эту строчку, она была в стеке транслируемой программы... Я на верном пути)


Ранг: 237.0 (наставник)
Статус: Участник
sysenter

Создано: 23 июля 2009 08:06 New!
Цитата · Личное сообщение · #15

Youlupukki пишет:
Спасибо за аттач. Хотя... почему в ольке снова процесс начинается с ntdll ?

..мда: Options->Debugging options->Events->Make First Pause At->Entry point of Main module


Ранг: 533.6 (!)
Статус: Uploader
retired

Создано: 23 июля 2009 10:55 New!
Цитата · Личное сообщение · #16

Дешифровка: 0046159C
Шифровка: 0046160C Здесь ты увидиш как над твоем строкой проиходит еще три преобразования, первые два я с легкостью разобрал, а вот третий так и не пойму, а потом идет Бэйс64 с измененым алфавитом, поймеш как работает шифровка, тогда с легкостью сможешь понять дешифровку

З.Ы. Ты знаеш, что такое декомпилятор, и какие есть?

Ранг: 4.6 (гость)
Статус: Участник

Создано: 23 июля 2009 13:11 New!
Цитата · Личное сообщение · #17

Да спасибо, про этот цикл я и говорил... попробую пока с шифровкой разобраться. Кстати там помоему изменено количество здвигаемых байт, от оригинального base64 (нашёл там все SARы и SALы).
------------------------------------
Догадываюсь))))) Но помоему это всё фигня, реально можно только дезассемблировать... или не так?


Ранг: 533.6 (!)
Статус: Uploader
retired

Создано: 23 июля 2009 13:34 New!
Цитата · Личное сообщение · #18

BoRoV пишет:
З.Ы. Ты знаеш, что такое декомпилятор, и какие есть?

Youlupukki пишет:
Догадываюсь))))) Но помоему это всё фигня, реально можно только дезассемблировать... или не так?

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

Youlupukki пишет:
нашёл там все SARы и SALы

где ты там их нашел?

Ранг: 4.6 (гость)
Статус: Участник

Создано: 23 июля 2009 13:47 New!
Цитата · Личное сообщение · #19

Хех, зашёл в раздел закачек, и поставил себе этот DEDE, нашёл 2-ю формочку, ту саму для крипта-декрипта, и отловил событие на кнопочке. Действительно "0046160C"))))
Где? 004757C4 - отсюда на сколько я понял начинается декод b64 вот там....


Ранг: 67.4 (постоянный)
Статус: Участник

Создано: 23 июля 2009 13:48 New!
Цитата · Личное сообщение · #20

ТС, держи декомпилированную программу

{ Атач доступен только для участников форума } - Project1.rar


Ранг: 533.6 (!)
Статус: Uploader
retired

Создано: 23 июля 2009 14:02 New!
Цитата · Личное сообщение · #21

Youlupukki пишет:
004757C4 - отсюда на сколько я понял начинается декод b64 вот там....

там начинается общий декод, не только Б64

Youlupukki пишет:
нашёл там все SARы и SALы

но все же, где ты их нашел, дай хотя бы один адрес

Ранг: 4.6 (гость)
Статус: Участник

Создано: 23 июля 2009 14:07 New!
Цитата · Личное сообщение · #22

004021B5 > C1F8 02 SAR EAX,2


Ранг: 533.6 (!)
Статус: Uploader
retired

Создано: 23 июля 2009 14:13 New!
Цитата · Личное сообщение · #23

Youlupukki пишет:
004021B5

это ты слишком глубоко залез это тебе не нужно


Ранг: 534.5 (!)
Статус: Администратор
Создатель CRACKL@B

Создано: 24 июля 2009 22:28 New!
Цитата · Личное сообщение · #24

В The Bat совсем детское шифрование пароля, насколько помню либо стандартный base64, либо с модифицированным алфавитом, даже декомпилить там ничего не надо, потому что повторить алго не составляет труда, base64 алго только скачать и вообще супер тогда.


Ранг: 533.6 (!)
Статус: Uploader
retired

Создано: 24 июля 2009 22:54 New!
Цитата · Личное сообщение · #25

Bad_guy пишет:
В The Bat совсем детское шифрование пароля

Bad_guy пишет:
с модифицированным алфавитом

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


Ранг: 247.7 (наставник)
Статус: Участник
Халявщик

Создано: 24 июля 2009 23:08 · Поправил: depler New!
Цитата · Личное сообщение · #26

Собсна о какой версии thebat идет речь? шифрование в каждой версии вроде бы отличается (2 и 3 точно, насчет 4й не уверен). Я прав или я прав?

ЗЫ. Расковырял на днях алго Infium и ICQ 6.x и Lite версий, может создать спец тему где будем выкладывать алго восстановления паролей к прогам, сорцы и т.п.?


Ранг: 1288.1 (!!!!)
Статус: Модератор

Создано: 24 июля 2009 23:19 New!
Цитата · Личное сообщение · #27

depler пишет:
может создать спец тему где будем выкладывать алго восстановления паролей к прогам, сорцы и т.п.?

чтобы троянщики не парились и юзали готовые сырки? Не, имхо пусть сами мучаются...


Ранг: 2006.0 (!!!!)
Статус: Модератор
retired

Создано: 25 июля 2009 15:56 New!
Цитата · Личное сообщение · #28

Не будет здесь темы с сорцами для востановления паролей. Посты не в тему поскипал.


Статус: Аноним

Создано: 25 июля 2009 16:09 New!
Цитата #29

Может тогда и закрыть тему? А то троянописателей на креклабе уже много развелось. Вполне возможно что автор один из них?


Ранг: 1288.1 (!!!!)
Статус: Модератор

Создано: 25 июля 2009 16:32 New!
Цитата · Личное сообщение · #30

да пусть топик будет, всё-таки это реверсинг...
. 1 . 2 . >>
 eXeL@B —› Основной форум —› Помогите пожалуйста выдрать криптоалгоритм для The Bat! из UnPass(The Bat!)

Видеокурс ВЗЛОМ