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

 eXeL@B —› Вопросы новичков —› нужна помощь в исслдовании C++
Посл.ответ Сообщение

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

Создано: 07 февраля 2009 23:31
· Личное сообщение · #1

Привет из Севастополя
Пытаюсь получить ключ и как-то вытянуть его с видеокурсов (...Технические Моменты Онлайн Бизнеса...)
Хочется научится научится WEB дизайну, и приходится ламать другое...
Суть защиты:
Программа при запуске выдает окошко с ID номером и Кодом в одном окне - и требует Ключ активации( для активации)
Проделанная работа (2 дня знаю, что такое crack):
Выявлено, что защита напсана на Microsoft Visual C++ 6.0 с помощью PED, соответсвенно она не запакована. Предполагаю, что нужно изучить алгоритм генерации ключа с помощью отладчика Softice.
Но с ним траблы даже при установки Все что я видел здесь по поводу этой прогграммы так это топики и архтвы 2004-2005 года ( версии 4.05 - у меня вообще зависает при запуске, 4.27 - .bat файл загружается а сам отладчик не выходит, что качается 4.31 и 4.32 версий ссылок нет либо устарели) Поиск не работает вообще
Может есть какие нибудь у кого ссылки на отладчик или поделится опытом на взлом подобных защит? Буду внимательно слушать Очень надо. сами курсы нужны исключительно в образовательных целях.



Ранг: 271.5 (наставник), 12thx
Активность: 0.150
Статус: Участник
Packer Reseacher

Создано: 07 февраля 2009 23:44
· Личное сообщение · #2

SULTAN
Запусти PE-Tools посмотри какие там Win32API ф-ции импортируются
Найди и закачай себе Olly Debug можешь тут на сайте послушать возгласы за какую-либо сборку этого дебагера

Ну и опиши суть ограничений, которая налагает эта прога, т.е. если не активировать че будет ?

-----
My love is very cool girl.




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

Создано: 08 февраля 2009 02:45 · Поправил: SULTAN
· Личное сообщение · #3

через PEID
Entrypoint - 001A7849 EP Selection - .text
File Offset - 001A7849 First Bytes - 55,8B,EC,6A
Linker Info - 6.0 Subsystem - Win32 GUI

Microsoft Visual C++ 6.00

ограничений нет она может вечно лежать, пока не приобретешь ключ на какой нибудь раздел - вводишь правильный ключ программа выдает окошко типо ключ принят пожалуйста перезапустите меня - при перезапуске на программу уже не нарываюсь а идут видеоруки.
вот собственно о чем речь http://www.allmoments.at.ua/index/0-15 http://www.allmoments.at.ua/index/0-15 . Как видите их уже взломали и еще и перепродают.
Снизу на странице увидешь окошко само как выглядит. Вообще, автор этих курсов исключительно высылвет на заказ, и не заливает их. Но взломщик взломал, сделал сайт, залил на фтп сервера курсы ( причем на разные и разбил на 135 архивов ) . После скачивания и распаковки архивов - есть папки (уроки) и exe-ный файл ( т.е. ничего инсталировать не надо). Этот хакер оставляет также свою асю в которой он просит ID и номер ключа - в ответ он через 20 сек выдает активационный ключ. И этот ключ распространяется только на 1 раздел курсов всего диска. Остальные за деньги
Удивительно, что у разных людей ID первого раздела уроков разные. Т.е. есть предположение, что программа при 1 ом же запуске считывает некую информацию с железа или ОС компа - и автоматом генерирует ID и ключ в сооствествии с железом или ОС компа. При перезапуске программы ID и номер ключа на одном и том же компьютере не меняются никогда

Что касается OLLYDBG то пока темный лес в этом, буду разбираться (тяга к знаниям) Хочется понять саму структуру поведения программы и где искать или ловить ключ.
P.S. Интерестно что теперь после моего ковыряния запускающегося файла самой защиты - PEID стал выдавать уже не Microsoft Visual C++ 6.00 а Microsoft Visual C++ 6.00 [Overlay]. Хотя на другой копи распакованного варианта ( котрый находится на другом винте) все таже Microsoft Visual C++ 6.00. Чтобы это значило?



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

