Сейчас на форуме: zds, kris_sexy (+6 невидимых)

 eXeL@B —› Крэки, обсуждения —› программа ReGSpy 1.72,немогу понять...
. 1 . 2 . >>
Посл.ответ Сообщение

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

Создано: 27 октября 2006 05:24
· Личное сообщение · #1

Решил поглядеть я такую прогу RegSPY 1.72.Программа следит куда какая прога обращалась в регистр.Сразу глянул PEiD'ом. Ничем не упакована. Загрузил в Olly Dbg.Из защиты проверяла только себя на IsDebuggerPresent и проверяла контрольную сумму файла. Неразегестрированная программа выдает в начале и при закрытии наг окно. Нашел я эти функции DialogBoxParamA. Тут такая заковырка. В DlgProc сообщается адрес 00414020,хотя адресно вызовы функций DialogBoxParamA находятся в разных местах, а там происходит "рисование" наг окна.Причем причем функции почти не вызываются, а происходит передача параметров в основном по регистрам. Как немогу понять себя эта прога проверяет на зарегистрированность.Если знаете подскажите.Уже ее разобрал по косточкам, но никак не пойму???Я еще не сильно опытный в этих делах, не пойму где делаю ошибку.



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

Создано: 27 октября 2006 06:31
· Личное сообщение · #2

Ссылку бы дал чтоли.




Ранг: 111.0 (ветеран), 2thx
Активность: 0.090
Статус: Участник

Создано: 27 октября 2006 06:38 · Поправил: aspirin
· Личное сообщение · #3

dimaxmaster, здесь стяновятся крякерами, но не следопытами, изволь дать ссылку, если нуждаешься в помощи

-----
Ламер - не профессия :))




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

Создано: 27 октября 2006 06:49
· Личное сообщение · #4

Да-да, забыл, сорри, прогу можно скачать здесь www.utils32.com




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

Создано: 27 октября 2006 10:02
· Личное сообщение · #5

так ещё ограничение по функционалу... помниться я её давно смотрел, смог убрать только наги

-----
[nice coder and reverser]




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

Создано: 29 октября 2006 23:49
· Личное сообщение · #6

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



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

Создано: 30 октября 2006 06:55
· Личное сообщение · #7

dimaxmaster пишет:
Вот меня и интересует, где именно программа проверяет себя на зарегестрированность.


А меня интересует, гдк она сохраняет рег. данные?

Скоко не смотрел код от GetDlgItemTextA до MessageBoxA и далее, так и не нашел.

А наги убрать как два пальца обос****.



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

Создано: 30 октября 2006 08:20
· Личное сообщение · #8

А помоему она его проверяет сразу и никуда не пишет.
Кстати там СRC проверка походу есть я ее упаковал так она и запускаться не захотела.



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

Создано: 30 октября 2006 08:39 · Поправил: sniperZ
· Личное сообщение · #9

Dark Star пишет:
А помоему она его проверяет сразу и никуда не пишет.


Тупо, т.к. прога требует её ребута, з.н. она данные где-то сохраняет.




Ранг: 111.0 (ветеран), 2thx
Активность: 0.090
Статус: Участник

Создано: 30 октября 2006 09:03
· Личное сообщение · #10

sniperZ пишет:
Тупо, т.к. прога требует её ребута, з.н. она данные где-то сохраняет.

Да нигде она их не сохраняет, если просит ребут, значит работает в реестром, смотри всякими регмонами.
Dark Star пишет:
Кстати там СRC проверка походу есть я ее упаковал так она и запускаться не захотела.

не факт, может трабла быть в ресурсах.

-----
Ламер - не профессия :))




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

Создано: 30 октября 2006 09:13
· Личное сообщение · #11

aspirin пишет:
не факт, может трабла быть в ресурсах.

4 пакерами пробовал везде слетает.

sniperZ пишет:
Тупо, т.к. прога требует её ребута, з.н. она данные где-то сохраняет

Да а может она при верном серийнике ключ какой создает а при старте его ищет или файл. То нафиг ей че сохранять.



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

Создано: 30 октября 2006 09:41 · Поправил: sniperZ
· Личное сообщение · #12

sniperZ пишет:
Тупо, т.к. прога требует её ребута, з.н. она данные где-то сохраняет


aspirin пишет:
Да нигде она их не сохраняет, если просит ребут, значит работает в реестром, смотри всякими регмонами.


No comments.

aspirin, ты сначала сам посмотри,а потом п#3ди.



Dark Star пишет:
Да а может она при верном серийнике ключ какой создает а при старте его ищет или файл. То нафиг ей че сохранять.


Во-первых она любой ключ сохраняет,т.к. проверяет его правильность при перезагрузке.

Dark Star пишет:Да а может она при верном серийнике ключ какой создает а при старте его ищет или файл. То нафиг ей че сохранять.

aspirin пишет:
Да нигде она их не сохраняет, если просит ребут, значит работает в реестром, смотри всякими регмонами.


А во вторых создание ключа с данными и и есть сохранение данных.

Хватит оставлять тупые посты.



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

Создано: 30 октября 2006 10:09
· Личное сообщение · #13

Dark Star пишет:
Кстати там СRC проверка походу есть


Внатуре тат проверка Ц-ЭР-Ц имеется.

41CD8D 75 08 --> EB 08

И нет проверки.



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

Создано: 30 октября 2006 12:21
· Личное сообщение · #14

sniperZ пишет:
Во-первых она любой ключ сохраняет,т.к. проверяет его правильность при перезагрузке.


А кто те сказал что она при загрузке его вообще проверяет.
Ты нашел чтоли что она его юзает при старте проги?

Объясню понятнее:Скорее всего она после ввода ключа проверяет его на valid'ность если так то создает либо файл на диске либо ключ или раздел в реестре(твои введенные данные ей и нафиг теперь не нужны)
при запуске проверяет его существование если есть то зарегена. Как видиш твой рег код юзается лишь при проверке.



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

Создано: 31 октября 2006 00:07
· Личное сообщение · #15

Я в первом посте писал про проверку на CRC, достаточно использовать плагин к PEiD, который fix'ит сумму и все в порядке. Тут дело в следующем. Логично, что у зарегистрированной программы наг окна не выдаются.Но в коде программы нет метода обхода НАГОВ. Т.е. нет никаких CMP или TEST, которые бы посылали прогу через функцию DialogBoxParamA.Программа при своем исполнении обязательно доходит до этой функции.Закачит заковырка где-то внутри. Там наг окно не просто ресуется, а происходит цикл, примерно из 14 кругов по одному и тому-же участку кода, и только потом по-элементно вырисовывается наг окно. Проверка где-то там, но где?А насчет регкода. То прога получив его при закрытии передает в reginj.dll и там начинаются какие-то безумные сверки, т.е. проверка ключа на валидность. Но я уверен, что потом прога проверяет себя на зарегистрированность именно в DialogBoxParamA.



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

Создано: 01 ноября 2006 06:44
· Личное сообщение · #16

понятно, никто по RegSpy 1.72 ничего не ведает.Советов дельных не поступило. Тема "пылиться" день без толку. Можно закрывать (обращение к модератору).



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

Создано: 01 ноября 2006 07:09
· Личное сообщение · #17

Зачем закрывать?
Я ее вчера до трех ночи пытался ломать.

Максимум продвинулся
1. пароль ххХХ-ХХХХ-ХХХХ длинна = 0хЕ; Х = символы 1234567890ABCDEF
2. проверка в процессе REGSPY.exe

сейчас разбираюсь с GetMessageA и PostThreadMessageA



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

Создано: 02 ноября 2006 00:09
· Личное сообщение · #18

Xserg пишет:
Максимум продвинулся
1. пароль ххХХ-ХХХХ-ХХХХ длинна = 0хЕ; Х = символы 1234567890ABCDEF
2. проверка в процессе REGSPY.exe


Тут дело в следующем. Я тоже видел, что код такого типа.Но вот над чем стоит задуматься.Подбор кода может оказаться безрезультатным. А сама прога где-то проверяет, ты пользователь с ключом или без.Поэтому логично, что наги выводится не должны у легального пользователя. НО в программе наги вызываются функцией DialogBoxParamA, которые не обходятся кодом. Т.е. при любых раскладах программа зайдет в нее.
Причем обязательно на адрес:00414020. С него и надо начинать искать. Я искал искал, но так и не нашел, а код подбирать может оказаться глупой затеей, надо хорошо знать криптографию, плюс возможно разработчики применили оригинальный алгоритм!




Ранг: 85.5 (постоянный), 16thx
Активность: 0.040.05
Статус: Участник

Создано: 02 ноября 2006 05:45
· Личное сообщение · #19

Я гляжу вы ее уже почти неделю ломаете, так и не сломали
скачал - вечерком посмотрю, завтра скажу результат



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

Создано: 02 ноября 2006 06:37
· Личное сообщение · #20

RAMZEZzz пишет:
Я гляжу вы ее уже почти неделю ломаете, так и не сломали
скачал - вечерком посмотрю, завтра скажу результат


Жду результата с интересом и, желательно бы по возможности, указать адреса в коде, где происодит проверка на IsRegister user



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

Создано: 02 ноября 2006 06:56
· Личное сообщение · #21

Можно и мои пять копеек.

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

Проследив за нею, мы видим, что самое интересное происходит в reginj.dll, в которой запускается StartAppNT, когда мы закрываем RegSpy. Разбирать эту функцию - одно удовольствие. Опишу вкратце:
1) Берётся первое попавшееся окно - неважно, какое именно. Именно окно, потому что у него обязательно есть поток, обрабатывающий сообщения. В моём случае окнами были и explorer, и ida, и даже блокнот (его тред я вбивал сам).
2) На поток этого окна ставится хук WH_GETMESSAGE, обработчик MsgProc валяется там же, в reginj.dll
3) Этому треду посылается сообщение, чтобы сработал хук.
4) Хук срабатывает в контексте того процесса, на тред которого он был поставлен. В результате reginj.dll грузится в его адресное пространство.
5) Из MsgProc запускается функция 10001C20 (допустим, KewlProc), там всё и происходит.
6) KewlProc ждёт выгрузки процесса RegSpy.exe из памяти. Зачем, станет ясно позднее.
7) Проверяет серийник. Серийник, как тут правильно заметили, имеет вид XXXX-XXXX-XXXX. Это шестнадцатиричные числа. Схема проверки серийника довольно проста:
xxAB-CCCC-CCCC. AB xor'ится с C8 и сдвигается влево на два. Это индекс в массиве. а СССС-СССС - это int, элемент массива. В ресурсах файла есть GIFка, которая на самом деле ни фига не гифка, а как раз проверочный массив. Одно мне было лень копать - этот массив при проверке серийника как-то изменяется одной функцией, но это уже работа для тех, кто хочет написать кейген.
8) Ладно, допустим, серийник совпал. Тогда KewlProc маппит в память regspy.exe (вот для чего она ждала его выгрузки), и изменяет поле MinorLinkerVersion заголовка PE на 01. Пересчитывает контрольную сумму, пишет её в одноименное поле и всё.

Теперь программа запускается, показывает те же самые нагскрины, но только в окне about уже больше нет кнопочки 'Register'. Что там с наг-скринами (когда они же всё-таки должны пропасть) и с именем, на которое регится программа, я пока не знаю



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

Создано: 02 ноября 2006 07:02
· Личное сообщение · #22

А да, и самое главное-то забыл. У меня программа вообще не работает по назначению - операции с реестром совсем не перехватываются. Полный ноль. И ещё мне непонятно, нафига это программа вообще нужна при живом RegMon'е от Руссиновича. Бесплатном!




Ранг: 85.5 (постоянный), 16thx
Активность: 0.040.05
Статус: Участник

Создано: 02 ноября 2006 07:35
· Личное сообщение · #23

Начал разбирать прогу на работе, докопал пока только до reginj.dll, решил заглянуть в топик, а тут человек (akornilov) оказывается всё уже раскопал вдоль и поперек

akornilov пишет:
операции с реестром совсем не перехватываются

Это одно из ограничений... - в наг скрине об этом сказано

[i]akornilov пишет:
изменяет поле MinorLinkerVersion заголовка PE на 01. Пересчитывает контрольную сумму, пишет её в одноименное поле и всё.

Прога ведь должна проверять что у нее в MinorLinkerVersion установлено, в этом направлении еще покопать надо



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

Создано: 02 ноября 2006 07:48
· Личное сообщение · #24

