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

 eXeL@B —› Крэки, обсуждения —› Подскажите, в чем прикол?
Посл.ответ Сообщение

Ранг: 284.8 (наставник), 6thx
Активность: 0.150
Статус: Участник

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

Вот значит какая история... Вкратце:
Нарыл я тут недавно скринсевер, называется SeaStorm 3D Screensaver (сам скринсевер впринципе
отстой) взял чисто от делать нечего, решил просмотреть за что хотят 14.95$, ну так вот: установил,
значится запакован он ASProtect 1.23 RC4 - 1.3.08.24 -> Alexey Solodovnikov, но это ничего страшного - распаковал ручками без особых проблем (у Stripper 2.07 как-то коряво получилось)
После исследования нарыл функцию:

00406DE0 /$ 8B5424 04 MOV EDX,DWORD PTR SS:[ESP+4]
00406DE4 |. 55 PUSH EBP
00406DE5 |. 57 PUSH EDI
00406DE6 |. 8BFA MOV EDI,EDX
00406DE8 |. 83C9 FF OR ECX,FFFFFFFF
00406DEB |. 33C0 XOR EAX,EAX
00406DED |. F2:AE REPNE SCAS BYTE PTR ES:[EDI] ; <- серийник
00406DEF |. 8B4424 14 MOV EAX,DWORD PTR SS:[ESP+14]
00406DF3 |. F7D1 NOT ECX
00406DF5 |. 49 DEC ECX ; <- длина серийника
00406DF6 |. 8BE9 MOV EBP,ECX
00406DF8 |. D1ED SHR EBP,1 ; длина/2
00406DFA |. 3BE8 CMP EBP,EAX ; <- сравниваем с 256
00406DFC |. 7E 02 JLE SHORT unpacked.00406E00
00406DFE |. 8BE8 MOV EBP,EAX
00406E00 |> 33C0 XOR EAX,EAX
00406E02 |. 85ED TEST EBP,EBP
00406E04 |. 7E 65 JLE SHORT unpacked.00406E6B
00406E06 |. 53 PUSH EBX
00406E07 |. 56 PUSH ESI
00406E08 |. 8B7424 18 MOV ESI,DWORD PTR SS:[ESP+18]
00406E0C |. 8BFA MOV EDI,EDX
00406E0E |> C60430 00 /MOV BYTE PTR DS:[EAX+ESI],0
00406E12 |. 33D2 |XOR EDX,EDX
00406E14 |> 8B0D 9C844700 |/MOV ECX,DWORD PTR DS:[47849C] ASCII "ABCDFGHKMNPRSTXZ"
00406E1A |. 8A1F ||MOV BL,BYTE PTR DS:[EDI]
00406E1C |. 8A0C11 ||MOV CL,BYTE PTR DS:[ECX+EDX]
00406E1F |. 3ACB ||CMP CL,BL
00406E21 |. 75 03 ||JNZ SHORT unpacked.00406E26
00406E23 |. 081430 ||OR BYTE PTR DS:[EAX+ESI],DL
00406E26 |> 42 ||INC EDX
00406E27 |. 83FA 10 ||CMP EDX,10
00406E2A |.^7C E8 |JL SHORT unpacked.00406E14
00406E2C |. 33D2 |XOR EDX,EDX
00406E2E |> 8B0D 9C844700 |/MOV ECX,DWORD PTR DS:[47849C]
00406E34 |. 8A5F 01 ||MOV BL,BYTE PTR DS:[EDI+1]
00406E37 |. 8A0C11 ||MOV CL,BYTE PTR DS:[ECX+EDX]
00406E3A |. 3ACB ||CMP CL,BL
00406E3C |. 75 0D ||JNZ SHORT unpacked.00406E4B
00406E3E |. 8A1C30 ||MOV BL,BYTE PTR DS:[EAX+ESI]
00406E41 |. 8ACA ||MOV CL,DL
00406E43 |. C0E1 04 ||SHL CL,4
00406E46 |. 0AD9 ||OR BL,CL
00406E48 |. 881C30 ||MOV BYTE PTR DS:[EAX+ESI],BL
00406E4B |> 42 ||INC EDX
00406E4C |. 83FA 10 ||CMP EDX,10
00406E4F |.^7C DD |JL SHORT unpacked.00406E2E
00406E51 |. 40 |INC EAX
00406E52 |. 83C7 02 |ADD EDI,2
00406E55 |. 3BC5 |CMP EAX,EBP
00406E57 |.^7C B5 JL SHORT unpacked.00406E0E
00406E59 |. 8B5424 20 MOV EDX,DWORD PTR SS:[ESP+20]
00406E5D |. 5E POP ESI
00406E5E |. 5B POP EBX
00406E5F |. 5F POP EDI
00406E60 |. 892A MOV DWORD PTR DS:[EDX],EBP
00406E62 |. B8 01000000 MOV EAX,1
00406E67 |. 5D POP EBP
00406E68 |. C2 1000 RETN 10
00406E6B |> 8B4424 18 MOV EAX,DWORD PTR SS:[ESP+18]
00406E6F |. 5F POP EDI
00406E70 |. 8928 MOV DWORD PTR DS:[EAX],EBP
00406E72 |. B8 01000000 MOV EAX,1
00406E77 |. 5D POP EBP
00406E78 . C2 1000 RETN 10

