Сейчас на форуме: _MBK_ (+7 невидимых)

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

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

Создано: 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




Ранг: 533.6 (!), 232thx
Активность: 0.450
Статус: Uploader
retired

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

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

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

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

-----
Лучше быть одиноким, но свободным © $me





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

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

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

Про +-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstu vwxyz

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

a67f_22.07.2009_CRACKLAB.rU.tgz - tbup.rar




Ранг: 147.7 (ветеран), 50thx
Активность: 0.120
Статус: Участник
sv_cheats 1

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

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

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



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

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

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



Ранг: 116.5 (ветеран), 3thx
Активность: 0.070
Статус: Участник

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

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




Ранг: 533.6 (!), 232thx
Активность: 0.450
Статус: Uploader
retired

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

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

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

dad5_22.07.2009_CRACKLAB.rU.tgz - tbup.7z

-----
Лучше быть одиноким, но свободным © $me




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

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

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




Ранг: 533.6 (!), 232thx
Активность: 0.450
Статус: Uploader
retired

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

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

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

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

-----
Лучше быть одиноким, но свободным © $me




Ранг: 116.5 (ветеран), 3thx
Активность: 0.070
Статус: Участник

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

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

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




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

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

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

Shift+F9



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

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

Оп, пардон)




Ранг: 533.6 (!), 232thx
Активность: 0.450
Статус: Uploader
retired

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

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

-----
Лучше быть одиноким, но свободным © $me




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

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

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



Ранг: 237.0 (наставник), 20thx
Активность: 0.130
Статус: Участник
sysenter

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

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

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

-----
продавец резиновых утёнков





Ранг: 533.6 (!), 232thx
Активность: 0.450
Статус: Uploader
retired

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

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

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

-----
Лучше быть одиноким, но свободным © $me




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

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

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




Ранг: 533.6 (!), 232thx
Активность: 0.450
Статус: Uploader
retired

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

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

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

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

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

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

-----
Лучше быть одиноким, но свободным © $me




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

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

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




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

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

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

5e16_23.07.2009_CRACKLAB.rU.tgz - Project1.rar




Ранг: 533.6 (!), 232thx
Активность: 0.450
Статус: Uploader
retired

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

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

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

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

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

-----
Лучше быть одиноким, но свободным © $me




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

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

004021B5 > C1F8 02 SAR EAX,2




Ранг: 533.6 (!), 232thx
Активность: 0.450
Статус: Uploader
retired

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

Youlupukki пишет:
004021B5

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

-----
Лучше быть одиноким, но свободным © $me





Ранг: 536.4 (!), 171thx
Активность: 0.660.13
Статус: Администратор
Создатель CRACKL@B

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

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

-----
Всем не угодишь





Ранг: 533.6 (!), 232thx
Активность: 0.450
Статус: Uploader
retired

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

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

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

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

-----
Лучше быть одиноким, но свободным © $me





Ранг: 247.7 (наставник), 3thx
Активность: 0.160
Статус: Участник
Халявщик

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

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

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

-----
Лень - это подсознательная мудрость





Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

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

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

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




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

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

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



Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 25 июля 2009 16:09
· Личное сообщение · #29

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




Ранг: 1288.1 (!!!!), 273thx
Активность: 1.290
Статус: Участник

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

да пусть топик будет, всё-таки это реверсинг...


. 1 . 2 . >>
 eXeL@B —› Основной форум —› Помогите пожалуйста выдрать криптоалгоритм для The Bat! из UnPass(The Bat!)
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати