eXeLab
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 2 августа!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Русский / Russian English / Английский

Сейчас на форуме: Incredible666, vallac, sty (+3 невидимых)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

 eXeL@B —› Вопросы новичков —› Изучение активатора
Посл.ответ Сообщение

Ранг: 3.4 (гость)
Статус: Участник

Создано: 7 сентября 2018 23:10 New!
Цитата · Личное сообщение · #1

Здравствуйте.
Хотел своими силами разобрать алгоритм регистарции простого активатора
скачать можно тут --> 1.5 мегабайт <--
в архиве SB2Activation.exe и файлы для запуска.
активатор написан на Microsoft Visual C/C++(2005)[msvcrt]

проделанная работа:

нашел места где выпадает сообщение о не правильности ollydbg32b v 2


Code:
  1. [#] Text strings referenced in SB2Activation [#], item 140
  2.   Addres = 00407D5D
  3.   Comman = PUSH OFFSET 00416E90
  4.   Comment = UNICODE "affiliate.dat?TEXT"
  5.  
  6. 00407AC0
  7.  
  8. CPU Disasm
  9. Address   Hex dump          Command                                  Comments
  10. 00407ADF  |> \68 0C6E4100   PUSH OFFSET 00416E0C                     ; /Arg1 = UNICODE "Invalid license key"
  11. '
  12.  
  13. CPU Disasm
  14. Address   Hex dump          Command                                  Comments
  15. 00407B00  |.  FF15 84524100 CALL DWORD PTR DS:[<&USER32.MessageBoxW> ; \USER32.MessageBoxW


это самые интересные участки.

Но не могу найти,участки о правильности подскажите люди добрые,последовательность действий.

Ранг: 377.8 (мудрец)
Статус: Участник
"Тибериумный реверсинг"

Создано: 8 сентября 2018 18:42 New!
Цитата · Личное сообщение · #2

dyjikov пишет:
алгоритм регистарции простого активатора

dyjikov пишет:
в архиве SB2Activation.exe и файлы для запуска.

Здесь не всё так просто на самом деле.
Во-первых, Вы нашли первоначальный вариант активации. Там есть ещё второй, который юзается всегда после первого.
Во-вторых, судя по анализу второго варианта активации:
Процедура по адресу 00405DC7 создаёт процесс StarBlaze2.exe /activate, перед этим мапит файл.
StarBlaze2.exe накрыт Armadillo 5.0 (ProtectionID)
Code:
  1. CPU Stack
  2. Address   Value      ASCII Comments
  3. 0018EDC8  /00000000        ; |ApplicationName = NULL
  4. 0018EDCC  |025716F0  &#240;W ; |CommandLine = "C:\...\StarBlaze2.exe /activate"
  5. 0018EDD0  |00000000        ; |pProcessSecurity = NULL
  6. 0018EDD4  |00000000        ; |pThreadSecurity = NULL
  7. 0018EDD8  |00000000        ; |InheritHandles = FALSE
  8. 0018EDDC  |04000000     [-  ; |CreationFlags = CREATE_DEFAULT_ERROR_MODE
  9. 0018EDE0  |00000000        ; |pEnvironment = NULL
  10. 0018EDE4  |00000000        ; |CurrentDirectory = NULL
  11. 0018EDE8  |0018EDF8  &#248;&#237; ; |pStartupInfo = 0018EDF8 -> STARTUPINFOW {Size=68., Reserved1=NULL, Desktop=NULL, Title=NULL, X=0, Y=0, Width=0, Height=0, XCountChars=0, YCountChars=0, FillAttribute=0, Flags=0, ShowWindow=SW_HIDE, Reserved2=0, Reserved3=NULL, hStdInput=NULL, hStdOutput=
  12. 0018EDEC  |0018EE3C  <&#238; ; \pProcessInformation = 0018EE3C -> PROCESS_INFORMATION {hProcess=NULL, hThread=NULL, ProcessID=0, ThreadID=0}

Весь процесс активации + проверки наверняка скрыты в защищенном файле StarBlaze2.exe.
В открытом файле мы должны получить от защищенного StarBlaze2.exe валидную переменную, которая НЕ должна равнятся 4 или 5 (4 и 5 = Invalid key):
Code:
  1. 004090BA  |.  8B47 34       MOV EAX,DWORD PTR DS:[EDI+34]
  2. 004090BD  |.  8B80 E8010000 MOV EAX,DWORD PTR DS:[EAX+1E8]
  3. 004090C3  |.  83F8 04       CMP EAX,4
  4. 004090C6  |.  75 11         JNE SHORT 004090D9
  5. ...
  6. 004090D9  |> \83F8 05       CMP EAX,5
  7. 004090DC  |.  75 0A         JNE SHORT 004090E8

В результате успеха (правильного ключа), мы просто напросто выполняем SetWindowLongW с аргументом NewValue = 000000CE:
Code:
  1. 004090E8  |> \68 CE000000   PUSH 0CE
  2. 004090ED  |.  53            PUSH EBX
  3. 004090EE  |.  FF37          PUSH DWORD PTR DS:[EDI]
  4. 004090F0  |>  FF15 A8524100 CALL DWORD PTR DS:[<&USER32.SetWindowLongW>]                               ; \USER32.SetWindowLongW


Разве что в первом варианте активации есть подсказки касаемо стурктуры ключа:
Длина = 0x19 (25) символов и подсчет суммы ("хеша") с получением соответствующей буквы при делении, которая сравнивается с последним символом
Code:
  1. отсюда начинаем
  2. 00408188  |.  E8 A3B30000   CALL <JMP.&MSVCRT.wcslen>                                                  ; \MSVCRT.wcslen
  3. 0040818D  |.  83F8 19       CMP EAX,19
  4. ...

Code:
  1.     
  2. в хекс-рейс
  3. if ( wcslen((const wchar_t *)lpKey) != 25 )
  4.       goto LABEL_19;
  5.     result_hash = 0;
  6.     i = 0;
  7.     do
  8.       result_hash += LOBYTE(lpKey[i++]);
  9.     while ( i < 24 );
  10.     if ( hash_table[result_hash % 28] == lpKey[i] )

| Сообщение посчитали полезным: dyjikov



Ранг: 51.9 (постоянный)
Статус: Участник

Создано: 8 сентября 2018 19:06 New!
Цитата · Личное сообщение · #3

ELF_7719116
Да, в арме есть серт
Code:
  1. Global Information:
  2.    TimeStamp : 47BB959E
  3.  First DWORD : 7453000A
  4.   Project ID : StarBlaze2
  5.      Website : http://www.astonshell.com
  6.       Magic1 : E3EC767A
  7.       Magic2 : 1652
  8.  
  9. Public Certificate Information:
  10.   Short V3 Level 10:
  11.     Chk : 326B4033
  12.   BaseP : 1724781236 (Size=50, Diff=36)
  13.   Pub.: 8266140260485000558685961786746894
  14.   Pub.: 7160560925898612071871555453559701

| Сообщение посчитали полезным: ELF_7719116, dyjikov


Ранг: 3.4 (гость)
Статус: Участник

Создано: 9 сентября 2018 19:43 New!
Цитата · Личное сообщение · #4

ELF_7719116

Огромное спасибо Вам,что так объяснили и расписали,я извиняюсь что не удивил,что там на остальных файлах есть армандилла,активатор проверил а остальные файлы не подумал проверить,не сталкивался с таким,я изучил этот протектор.- Из подсказки BlackCode я понял что по данным short можно получить ориганальный ключ (опробую этот способ)продолжу изучение


Ранг: 582.8 (!)
Статус: Модератор
Research & Development

Создано: 9 сентября 2018 20:40 New!
Цитата · Личное сообщение · #5

dyjikov

Для того, чтобы генерить ключи для Short V3 Level 10 без патча, тебе необходимо решить DLP (Discrete Logarithmic Problem). Чтобы ты мог сэкономить уйму времени, используй > Armadillo Key Tool <.
Читай инструкцию и вперёд ))

Инструкция: Armadillo Key Tool Manual.pdf

| Сообщение посчитали полезным: dyjikov


Ранг: 13.5 (новичок)
Статус: Участник
iOS expert

Создано: 19 сентября 2018 13:05 New!
Цитата · Личное сообщение · #6

Jupiter пишет:
Для того, чтобы генерить ключи для Short V3 Level 10 без патча, тебе необходимо решить DLP (Discrete Logarithmic Problem)

Двойка, товарищ модератор. 10-ка это ECC, здесь Pub.X и Pub.Y это точка на кривой. DLP для Эль-Гамаль схемы - уровни 1 - 9. Кстати в инструкции есть про это.


Ранг: 582.8 (!)
Статус: Модератор
Research & Development

Создано: 19 сентября 2018 17:50 New!
Цитата · Личное сообщение · #7

Katana пишет:
DLP для Эль-Гамаль

Так поведай же, что такое "elliptic curve discrete logarithm problem" (ECDLP). Для начала.

Ранг: 13.5 (новичок)
Статус: Участник
iOS expert

Создано: 19 сентября 2018 18:07 · Поправил: Katana New!
Цитата · Личное сообщение · #8

Jupiter пишет:
Так поведай же, что такое "elliptic curve discrete logarithm problem" (ECDLP).

Притянуто за уши, не считаешь так? Можно и RSA дискретным логарифмом решать, и что теперь?

>ECDLP (Elliptic Curve Discrete Logarithm Problem) — задача дискретного логарифмирования в группе точек эллиптической кривой.

Какое отношение это имеет к практическому вопросу? Я написал про DLP, имея в виду про конкретный инстурмент - AKTool. Ты заявил что можешь генерировать ключи Short V3 Level 10 без патча. Так можешь или нет?)


