Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 12 ноября!


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

Регистрация WinRAR 3.0 - бесплатно!

Обсудить статью на форуме

Массу крэкерских инструментов, видеоуроков и статей вы сможете найти на видеокурсе от нашего сайта. Подробнее здесь.

Статью написал: Bad_guy
Статья создана: 24.09.02

Для тех, кто пришёл просто за крэком к WinRAR 3.0:
WinRAR 3.0 Full Rus с крэком - http://cracklab.narod.ru/dload/wrar300full.zip
Сам крэк для WinRAR 3.0 Full Rus - http://cracklab.narod.ru/dload/wrar3fp.zip

Наконец-то мои руки добежали по кнопкам до написания этой статьи, но идея кипела в моей голове уже долгое время, не давая мне есть, спать, ходить, сидеть, ну и так далее... неужели я успокоюсь после написания статьи, наверное НЕТ (идеи распирают голову вот-вот она лопнит, придёться экран вытирать... э-э-э, чего-то меня понесло, пора переходить к делу).

Одним прекрасным днём родилась идея обновить любимый архиватор ВинРАР, я зашёл на сайт rarsoft или rarlab (не помню как он тогда назывался) и, о чудо, увидел, что мне сейчас доступен WinRAR 3.00 beta 4, да ещё и русская версия, я получил вожделенные ~980Kb и, установив, заметил небезизвестное (через букву "ы") окошечко с 40 дневным предложением поюзать UNREGISTERED VERSION. Я не помню такого дня, чтоб я не воспользовался Winrar'ом хотя бы один раз и, естественно, наг окно через пару дней мне надоело и решил "Иванушка-дурачок" снять его НАВСЕГДА (ФОРЭВА - для тех, кто в танке).

Скажу сразу, что для осуществления взлома мне потребовался только отладчик SoftIce, но позже понадобился и шестнадцатиричный редактор (WinHEX) и Delphi, а ещё текстовый редактор Bred, чтобы писать эту статью.

Допустим, вы запустили WinRAR 3.0, увидели всё то же окошко и задумались какой же ставить брэйкпойнт? Я тоже когда-то над этим задумался и что-то придумал, что - сейчас уже выветрилось из головы... попробую вспомнить (засечём время).
Прошло 10 минут... напрочь забыл - начал врубаться по-новой.
Говоришь, 40 дней - ставим брэйк в SoftIce:
:bpx GetLocalTime
Говоришь - "незарегистрированная версия" в заголовке окна - получай
:bpx SetWindowTextA
Теперь, как сделает программист:
Сначала поставит "незарегистрированная версия" в заголовке окна, а потом узнает время - вряд ли, что подтверждается на практике.
Попробуем, насколько "солёненький" WinRAR нам попался - запускаем его.
004367B3 - здесь у нас GetLocalTime;
0043FA27 - а здесь SetWindowTextA;
Скорее всего между этими двумя адресами и будет вычисление "зарегистрированности" версии.
Сразу после 004367B3 идёт вызов какой-то процедуры, которая возвращает результат в AL в виде 0 или 1, а затем значение AL закидывается в некоторый адрес памяти. Поглядев внимательно внутрь этой процедуры, я заметил, что она начинает проверять файл RARReg.Key (я не сказал: у меня был легальный ключик для 2.9 версии, я его положил первым делом в папку с новым WinRAR 3.0), пока я смотрел процедуру я успел понять, что в принципе она должна как-то возвратить значение AL не 0, а 1, но я пошёл дальше.
AL закидывается в некоторый адрес памяти - я заменил значение AL перед этим и "отпустил" программу на выполнение, программа загрузилась как "незарегистрированная", но когда она прервалась по SetWindowTextA при создании НАГ-окна я посмотрел в тот адрес памяти, где должна была быть 1 и увидел там 0 и тут я решил поставить брэйкпойнт на память и посмотреть, что программа всё-таки делает с этой переменной ?
:bpm 48dd1c rw
За всё количество прерываний по этому брэйку, два раза пришлось сменить значение по этому адресу (48dd1c) с 0 на 1 (команда :eb - для тех, кто не знает) и увидел на экране зарегистрированную версию WinRAR 3.0 beta 4 Rus.
Посмотрим, где же в память записывается 0, в какой процедуре ? - а в той же, что и в первом случае, значит просто находим место в ней где сделаем, чтобы в AL ВСЕГДА возвращалось значение 1 и будем писать крэк для WinRAR 3.0 beta 4 Rus.

Как оказалось технология та же и для WinRAR 3.0 Full, но я думаю, что с легкостью по этому же принципу можно будет создать кряк и для WinRAR 3.1, 3.2 и может 3.3, ну а потом уж автор WinRAR (мультимиллионер супершароварщик Евгений Рошал или его наёмники) найдут в инете эту статейку и закроет лазейку, а мы постараемся найти другую !

