Сейчас на форуме: kris_sexy, ==DJ==[ZLO], Wenzel (+4 невидимых) |
![]() |
eXeL@B —› Крэки, обсуждения —› Взлом Visual Basic программы (native) в OllyDbg |
Посл.ответ | Сообщение |
|
Создано: 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) Вообще, есть какие-нибудь устоявшиеся способы взлома программ, требующих внешние файлы как часть регистрационного процесса? Заранее спасибо за ваши ответы. Да и вообще, буду рад любым комментариям и ссылкам ![]() |
|
Создано: 02 июня 2005 16:09 · Личное сообщение · #2 |
|
Создано: 02 июня 2005 16:26 · Личное сообщение · #3 endlesswinter А зачем тебе вообще трогать стандартные vb библиотеки? Попробуй экзешник каким нить vb декомпилером разобрать, там и вызовы найдешь. Правда если vb на p-code, то весьма неудобно его отлаживать Olly... ----- "Пусть видят, что мы не шутим. Стволы для понта, ножи для дела" Lock, Stock & Two Smoking Barrels ![]() |
|
Создано: 02 июня 2005 16:41 · Личное сообщение · #4 |
|
Создано: 03 июня 2005 12:35 · Личное сообщение · #5 msxml3 - это COM библиотека, то есть в ней нет функций, как таковых. И бряки на ее инициализацию мне ничем не помогли. Там есть интерфейсы, обращение к ним идет через всякие QueryInterface, AddRef etc, я даже не знаю, как выглядит ассемблерный код обращения к COM библиотекам. Может кто из вас знает? Мне кажется, что этот UCF файл представляет собой xml файл с информацией о лицензии, так что сначала надо получить структуру этого файла, а потом уже наполнить его содержимым. Я начинаю думать, что эта задача мне не по зубам ![]() ![]() |
|
Создано: 05 июня 2005 09:15 · Личное сообщение · #6 |
|
Создано: 06 июня 2005 13:00 · Личное сообщение · #7 |
|
Создано: 06 июня 2005 13:52 · Личное сообщение · #8 endlesswinter Вообще то правильно сказал Astrolog надо знать выдает ли прога сообщения. Кстати найти место где прога пытается найти файл, и счиытать с него инфу можно достаточно простым способом тем же самым filemon'ом. Если файлмон покажет, что пытается найти какой то файл, дальше опять же грузи прогу в олидбж и пошагово трассируй пока не найдешь место где зачитывается файл. По своему скромному опыту могу сказать, что в принципе структуру файла знать вовсе не обязательно. Если ломать прогу тупым битхаком, можно во первых поменять переходы на правильные, во вторых впринципе можно узнать, что прога пытается положить в стек чтобы она являлась полнофункциональной. Да еще посмотри сами стринги которые есть в самой программе. Еще правильно сказал Smon загрузи ее в какой нить декомпилер тоже поможет понять структуру самой программы. ![]() |
|
Создано: 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, но не могу его найти ![]() |
|
Создано: 07 июня 2005 10:42 · Личное сообщение · #10 |
|
Создано: 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 ![]() |
|
Создано: 07 июня 2005 18:39 · Личное сообщение · #12 |
|
Создано: 07 июня 2005 22:36 · Личное сообщение · #13 |
|
Создано: 27 марта 2006 10:44 · Личное сообщение · #14 |
|
Создано: 27 марта 2006 10:45 · Личное сообщение · #15 |
|
Создано: 27 марта 2006 11:28 · Личное сообщение · #16 |
|
Создано: 27 марта 2006 20:18 · Личное сообщение · #17 |
|
Создано: 27 марта 2006 20:35 · Поправил: Hellspawn · Личное сообщение · #18 |
|
Создано: 27 марта 2006 21:14 · Личное сообщение · #19 |
![]() |
eXeL@B —› Крэки, обсуждения —› Взлом Visual Basic программы (native) в OllyDbg |