Ранг: 582.8 (!)
Статус: Модератор
Research & Development

Создано: 19 сентября 2018 19:08 New!
Цитата · Личное сообщение · #9

Katana пишет:
Притянуто за уши, не считаешь так?


Нет, не считаю. DLP есть DLP.

Jupiter пишет:
чтобы генерить ключи для Short V3 Level 10 без патча, тебе необходимо решить DLP (Discrete Logarithmic Problem)


Если ты с этим не согласен, то не решай DLP для ECC.


Katana пишет:
Ты заявил что можешь генерировать ключи Short V3 Level 10 без патча


Не можешь доказать на уровне аргументации и пытаешься придумать то, что я не говорил?


Jupiter пишет:
Чтобы ты мог сэкономить уйму времени, используй > Armadillo Key Tool <.


Тоже вполне понятный совет. Использовать инструменты позволяет экономить время.
У тебя и от Armadillo Key Tool бомбит?

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

Создано: 19 сентября 2018 19:08 New!
Цитата · Личное сообщение · #10

Katana пишет:
Ты заявил что можешь генерировать ключи Short V3 Level 10 без патча. Так можешь или нет?)

А почему бы и нет... задача, как показала практика, вполне реальная.
хттпс://forum.exetools.com/showthread.php?t=18358
вот только заняло это 5 месяцев, и куча народу
но ведь решили


Ранг: 582.8 (!)
Статус: Модератор
Research & Development

Создано: 19 сентября 2018 19:12 New!
Цитата · Личное сообщение · #11

UniSoft
Видимо, Katana хочет видеть только то, что он понимает.
И разглядеть ECDLP по твоей ссылке ему может быть тяжело ))

Цитата по твоей ссылке:
My total combined speed was about 600mill/sec and after 2^50 iterations I solved ECDLP for this curve/target.
 eXeL@B —› Вопросы новичков —› Изучение активатора

Оригинальный DVD-ROM: eXeL@B DVD !

Вы находитесь на форуме сайта EXELAB.RU
Проект ReactOS