Что-то у меня получилось не внятно как-то, ладно в таком случае дам я вам ещё исходники патчера для WinRAR 3.00 Full (между прочим для минимизации размера написал я его на Delphi без использования VCL, то есть на WinAPI):


 //--------------PATCHER.DPR----------------
 Program Patch;
 
 Uses windows,messages, shellapi;
 
 const
 ar  : array[1..6] of byte = ($e8,$bd,$07,$00,$00,$58);
 ar2 : array[1..6] of byte = ($b8,$01,$00,$00,$00,$90);
 var
 msg: tmsg;
 win: hwnd;
 bol: boolean;
 i,b: byte;
   f: file of byte;
 
 {$R API.RES}
 
 Procedure CreateReg;
 var f1:textfile; str:lptstr;
 begin
 Assignfile(f1,'RarReg.b_g');
 rewrite(f1);
 Writeln(f1, 'RAR registration data');
 Writeln(f1, 'Bad_guy');
 Writeln(f1, 'Advanced GOD Pro version');
 Writeln(f1, 'UID=fd402b81950501fbd1a1');
 Writeln(f1, '6412212250d1a118e384ae1996cdea4f90d100b3dcd53ea5fa77c2');
 Writeln(f1, 'a2a9458b4636334c81d46035c6ab9048e2c5c62f0238f183d28519');
 Writeln(f1, 'aa87488bf38f5b634cf28190bdf438ac593b1857cdb55a7fcb0eb0');
 Writeln(f1, 'c3e4c2736090b3dfa45384e18e9de05c5860c0cbfb4a4cbbe9549e');
 Writeln(f1, 'b4ca3bc23f80d0cde2d91ba211839f05b0a5de11631072687e814d');
 Writeln(f1, 'd0fa0ace9439b90564d3ba7de5413d0824487a50f64e6ea360c858');
 Writeln(f1, 'ee31cdacb655824a7a443ec0da598dfb6e79f305d8bf4260523534');
 closefile(f1);
 end;
 
 Function SettingsDlgProc(Window : hWnd; Msg,WParam,LParam : Integer): Integer; StdCall;
 Var S : String;
 Begin
 Result := 0;
 Case Msg of
 wm_InitDialog : Begin
 Result := 0;
 End;
 wm_Command : Begin
 case LoWord(WParam) of
 50:
 begin
 AssignFile(f,'winrar.exe');
 {$i-}
 Reset(f);
 {$i+}
 If IoResult <> 0 then
 Messagebox(Win,'An error ocured while opening file','Error',MB_OK)
 else begin
 If Filesize(f) = 752640 then begin
 Seek(f,$B26A);
 bol := true;
 for i:=1 to 6 do
 begin
 Read(f,b);
 If b <> ar[i] then bol := false;
 end;
 if bol then begin
 Seek(f,$B26A);
 for i:=1 to 6 do
 Write(f,ar2[i]);
 Closefile(f);
 CreateReg;
 Messagebox(win,'Patched succesfully','Congratulation',MB_OK);
 end
 else
 Messagebox(win,'An error ocured while patching','Error',MB_OK);
 end
 else
 Messagebox(win,'Wrong file size','Error',MB_OK);
 end;
 end;
 51: DestroyWindow(Win);
 53: Messagebox(Win,PChar('Автор крэка: Bad_guy'+#13#10+'Выпущен:
 25.07.02'+#13#10+'Ограничения: вы не сможете использовать "электронную
 подпись"'+#13#10+'Адрес программы:
 http://cracklab.narod.ru/dload/wrar300full.zip'),'About',MB_OK);
 54:
 ShellExecute(win,'open',PChar('http://cracklab.narod.ru/'),nil,nil,SW_MAXIMIZE);
 end;
 end;
 wm_Close   : DestroyWindow(Win);
 wm_Destroy : PostQuitMessage(0);
 else Result := 0;
 end;
 end;
 
 Procedure RunSettings;
 Var Result : Integer;
 Begin
 Win := CreateDialog(hInstance,PCHar(101),0,@SettingsDlgProc);
 Showwindow(Win,SW_SHOW);
 Updatewindow(Win);
 End;
 
 
 begin
 RunSettings;
 While GetMessage(Msg,0,0,0) do
 begin
 TranslateMessage(Msg);
 DispatchMessage(Msg);
 end;
 end.
 //---------END OF PATCHER.DPR-------------
 
 //-------------API.RC---------------------
 101 DIALOG 0, 0, 266, 95
 STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_POPUPWINDOW |
 WS_DLGFRAME
 CAPTION "WinRAR 3.00 Rus Patch by Bad_guy"
 FONT 8, "MS Sans Serif"
 {
 DEFPUSHBUTTON "Patch", 50, 13, 73, 59, 14
 PUSHBUTTON "Cancel", 51, 188, 73, 65, 14
 CTEXT "[-== Bad_guy ==-] \n Remove 40-day limit and NAG-screen \n i'm a genius,
 you are a shit", 100, 13, 42, 240, 27, SS_SUNKEN
 CONTROL 101, -1, "STATIC", SS_BITMAP | SS_CENTERIMAGE | SS_REALSIZEIMAGE |
 SS_SUNKEN, 13, 8, 240, 30
 PUSHBUTTON "About", 53, 75, 73, 50, 14
 PUSHBUTTON "Our Website", 54, 130, 73, 54, 14
 }
 //-----------END OF API.RC---------------
 

Удачи вам в вашей деятельности, чем бы вы ни занимались, Bad_guy.



Обсуждение статьи: Регистрация WinRAR 3.0 - бесплатно! >>>


Комментарии к статье: Регистрация WinRAR 3.0 - бесплатно!

А2К 03.07.2004 17:36:46
без комментариев....
---
Begemot 30.07.2004 02:56:13
А по-моему познавательно!
---
KEZ 16.02.2005 18:05:49
без коментариев
---
Strycker 20.04.2005 11:13:25
На пятерку!!!
---
Serega 17.06.2005 00:27:59
Круто
---
Kwant 07.01.2009 23:35:33
Супер
---
vxcoder 15.03.2010 14:21:23
отличная статья
---

Материалы находятся на сайте https://exelab.ru



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


Вы находитесь на EXELAB.rU
Проект ReactOS