Сейчас на форуме: ==DJ==[ZLO], Magister Yoda, Rio (+6 невидимых) |
![]() |
eXeL@B —› Основной форум —› есть такая прога - ShadowUser |
Посл.ответ | Сообщение |
|
Создано: 08 января 2005 02:23 · Личное сообщение · #1 Привет ! Всех с рождеством ! Так вот есть такая прога - ShadowUser, кстати довольно полезная прога лежит тут: www.shadowstor.com/ Я как порядочный скачал программу и не смотря на то, что она не очень известная даже нашел к ней лекарство... вот... Потом как-то перевел время на пару месяцев вперед, и программа отказалась работать. Понятное дело - недоломали. Решил сам этим заняться, кое-какой опыт есть, но в этом случае моего опыта явно не достаточно ![]() Итак что имеем: Программа состоит из 4 файлов: ShadowUser.exe suatshut.exe shadowapi.dll shadow.sys запускаю ShadowUser.exe и вижу окошко с кнопкой <Activate>, ищу место проверки кода активации почти нашел то что искал в файле shadowapi.dll выглядит это так: ... * Reference To: KERNEL32.DeviceIoControl, Ord:0083h :10001279 Call dword ptr [10003034] :1000127F test eax, eax :10001281 jne 100012AF ... Это обращение к драйверу shadow.sys, в этом месте ему передается имя и код активизации, а он решает чего с ними дальше делать и выдает результат да/нет. Беда в том, что я не знаю как дальше трассировать, в каком месте ставить бряк, какая функция драйвера вызывается после обращения к нему... Инфа команды "driver" в айсе что-то как-то мне не помогла. На всякий случай, вариант занопить jne не катит, нужно ломать на уровне драйвера. Прошу если у кого-то есть такой опыт помочь, программа очень нужная. ![]() |
|
Создано: 08 января 2005 14:50 · Личное сообщение · #2 Народ, почитав ваши статьи, я не верю, что здесь нету тех, кто ножет помочь с этой проблемой. Понимаю, я только что зарегился, как раз сейчас пробегала гадость под под названием SourceFormatX, осторожными надо быть. Но это не тот случай ! Cсылки на эту программу можно найти на www.securitylab.ru, www.nnm.ru, www.bestfilez.net. Но я и не прошу ее скачивать, хоть и рекомендую, просто подскажите плз куда мне дальше копать. ЗЫ: кстати под этой программкой из-за SourceFormatX винда бы не упала и без виртуальной машины, можно даже самые злые вири запускать, ни чего не случится ![]() ![]() |
|
Создано: 08 января 2005 14:59 · Личное сообщение · #3 |
|
Создано: 08 января 2005 15:31 · Личное сообщение · #4 На полном серьезе Принцип работы следующий. При активированном ShadowMode все изменения которые происходят в файловой системе записываются в свободные области и теряются при перезагрузке, можно снести нафиг любимые mp3 напр. перезагрузиться и они опять на месте ![]() ![]() ![]() ![]() |
|
Создано: 08 января 2005 15:35 · Личное сообщение · #5 |
|
Создано: 08 января 2005 16:20 · Личное сообщение · #6 заранее сори за флуд, но все равно ты ее может быть немного позже скачаешь ![]() ![]() |
|
Создано: 09 января 2005 00:09 · Личное сообщение · #7 |
|
Создано: 09 января 2005 03:12 · Личное сообщение · #8 |
|
Создано: 09 января 2005 03:30 · Личное сообщение · #9 |
|
Создано: 09 января 2005 04:41 · Личное сообщение · #10 WELL нет, только триал, в тех патчах, что я скачивал как я понимаю просто убиралось окошко с напоминанием, в триальный период программа работает полноценно gloom есть, но bpx getwindowtext (a, w) тебе ни чего не дадут, там как-то иначе серийник берется, хз как может хук вешают, я через w32dasm нашел. даешь комады: addr shadowuser bpx 10001279 и вываливаешься на проверку кода (он в стеке), можешь посмотреть что ты ввел так: db bpx ![]() |
|
Создано: 09 января 2005 04:44 · Личное сообщение · #11 |
|
Создано: 09 января 2005 05:36 · Личное сообщение · #12 |
|
Создано: 10 января 2005 06:48 · Личное сообщение · #13 |
|
Создано: 10 января 2005 10:58 · Поправил: assassin · Личное сообщение · #14 |
|
Создано: 10 января 2005 22:13 · Личное сообщение · #15 |
|
Создано: 11 января 2005 03:46 · Личное сообщение · #16 |
|
Создано: 11 января 2005 12:25 · Поправил: gl2 · Личное сообщение · #17 Ок, самое интересное находится в файле shadow.sys: PAGE:0001F396 call sub_1F11E ; Кодирование UserName PAGE:0001F39B mov esi, eax ; < - значение кодированного UserName PAGE:0001F39D lea eax, [ebp+var_C] ; < - Activation Code PAGE:0001F3A0 push eax PAGE:0001F3A1 call sub_1F30A ; Кодирование Activation Code PAGE:0001F3A6 cmp [ebp+var_C], esi ; Должно совпадать PAGE:0001F3A9 pop esi PAGE:0001F3AA jnz short loc_1F3C0 ; Наверное если занопить, то все будетДля кейгена предпологается длина UserName < 8 (Delphi): CodeBuf: array[1..$ff*4] of byte = ... procedure TfMain.Button1Click(Sender: TObject); var Res1: DWORD; i: integer; Name: string; begin Name:=Edit1.Text; i:=Length(Name); asm pushad mov eax, $ff mov esi, -1 mov ecx, [i] mov edx, Name @@10: movzx ebx, byte ptr [edx] mov edi, esi and edi, eax xor edi, ebx shr esi, 8 mov edi, dword ptr [CodeBuf+edi*4] xor esi, edi inc edx dec ecx jne @@10; mov eax, esi not eax mov [Res1], eax popad end; Edit3.Text:=GetCode(Res1); end; function TfMain.GetCode(Cach: DWORD): string; type TArr10 = array[1..10] of byte; const Order: TArr10 = (8, 9, 7, 6, 4, 5, 3, 2, 10, 1); CR: TArr10 = ($4f, $63, $01, $40, $89, $24, $d5, $b1, $d8, $b0); var tmp1: TArr10; tmp2: TArr10; acode: TArr10; i: integer; begin PDWORD(@tmp1[1])^:=Cach; for i:=5 to 10 do tmp1[i]:=Random($ff); for i:=1 to 10 do tmp2[Order[i]]:=tmp1[i]; for i:=1 to 10 do acode[i]:=tmp2[i] xor CR[i]; Result:=Result+IntToHex(acode[01], 2); Result:=Result+IntToHex(acode[02], 2); Result:=Result+'-'; Result:=Result+IntToHex(acode[03], 2); Result:=Result+IntToHex(acode[04], 2); Result:=Result+'-'; Result:=Result+IntToHex(acode[05], 2); Result:=Result+IntToHex(acode[06], 2); Result:=Result+'-'; Result:=Result+IntToHex(acode[07], 2); Result:=Result+IntToHex(acode[08], 2); Result:=Result+'-'; Result:=Result+IntToHex(acode[09], 2); Result:=Result+IntToHex(acode[10], 2);{} end;Массив CodeBuf см. по адресу 1B740, в shadow.sys обращение выглядит так: PAGE:0001F21E mov edi, dword_1B740[edi*4]Вообще, сам алгоритм шифрования довольно простой, плохо, что на разных машинах, разный ключ шифрования. Я все-таки попытаюсь сделать универсальный кейген ![]() |
|
Создано: 12 января 2005 01:15 · Личное сообщение · #18 |
|
Создано: 12 января 2005 02:40 · Личное сообщение · #19 |
|
Создано: 12 января 2005 02:54 · Личное сообщение · #20 мда... ![]() ну извините, обозвал как смог Nitrogen пишет: попробуй: Licensed to: Nitrogen Serial number: 0000000000000000000 Activation key: 1A27-4573-BAEC-3204-CBE5 не могу прямо сейчас проверить. Вообще-то там crc32table генерируется динамически, пока особо не вникал, но Activation key сгенеренный на одной машине не сработал для другой. ![]() |
|
Создано: 12 января 2005 02:56 · Личное сообщение · #21 |
|
Создано: 12 января 2005 03:13 · Личное сообщение · #22 |
|
Создано: 12 января 2005 03:35 · Личное сообщение · #23 |
|
Создано: 12 января 2005 04:41 · Личное сообщение · #24 |
|
Создано: 12 января 2005 06:01 · Личное сообщение · #25 |
|
Создано: 12 января 2005 07:12 · Личное сообщение · #26 |
|
Создано: 12 января 2005 07:42 · Личное сообщение · #27 |
|
Создано: 12 января 2005 08:05 · Личное сообщение · #28 |
|
Создано: 12 января 2005 08:16 · Личное сообщение · #29 |
![]() |
eXeL@B —› Основной форум —› есть такая прога - ShadowUser |