Да, я немножко там покопал - в том месте просто кнопка "Register" не создаётся. Вообще, мест, откуда подходить - много. Например, должна же прога unlicensed copy удалить из диалога. Или всё те же нагскрины, они должны убираться.

Мне вот сегодня уже неохота дальше копаться)



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

Создано: 03 ноября 2006 00:19
· Личное сообщение · #25

RAMZEZzz пишет:
Прога ведь должна проверять что у нее в MinorLinkerVersion установлено, в этом направлении еще покопать надо


Все верно, да и самый главный вопрос, где прога себя потом в RegSpy.exe проверяет на зарегистрированность. Наг исчезнет, если при прорисовке нага ( как сказал akornilov, выбока из массива) прога один раз скачет на функцию EndDlg и затем наг не выводится, но ведь где-то эта проверка идет???
RAMZEZzz пишет:
Я гляжу вы ее уже почти неделю ломаете, так и не сломали
скачал - вечерком посмотрю, завтра скажу результат


Вечерок прошел, а результата нет Чем интересна прога, тем что защита оригинально сделана




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

Создано: 03 ноября 2006 00:21
· Личное сообщение · #26

да бред, она проверяет это только в одном месте

0041B5B6 |. FF15 CC604200 CALL DWORD PTR DS:[<&KERNEL32.GetModuleHandleA>] ; GetModuleHandleA
0041B5BC |. 50 PUSH EAX
0041B5BD |. FF15 C0604200 CALL DWORD PTR DS:[<&IMAGEHLP.ImageNtHeader>] ; IMAGEHLP.ImageNtHeader
0041B5C3 |. 8A48 1B MOV CL,BYTE PTR DS:[EAX+1B]
0041B5C6 |. 84C9 TEST CL,CL
0041B5C8 |. 0F85 A4000000 JNZ REGSPY.0041B672

а вообще у меня сложилось впечатление, что либо там очень умная защита,
либо её вообще не получиться зарегить... Почему я так подумал? да просто взял
и посмотрел RegSpy 1.7 слишком много не стыковок
Например когда зарегится 1.7 она получает имя компа и выводит его в эбаут!

Names in REGSPY, item 125
Address=00425014
Section=.rdata
Type=Import (Known)
Name=ADVAPI32.GetUserNameA

в 1.72 такуй функции вообще нету странно всё это,
но это только предположения, кому интересно посмотрите версию 1.7

-----
[nice coder and reverser]




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

Создано: 03 ноября 2006 01:53
· Личное сообщение · #27

А может, dimaxmaster - автор RegSpy или заинтересованное лицо? Выложить неполную версию проги крякерам и посмотреть, как они корячатся? ;)



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

Создано: 03 ноября 2006 01:56
· Личное сообщение · #28

Вот же блин, так и есть

Domain name: UTILS32.COM

Administrative Contact:
Chabanenko, Alexander ***********@HOTMAIL.COM
a/s164
Nikolaev, 54001
UA
+3800512474448

Было же подозрение, кому нужна эта программа, если есть RegMon бесплатный. Стопудово нужна только авторам )



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

Создано: 03 ноября 2006 02:17
· Личное сообщение · #29

akornilov пишет:
А может, dimaxmaster - автор RegSpy или заинтересованное лицо? Выложить неполную версию проги крякерам и посмотреть, как они корячатся? ;)


Такого я давно не слышал Нашел я эту прогу через софтодром. Я там часто качаю проги для крэка. Заинтересовала защита. Я ее ковырял пару недель и ничего не нашел.Так как я только учусь, решил здесь топик выложить. Думаю, может хто подскажет шо делать.Будь я автором, никогда бы здесь ничего не выкладывалНо честно, насмешил akornilov от души.



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

Создано: 03 ноября 2006 02:19
· Личное сообщение · #30

Hellspawn пишет:
а вообще у меня сложилось впечатление, что либо там очень умная защита,
либо её вообще не получиться зарегить... Почему я так подумал? да просто взял
и посмотрел RegSpy 1.7 слишком много не стыковок
Например когда зарегится 1.7 она получает имя компа и выводит его в эбаут!


Меня тоже терзают сомнения, может демо-версия?Но ведь в наге написано trial 30 days???


. 1 . 2 . >>
 eXeL@B —› Крэки, обсуждения —› программа ReGSpy 1.72,немогу понять...
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати