day & night

 
Аськины игры на халяву..., Хак! Ломать не строить - это уметь надо
Дата публикации:
#1
PRYANIK



Made In Tula
[SoftoRooMTeaM] Group Icon

Группа: Администраторы
Сообщений: 31.297
Регистрация: 22.02.2004
Пользователь №: 7


Респектов: 6419
-----XXXXX




Многие, наверно, пользуются аськой. Конечно есть и другие клиенты для этой службы, кому они нравятся, кому нет - это их дело. Но вот о выходе новой легкой версии Аси наверно слышали уже все. Это 4-я версия обладает своими особенностями, которые некоторым могут показаться лишними, а могут прийтись совсем кстати. Одной из таких изюминок является центр развлечений Xtraz. Благодаря этой фиче можно загружать себе на компьютер маленькие игрушки, которые очень увлекают. Но они обрезаны до невозможности и подсевший на гейму юзер Аси кликает по манящей надписи внизу окошка "Download full version". Конечно все прекрасно скачивается и инсталлируется, но при долгожданном двойном щелчке по красивому ярлычку на рабочем столе появляется то, чего геймер абсолютно не ждал, особенно наш отечественный геймер. Игруха триальная, и мало того она работать собирается всего час, и еще что потом выяснилось у нее попятиминутная тарификация. То есть ты поиграл в нее 3 минуты, а у тебя отняли пять. Это мне совсем не понравилось, тем более что стоила она аж 19$. И я начал ломать защиту от Oberon Media.

Я скачал игрушку под названием 5 Spots. Там надо находить пять отличий в двух разных картинках. На ее примере я покажу как можно заставить абсолютно все игры от этой компании работать на вас вечно, так как защита у них всех я думаю однотипная.

Итак, после установки, я как и все юзеры увидел эту не очень радующую информацию и начал думать где могут храниться данные о проработанном времени. Конечно, первая мысль пришедшая мне в голову это реестр. На мое удивление в софте юзера был ключ Oberon media, а в нем ключ под какими-то циферками и там оказались значения оставшегося для игры времени, сколько всего можно играть и еще кое-какая информация. Я быстро изменил значение параметра AvlUsage на 60 и запустил игру. Хрен там: все так и осталось. Тогда я изменил общее доступное время с часа на 2 и подправил опять AvlUsage. Как я и ожидал, ничего хорошего не произошло. Тогда я еще по манипулировал с различными значениями в реестре, запустил игру не из launch.exe (предлагает купить прогу, зарегать и показывает время: как на рисунке), а из экзешника самой геймы, в нашем случае 5_spots.exe. Успехов это никаких не принесло. Копаться во внутренностях этой геморной игрушке мне не хотелось и я решил посмотреть что она делает в реестре и к каким файлам обращается. Для этого я запустил две специальные тузлы о которых ты должен был хоть раз слышать. Это regmon и filemon. Первая мониторит обращения к реестру, а вторая, соответственно, к файлам. При запуске список файлов побежал как бешенный, а реестровых записей вообще ушел в бесконечность. Я принялся анализировать все это. В файлах я ничего подозрительного не нашел (как оказалось позже хреновый из меня Шерлок Хоумс), а в реестре я увидел пугающие обращение к версии винды и БИОСа. Тут у меня совсем руки опустились, я в последней надежде переустановил игру, но время так и осталось неизменным.

Твой софтовый форум

Я решил на втором своей машине установить какой нить анинсталлер и сносить ее каждый раз при истечении срока под чистую... И тут меня осенило (совсем старый стал, с самого начала не мог догадаться), что если это прокатит значит можно найти в чем там заковырка, благо логи все анинсталлеры сохраняют. Под рукой у меня оказалась только WinTools.Net. Там помимо всего прочего была тулза под названием Clean un. Поставив ее на машину и сделав снимок харда и реестра я запустил инстал игры. После этого я опять сделал снимок и ВинТулз выдала мне результат: двадцать с чем-то изменений на харде, и почти столько же в реестре. Я начал с дисков. Ничего подозрительного на первый взгляд не оказалось. Все кидалось программ филес и был один темповый файл в профиле пользователя. Но название мне его показалось подозрительным (8a44841a.tmp). Я подумал, что может при инсталляции надо, но все-таки залез в temp. Файл этот там спокойно себе лежал. Мне это показалось странным: обычно проги чистят за собой. Открыв в текстовом редакторе я увидел только каракули. Запустил игру, потом вышел из нее и посмотрел на этот файл. Он изменился и при этом дату он тоже изменил но на совсем другую нежели была в момент запуска. Все понятно - это хитрый план буржуев, чтоб держать под контролем время работы программы, а дату они для маскировки неправильную делали. Тут меня черт дернул залезть в install.log, лежавший в папке с геймой. И хорошо, что дернул: в логе не было и упоминания о темповом файле. Я за компанию осмотрел и секцию инстального лога про реестр и сравнил его со снимком анинсталлера. И опять обнаружил целых три несоответствия. В снимке были эти три ключа, а в логе их не было:

Code
HKEY_LOCAL_MACHINE \SOFTWARE\ Licenses\{IF9472018DA10E0B8}
HKEY_LOCAL_MACHINE \SOFTWARE\ Licenses\{0F9472018DA10E0B8}
HKEY_LOCAL_MACHINE \SOFTWARE\ Classes\CLSID\{FFBDEE52-ACBB-BF9B-8EA8 -3563F6258696}\ AkwGrsPZdG


Точнее их было четыре (надеюсь ты знаешь почему). Последний ключ вообще был с надписью на груди "Убейте меня, я с вас бабло снимаю". Придерживаясь логики военных людей - сначала уничтожать, а потом думать, я снес всю эту фигню нахрен. И о чудо, когда я запустил игру было опять целых 60 минут. Но после нескольких мгновений геймерского счастья обнаружилось, что время опять стало убывать, а записи в реестре и файл снова появились на своем месте. Но это ведь для нас не проблема. Пишем прогу, которая рубит это все, а потом запускает игруху. У меня были опасения, что странные имена файла и ссылок генерируются на основе тех обращение к реестру о которых я говорил в начале (версии винды и биоса). Но после теста на трех разных машинах с разными версиями окон это предположение опроверглось. Для написания проги можно использовать любой язык умеющий работать с файлами и реестром. Я юзал Делфи. Для самых ленивых привожу код, но без комментариев, там и так все предельно ясно.

Code
program Crack;

uses
Windows,
Classes,
SysUtils,
ShellAPI,
Registry;

const TmpDirLen=1024;

var Reg: TRegistry;
TempDir: array [0..TmpDirLen] of char;
PathToFile: String;
begin
Reg:=TRegistry.Create;
Reg.RootKey:=HKEY_LOCAL_MACHINE;
if Reg.OpenKey('\SOFTWARE\Licenses\',false) then
if Reg.DeleteValue('{IF9472018DA10E0B8}') then
begin
Reg.DeleteValue('{0F9472018DA10E0B8}');
Reg.CloseKey;
Reg.RootKey:=HKEY_LOCAL_MACHINE;
Reg.OpenKey('\SOFTWARE\Classes\CLSID\ {FFBDEE52-ACBB-BF9B-8EA8-3563F6258696}\ ',false);
Reg.DeleteValue('AkwGrsPZdG');
end
else MessageBox(0, 'Can not edit registry or olredy correct!', 'ERROR',MB_ICONERROR)
else MessageBox(0, 'Can not edit registry!','ERROR', MB_ICONERROR);
Reg.Destroy;
SetString(PathToFile,TempDir, GetTempPath(TmpDirLen-1,TempDir));
if not DeleteFile(PathToFile+'8a44841a.tmp') then
MessageBox(0,'Can not delet file in the temp directory or olredy deleted!','ERROR',MB_ICONERROR);
ShellExecute(0,'open',PChar('launch.exe'),nil,nil,SW_SHOWNORMAL);
end.


Источник: Хакер


--------------------
Не работает ссылка? Пишите в теме, обновим :)! Link not working? Let us know in the comments, we'll fix it!


Трудно найти слова, когда действительно есть что сказать. Э.М. Ремарк
User is offline
Go topGo end

Topic Options
Сейчас: 20.04.2024 - 14:33
Мобильная версия | Lite версия