Сейчас на форуме: kris_sexy, ==DJ==[ZLO], Wenzel (+4 невидимых)

 eXeL@B —› Крэки, обсуждения —› Взлом Visual Basic программы (native) в OllyDbg
Посл.ответ Сообщение

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

Создано: 31 мая 2005 12:55
· Личное сообщение · #1

Вообщем нужны советы. Любые.
Имеется программа, написана на VB (использует MSVBVM60.dll) - Whizlabs SCJP 1.4 v 5.2.0. Для того, чтобы ее крякнуть, необходимо имя, е-мэйл, номер лицензии и некий UCF файл, который скачивается с сайта разработчиков программы после ее покупки. Без регистрации в программе отсутствует очень малофункциональна.
У меня нет никакого опыта взлома, однако программа мне нужна. Пришлойсь взять OllyDbg, и начать ее смотреть. В связи с этим возникают вопросы:
1) Можно ли подключить к OllyDbg символьную информацию из майкрософтовских DBG файлов?
2) Я поставил бряк на кнопку Activate (то есть на процедуру обработки сообщений Windows), можно ли как-то облегчить проблему дебага этой процедуры? Например, вычислить код, который выполняется при поступлении некоторого сообщения.
3) В msvbvm60 есть куча функций, не имеющих символьных имен. Кто-нибудь пытался занести их в common.arg или msvbvm60.arg?
4) Я вижу, что в программе вызывается msxml3.dll, однако ссылок на нее в экзешнике нету. Как отследить, где происходят такие вызовы и поставить на них бряки?
5) Вообще, есть какие-нибудь устоявшиеся способы взлома программ, требующих внешние файлы как часть регистрационного процесса?

Заранее спасибо за ваши ответы. Да и вообще, буду рад любым комментариям и ссылкам



Ранг: 39.1 (посетитель)
Активность: 0.030
Статус: Участник

Создано: 02 июня 2005 16:09
· Личное сообщение · #2

4 - в memory map найди эту длл и поставь бряк на access туда. так отловишь вызовы



Ранг: 500.5 (!), 8thx
Активность: 0.230
Статус: Участник

Создано: 02 июня 2005 16:26
· Личное сообщение · #3

endlesswinter
А зачем тебе вообще трогать стандартные vb библиотеки? Попробуй экзешник каким нить vb декомпилером разобрать, там и вызовы найдешь. Правда если vb на p-code, то весьма неудобно его отлаживать Olly...

-----
"Пусть видят, что мы не шутим. Стволы для понта, ножи для дела" Lock, Stock & Two Smoking Barrels




Ранг: 0.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 02 июня 2005 16:41
· Личное сообщение · #4

Сначала нужно выяснить выдает ли прога сообщение о неправильно введенном е-майле и лицензии. Если да тогда нужно дисассемблировать и найти эту строчку. Если привязка только к файлу тогда бряки на CreateFile или FindFile или их аналоги в VB



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

Создано: 03 июня 2005 12:35
· Личное сообщение · #5

msxml3 - это COM библиотека, то есть в ней нет функций, как таковых. И бряки на ее инициализацию мне ничем не помогли. Там есть интерфейсы, обращение к ним идет через всякие QueryInterface, AddRef etc, я даже не знаю, как выглядит ассемблерный код обращения к COM библиотекам. Может кто из вас знает?
Мне кажется, что этот UCF файл представляет собой xml файл с информацией о лицензии, так что сначала надо получить структуру этого файла, а потом уже наполнить его содержимым. Я начинаю думать, что эта задача мне не по зубам



Ранг: 0.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 05 июня 2005 09:15
· Личное сообщение · #6

Зря ты на этой библиотеке зациклился, это стандартная библиотека. Попробуй поставить прогу под API шпион и отследить функцию, которая запрашивает файл. Для отлова сообщений чтения текста можно использовать SPY+++ входит в инструменты С++ 6. Сколько весит прога и для чего она?



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

Создано: 06 июня 2005 13:00
· Личное сообщение · #7

Прога весит 5 мб и предназначена для симуляции экзаменов SUN по Java.
Еще вопрос - ссылкой на SmartCheck не поделитесь? (только не осел и не торрент, качать на работе придется, порты закрыты)



Ранг: 15.7 (новичок)
Активность: 0.010
Статус: Участник

Создано: 06 июня 2005 13:52
· Личное сообщение · #8

endlesswinter
Вообще то правильно сказал Astrolog надо знать выдает ли прога сообщения. Кстати найти место где прога пытается найти файл, и счиытать с него инфу можно достаточно простым способом тем же самым filemon'ом. Если файлмон покажет, что пытается найти какой то файл, дальше опять же грузи прогу в олидбж и пошагово трассируй пока не найдешь место где зачитывается файл. По своему скромному опыту могу сказать, что в принципе структуру файла знать вовсе не обязательно. Если ломать прогу тупым битхаком, можно во первых поменять переходы на правильные, во вторых впринципе можно узнать, что прога пытается положить в стек чтобы она являлась полнофункциональной. Да еще посмотри сами стринги которые есть в самой программе. Еще правильно сказал
Smon загрузи ее в какой нить декомпилер тоже поможет понять структуру самой программы.



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

Создано: 06 июня 2005 18:52
· Личное сообщение · #9