Создано: 08 февраля 2009 10:26 · Поправил: Lampik
· Личное сообщение · #4

SULTAN пишет:
При перезапуске программы ID и номер ключа на одном и том же компьютере не меняются никогда

Если запустишь с другого жёсткого диска то ID будет другой.
Есть программа,которая изменяет ID диска
Держи ссылку rapidshare.com/files/195421283/ID.rar.html
Да ещё что-то в личку тебе написал



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

Создано: 08 февраля 2009 10:36 · Поправил: progopis
· Личное сообщение · #5

А это не катит?
_hxxp://neomaks.ru/16317-vse-tekhnicheskie-momenty-onlajjn-biznesa-v.h tml



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

Создано: 08 февраля 2009 13:11
· Личное сообщение · #6

progopis ты ссылку указал на 1 ый диск, там насколько я понял идет речт о базе сайтостроения, о языках html css. Сам лично не скачивал тот диск,защита там предполагаю, что такая же как и на 2 ом, т.к. из одной серии.
HTML и CSS я знаю, поэтому и мучаюсь со 2 ым диском (РhP и MySQ)

Lampik у меня 2 копии как раз ( одна копия на диске С другая на D) - запускал, что на том, что на том - ID и ключ одинаковые выдает на обоих дисках. За ссылку спс - может получится привязать1 ый ID для всех разделов, к котрому у меня есть активациооный ключ.
И тоже смотри в личку



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

Создано: 08 февраля 2009 13:51
· Личное сообщение · #7

SULTAN
Вопрос такой же защитой книги(если не ошибаюсь) обсуждается ещё здесь
http://www.exelab.ru/f/action=vthread&forum=5&topic=12521



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

Создано: 08 февраля 2009 18:18
· Личное сообщение · #8

Везде почитал - выглядит защита на видеоруки также как и на электронные книги, представленные участниками форума. Но все предоставляемые книги были с
PEStubOEP 1.6 -> GPcH Soft [Overlay]
у меня же
Microsoft Visual C++ 6.00 или Microsoft Visual C++ 6.00 [Overlay] - что очень странно.
я даже не знаю с чего начать. Какие программы нужны для поюбора ключа или обхода ID для этого случая? Чтобы знать в каком направлении идти.

Препробован loader по сссылки предложенный работал видимо только с той книгой или защитой.



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

Создано: 08 февраля 2009 22:32
· Личное сообщение · #9

SULTAN пишет:
Microsoft Visual C++ 6.00 или Microsoft Visual C++ 6.00 [Overlay] - что очень странно.

странно,но там распакованные были Borland Delphi 6-7



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

Создано: 27 февраля 2009 19:59
· Личное сообщение · #10

SULTAN
Не стоит PEiD слишком доверять - надо проверять . Ведь она использует довольно простые сигнатуры - стоит внедрить всего один nop и PEiD уже не догадается. Если ты точно уверен что программа не упакована (упакуй ее раром - если размер почти не изменился - значит упакована) - это хорошо.
Насчет отладчика. Если программа не устанавливает никаких драйверов, значит SoftIce здесь излишен - тут достаточно OllyDbg.
>Что касается OLLYDBG то пока темный лес в этом
Отладчик действительно простой в изучени - при знании английского назначение всех кнопок понять труда не составит. Если ты юзал раньше отладчики, встроенные в Delphi или VisualC++, то проблем будет еще меньше. Теперь насчет хака.
>требует Ключ активации
В смысле ввести текст, а не выбрать ключевой файл с диска? Есть 2 варианта (используй один из них):

