Security of Computer Systems
Главная | Articles | Регистрация | Вход
 
Четверг, 2024-03-28, 8:17 PM
Приветствую Вас Гость | RSS
Menu
Categories
Крякинг [3]
Кодинг [7]
Главная » Статьи » Кодинг » Крякинг

Халявный WinRar за 2 минуты
В этой статье рассказывается о взломе всем известной программы WinRar. Данная информация предоставлена исключительно для ознакомления!

Для работы, Вам потребуются программы:


  • SoftICE
  • W32dasm (для того, чтобы узнать Offset адрес)
  • WinHEX (шестнадцатеричный редактор)
  • Delphi (это если вы будете писать само лекарство)

WinRar по истечению 40 дневного пробного периода включает окошко, в котором он просит денег. Дабы выключить это окошко нужно либо заплатить, либо зарегистрировать его вручную (взломать).

Конечно, был выбран второй путь. Крякнуть сам WinRar не получалось и тогда было решено: нужно искать не как зарегистрировать WinRar, а как убрать всплывающее окошко.

Запускаем WinRar Р. И что видим? Появляется всплывающее окошко, но не сразу, а через некоторое время. Это значит, что заводиться таймер, по которому выполняется процедура, показывающая это самое окошко.

Дабы избавится от него, нужно просто «убить» этот таймер. Но чтобы его «убить» нужно, знать его адрес, а потом просто чуть переписать (на место команды CALL SetTimer записать необходимое (5 в нашем случае) кол-во байт 90h, 90h это команда nop, она не делает ничего).

Ставим в SoftICE брекпоинт на функцию SetTimer. Сделать это можно так:

bpx SetTimer
Теперь запускаем Rar. У Вас должен выскочить SoftICE. Если выскочил, жмите F5 пока не окажитесь в WinRar. Как только вы прервётесь, в RAR указатель выполняемой строчки будет тут:

0043FAA0 MOV EAX,004AF1C4

А выше то, что нам нужно:

0043FA93 E8C0E90400 CALL [User32!SetTimer]

Теперь убираем бряк (bc 0) и закрываем SoftICe. Значит так: у нас есть код команды CALL SetTimer, а это значит, что осталось узнать Offset код (для правки в WinHEX'e) и переписать байты

E8 C0 E9 04 00 на 90 90 90 90 90

Открываем W32dasm, а в нём открываем WinRAR.exe. Далее жмём F12 и вводим 0043FA93. Жмём ОК. Теперь мы оказались на той же самой строчке, что и в SoftICE, но уже не в запущенном файле, а в дизассемблированном.

Смотрим в строку состояния и запоминаем Offset адрес этой строчки (0003F09Bh). Теперь у нас есть Offset адрес команды вызова таймера и байты, которые нужно подправить. Открываем WinRar.exe в WinHEX'e, ищем адрес 0003F090 в колонке слева.

После то как нашли, ищем букву B сверху. Как вы уже, наверное, успели заметить байты от 0003F09B до 0003F09F соответствуют байтам E8 C0 E9 04 00. А это значит, что их все нужно поменять на 90. Меняем. После чего сохраняем файл WinRAR.exe и запускаем.

Если нет надоедливого всплывающего окошка, значит, вы всё сделали правильно и WinRAR уже не просит денег при каждом запуске, а это значит, что мы добились то, чего хотели.

Патч на Дельфи для WinRar.

Он не обременен проверкой те ли это байты, но проверяет существование файла в папке с собой.

program Crack;
{$APPTYPE CONSOLE}
uses
Classes,
Windows,
SysUtils;
var
f:TFileStream;
s:byte;
begin
Writeln('Crack for WinRAR 3.xx by Angel');
Write('Press Enter to contine...');
Readln;
if not(FileExists('WinRAR.exe')) then
begin
Write('File not Found!!!');
ReadLn;
Halt;
end
else
begin
s:=$90;
f:=TFileStream.Create('WinRAR.exe',fmOpenWrite);
f.Seek($3F09B,soFromBeginning);
f.Write(s,sizeof(s));
f.Seek($3F09C,soFromBeginning);
f.Write(s,sizeof(s));
f.Seek($3F09D,soFromBeginning);
f.Write(s,sizeof(s));
f.Seek($3F09E,soFromBeginning);
f.Write(s,sizeof(s));
f.Seek($3F09F,soFromBeginning);
f.Write(s,sizeof(s));
f.Free;
end;
Write('File "WinRAR.exe" Cracked!!!');
ReadLn;
end.

Категория: Крякинг | Добавил: Rqas (2006-03-18) | Автор: Rqas
Просмотров: 7873 | Комментарии: 2 | Рейтинг: 5.0/1 |
Всего комментариев: 0
idth="100%" cellspacing="1" cellpadding="2" class="commTable">
Имя *:
Email:
Код *:
Login Form
Логин:
Пароль:
@Belvit.com

Category Search
Polls
Оцените мой сайт
Всего ответов: 790
Counter
Онлайн всего: 1
Гостей: 1
Пользователей: 0

107.23.157.16


Belvit.com © 2024