После процедуры проверка что EBP = 2, то есть длина серийника должна быть 4 или 5 символов - эт очень странно!
Потом сравнение результата (*00406918*) WORD PTR DS:[EAX+ESI] с 3F2B, если совпали то зарегины. Ну эт тоже не беда... Переписал на С++, забадяжил маленький брутфорс из символов
этого массива "ABCDFGHKMNPRSTXZ", и секунд за 5 перебора получил серийник!
Имя вроде в генерации нигде не учавствует.

name: RSI
serial: RCZD

Значит ввел я его мне написали, мол все круто мы зарегины...
Вот теперь самое интересное, перезапустил я его - исчез MessageBox с предупреждением, в About пешет Registered to: RSI вроде все круто, НО когда запускаешь заставку через 30 секунд появляется летающий наг с просьбой зарегистрироваться...

Как не искал - я не смог найти откуда он вызывается(юзает DirectX), а самое главное ПОЧЕМУ????

Поэтому, мож если кто сталкивался с подобной шнягой или кого заинтересовало, то просветите!

УЖ очень ИНТЕРЕСНО.... ;)

P.S. Кста смотрел другие продукты этой фирмы и заметил что процедура генерации
таже, только отличается строка "ABCDFGHKMNPRSTXZ", и число с которым сравниваем.

Вот ссылки(вроде для работы хватает одного экзешника):

Распакованный экзешник(с исходниками брутфорса): hxxp://slil.ru/23370796 (650Kb)
(чтоб запускалась заставка параметр "s" или переименовать в *.scr)

Сам сайт скринсевера: hxxp://www.digimindsoft.com/seastorm3d.exe (800Kb)



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

Создано: 08 ноября 2006 00:32
· Личное сообщение · #2

Посмотри все функции, которые определяют размер Экзешника, FindFirst, FindNext, GetFileSize, GetFileSizeEx, и некоторые другие. Посмотри еще CreateFileA (W), может CRC проверяет. Скорее всего прога просто определила, что ее распаковали. Попробуй проделать это на запакованном файле. Автор мог проявить оригинальность, и куда-нить флажок в реестрфайл сунуть, что типа распаковали.



Ранг: 284.8 (наставник), 6thx
Активность: 0.150
Статус: Участник

Создано: 08 ноября 2006 00:47
· Личное сообщение · #3

fix200
Понимаешь я распаковал экзешник чтобы легче было исследовать - потом когда подобрал код я уже тестил на оригинале! так вот запакованный экзешник все принял - и тоже самое, поэтому это не crc - там какая-то хитрая проверка, наверное я нашел только часть серийника




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 08 ноября 2006 00:52
· Личное сообщение · #4

HW breakpoint на буфер с серийником

-----
Yann Tiersen best and do not fuck





Ранг: 500.6 (!), 7thx
Активность: 0.260
Статус: Участник

Создано: 08 ноября 2006 00:56
· Личное сообщение · #5

RSI

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




Ранг: 124.7 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 08 ноября 2006 01:12
· Личное сообщение · #6

NIKOLA
ты уверен? мне кажется, что просто такие образом мы нашли первую часть серийника



Ранг: 284.8 (наставник), 6thx
Активность: 0.150
Статус: Участник

Создано: 08 ноября 2006 01:12
· Личное сообщение · #7

NIKOLA
Спасиб! может вспомнишь точное название темы, а то искать замучаюсь...




Ранг: 500.6 (!), 7thx
Активность: 0.260
Статус: Участник

Создано: 08 ноября 2006 01:17 · Поправил: NIKOLA
· Личное сообщение · #8

RSI пишет:
может вспомнишь точное название темы


Попробуй по названию скрина.

//add
нашёл: http://exelab.ru/f/action=vthread&topic=735&forum=1&page=- 1



Ранг: 284.8 (наставник), 6thx
Активность: 0.150
Статус: Участник

Создано: 08 ноября 2006 01:46
· Личное сообщение · #9

NIKOLA
Еще раз спасиб! Хрень какая-то ну не может быть чтоб наг независел от серийника, ладно буду пробовать копать в другом направлении...


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