1) Сделать так, чтобы окошко не появлялось и программа вводить ключ не требовала
Тогда тебе надо найти место в программе, к-е вызывает это окно. В той же OLLY ставишь бряки на функции, создающие диалоговые окна. Их несколько - это четыре CreateDialog-функции, т. е. те, которые начинаются с этого слова, и DialogBox (поправьте, если что-то упустил). Тебе надо запустить программу под отладчиком, и найти эти функции в ее памяти. Если эти ф-ии импортируются, то их адреса записываются в память процесса до его запуска. Тогда достаточно просмотреть таблицу импорта программы (на диске или в памяти) - там слева от имени ф-ий, занимая 4 байта, будут расположены dword-значения, в которых записан адрес, по которому распологается эта ф-я. По этому адресу ставишь бряк (можно не в начале ф-ии, а через несколько команд, н-р, на 3-ей). Итак, ставишь бряки на все эти ф-ии и запускаешь программу. Перед появлением диалога вызовется одна из этих ф-ий. Запоминаешь - с какого адреса она была вызвана (адрес лежит на стеке).
Вместо бряков можно просто создать лог, в к-ый программа запустится в режиме трассировки и в файл будут писаться имена, адреса и аргументы тех ф-ий, которых ты укажешь. Для этого можно использовать отдельную программу - API-шпион (н-р Kerberos или API Logger от Рустима). Просматривая этот лог, ты увидишь все адреса, с к-х вызывались интересуемые тебя ф-ии.
Когда появится диалог, можешь остановить лог (тогда нужный адрес будет в логе последним).
Узнал адрес. Теперь можно исследовать код выше него, чтобы узнать - каким образом программа приняла решение что ключ еще не введен и отломать проверку. Разумеется, исследование кода лучше проводить в дизассемблере.

2) Узнать один из правильных ключей
Найдя адрес, с которого происходит создание диалога, можно найти процедуру, проверяющую введенный ключ. При создании диалога функции передается адрес, на к-ый будет передаваться управление при получении этим диалогом сообщений (н-р, нажатие на кнопку 'OK'). Установим бряк на этот адрес и нажмем 'OK'. Трассируем этй ф-ю. Данная ф-я стандартизирована она проверяет аргументы, к-е означают - какому элементу управления какое сообщение поступило. Проверка аргументов чаще всего происходит оператором switch (для C++). - трассировка обязательно через нее пройдет. Трассируй, пока не перейдешь на case-ветку. Вот теперь ты там, где находится код, получающий управление при нажатии на кнопку 'OK'. Теперь, исследуя этот код в отладчике и в дизассемблере пытаемся найти функцию, которая занимается проверкой введенного ключа. В помощь можно найти в памяти ключ, к-ый мы ввели (это строка символов и поставить бряк на чтение к нему).
Найдя код проверки ключа, можно:
- проанализировать его и написать кейген, генерирующий ключи (пассивный взлом)
- отключить проверку ключа, изменив 1-2 команды (активный взлом)

3) Анализ открываемых файлов / записей в реестре.
Это все были активные методы анализа. А теперь пассивный.
Чтобы знать - ввел пользователь ключ или не ввел, программа должна хранить где-то об этом информацию. В реестре или в файле. Воспользуемся файловым и реестровым монитором (программы Filemon и Regmon от Руссиновча, есть на www.sysinternals.com, там есть Procmon, который включает в себя обе программы). Эти проги устанавливают драйверы, так что работать будут только от админа. В фильтр мониторов запишем имя взламываемой проги - чтобы мониторы отслеживали только ее операции. Если это первый запуск программы, то отслеживаем все операции. Если программу уже запускали, то не отслеживаем операции записи и успеха.
Включаем мониторинг. Запускаем программу и после появления диалога о вводе ключа, останавливаем мониторы. Перед нами - длинный список всех обращений к файловой системе и реестру, сохраняем логи в файл (на всякий случай). Затем, просматривая эти логи (лучше в самих мониторах), анализируем - какие файлы / записи реестра она открывала, зачем и что в них писала / читала. Можно совместить мониторы с отладкой.
P.S. Стоит обратить внимание на логи 'NOT FOUND'. Иногда программы просят регистрацию, если файл не существует и после регистрации - этот файл создают.