Немного поподробнее про мои проблемы
1) Вне зависимости от того, какой e-mail\Name\licence key я ввожу, прога выдает сообщение "Неправильный UCF файл". UCF файл также указывается во время регистрации путем нажатия кнопки "Browse" .
2) mshml3 - COM библиотека. Это значит, что в реестре прописан на нее CLSID, программа запрашивает у Windows некий интерфейс, Windows по этому интерфейсу смотрит CLSID, находит нужную библиотеку и запрашивает у нее интерфейс. Все это делается путем вызова COM функций (QueryInterface, AddRef). Как я уже говорил, я не знаю, какими методами трейсятся вызовы к COM библиотекам. Заглянув в экспорт msxml3, я увидел там очень небольшое количество функций, большинство из которых имеют цифровые имена.
3) несколько API spy мне не помогли. Я пробовал 3 штуки, которые лежат на CrackLab, функциональность у них небольшая
4) Что касается декомпилятора - IDA и W32Asm выдают очень большие сырцы, в которых я не могу найти обработку кнопки Activate, так как ее нет в строковых константах.... Cancel вот есть, Help тоже есть, а Activate нету. Поэтому хочу попробовать SmartCheck, но не могу его найти



Ранг: 15.7 (новичок)
Активность: 0.010
Статус: Участник

Создано: 07 июня 2005 10:42
· Личное сообщение · #10

endlesswinter
А что мешает найти строку "Неправильный UCF файл"?? Найти где она вызывается и наверняка повыше есть условный переход.... или на крайняк вызов функции проверки??При этом создать любой файл с нужным расширением и его пытаться подсунуть программе.



Ранг: 500.5 (!), 8thx
Активность: 0.230
Статус: Участник

Создано: 07 июня 2005 12:49
· Личное сообщение · #11

endlesswinter
Так, не юзай для басика иду и в32асм - слишком размытые листинги получишь и многих стрингов не увидишь - особенно если сраный P-code. Используй :
1) P32Dasm, - вроде здесь есть, или поищи гуглом llamellik.webzdarma.cz/forumb/index.php
2) Vb decompiler by GPcH - vbdecompiler.dotfix.net/files/lite.rar
Там стринги четко видно.

-----
"Пусть видят, что мы не шутим. Стволы для понта, ножи для дела" Lock, Stock & Two Smoking Barrels




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

Создано: 07 июня 2005 18:39
· Личное сообщение · #12

Smon
Спасибо! Хотя моя программа написана в Native code, Vb decompiler показал мне адрес обработчика нажатия конпки Activate, теперь будет легче. P32Dasm выдает ошибку при попытке открыть файл.
Кстати, я нашел таки html ссылку на SmartCheck 6.03, если кому надо - пишите, поделюсь.



Ранг: 0.0 (гость)
Активность: 0.010
Статус: Участник

Создано: 07 июня 2005 22:36
· Личное сообщение · #13

Я ломал как-то VB и успешно ставил бряк в OLLYdbg на функцию rtcMsgBox (замена messagebox), так что можно отловить сообщение о неправильно файле, а до него соответсвенно процедура проверки. VB мне сначала показался тоже сложным, а потом оказалось, что в нем все гораздо легче.



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

Создано: 27 марта 2006 10:44
· Личное сообщение · #14

Whizlabs SCJP 1.5 v 6.

Открыл бинарник SCJP5.0.exe (622 кб) VB disassember'ом, сказал decompile и сохранил проект в папку. В папке только указатели куда грузятся функции и описания диалогов, а кода нету. Размер папки с файлами 84 кб. Что не так делал? Как получить доступ к коду?




Ранг: 266.8 (наставник), 5thx
Активность: 0.220.03
Статус: Участник
very WELL :)

Создано: 27 марта 2006 10:45
· Личное сообщение · #15

san_j пишет:
Как получить доступ к коду?

Smon пишет:
2) Vb decompiler by GPcH - vbdecompiler.dotfix.net/files/lite.rar




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

Создано: 27 марта 2006 11:28
· Личное сообщение · #16

Использоваляся именно Vb decompiler by GPcH.

Вместо кода следующее:
Private Sub cmd_close__4888C0
'Offset of this procedure: 4888C0
End Sub
Private Sub Form__488986
'Offset of this procedure: 488986
End Sub
Private Sub Form__488BC7
'Offset of this procedure: 488BC7
End Su




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

Создано: 27 марта 2006 20:18
· Личное сообщение · #17

никто не сталкивался и не знает, что делать или что возможно делать?
(мой опыт взлома ~0)




Ранг: 990.2 (! ! !), 380thx
Активность: 0.680
Статус: Модератор
Author of DiE

Создано: 27 марта 2006 20:35 · Поправил: Hellspawn
· Личное сообщение · #18

декомпили натив не любят макс, что они покажут формы, адресса процедур и всё
попробуй в олли.... или обычным дизасмом поискать какие-нибудь "важные" строки...

-----
[nice coder and reverser]




Ранг: 450.1 (мудрец)
Активность: 0.260
Статус: Участник

Создано: 27 марта 2006 21:14
· Личное сообщение · #19

Для native IDA рулит


 eXeL@B —› Крэки, обсуждения —› Взлом Visual Basic программы (native) в OllyDbg
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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