Если у тебя есть уже зарегистрированная копия, то взламывать будет еще проще. Но это - тема отдельного разговора.




Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 02 ноября 2009 19:00
· Личное сообщение · #11

Есть желание восполнить пробел в знании относительно обработки очереди сообщений в Си программах
Что можно по теме почитать?
Интересно каким образом визуально опознать обработку нажатия клавиш, движения мыши и т.д. и как найти сами обработчики

как пример:
есть такая прожка: www.colorpilot.com/image2pdf.html
на первый взгляд чистая демка, но там в ресурсах лежит форма для ввода RegCode
есть подозрение, что она вызывается в результате определённых действий, но где я так и не нашёл
на сам цикл обработки сообщений выйти легко, а где описание кодов найти, что что обрабатывает?

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh





Ранг: 527.7 (!), 381thx
Активность: 0.160.09
Статус: Участник
Победитель турнира 2010

Создано: 03 ноября 2009 13:28 · Поправил: OKOB
· Личное сообщение · #12

Isaev пишет:
есть подозрение


Всего в ресурсах шаблоны для 4х диалогов (ID 129, 201, 202, 203). Два создаются через CreateDialogParamA (129 - text:0041B3A7, 203 - text:00425A77), один через DialogBoxParamA (201 - text:00425B08), а 202 (RegCode) - нет. Наверное просто в ресурсах осталась от полной версии.

-----
127.0.0.1, sweet 127.0.0.1





Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 03 ноября 2009 16:58
· Личное сообщение · #13

как-то странно... смысл то в чём тогда полной версии?
там единственное ограничение в триале, что надпись шлёпает на каждую страницу, можно просто запатчить в конце концов... хотел просто ключик сделать
прога порадовала, оптимизирует не плохо, не большой размер pdf на выходе получается и в общем-то во всём устраивает

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh




Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 04 ноября 2009 11:20 · Поправил: tundra37
· Личное сообщение · #14

Кнопочка для регистрации имеется на главном диалоге, но она не видна Я правда без инсталяции запускал, но думаю что у вас тоже самое.



Ранг: 114.8 (ветеран), 41thx
Активность: 0.10
Статус: Участник

Создано: 04 ноября 2009 14:23
· Личное сообщение · #15

Да, есть там такая кнопка, но если сделать ее видимой и нажать, то не происходит ничего)



Ранг: 617.3 (!), 677thx
Активность: 0.540
Статус: Участник

Создано: 04 ноября 2009 14:55
· Личное сообщение · #16

Ну еще как вариант можно заменить 0041B397 PUSH 81 ->PUSH 0CA, тогда при загрузке будет сразу вылетать окно регистрации вместо основного, но все равно там ничего интересного не происходит.




Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 06 ноября 2009 12:56
· Личное сообщение · #17

всем спасибо за внимание!
.... что же, пришлось запатчить... а было настроение алго поковырять...

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh




Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 07 ноября 2009 08:23 · Поправил: tundra37
· Личное сообщение · #18

_ruzmaz_ пишет:
Да, есть там такая кнопка, но если сделать ее видимой и нажать, то не происходит ничего)

Ну так, если не получается с диалогом, то надо искать где в проге ее делают видимой - там же и должна быть активизация алгоритма регистрации, если такое заложено.
Кстати, искали все только в проге, а почему не поискать в DLL. Я уже такое видел, что часть защиты прятали в другом месте




Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 09 ноября 2009 12:57
· Личное сообщение · #19

tundra37 пишет:
а почему не поискать в DLL

Смотрел я эту dll, вроде чисто для создания pdf, ничего из неё больше не вызывается, да и следов никаких в ней нет

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh



 eXeL@B —› Вопросы новичков —› нужна помощь в исслдовании C++
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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