книги хакеры / журнал хакер / 034_Optimized
.pdf
|
|
|
|
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 |
|||
|
|
|
|
to |
BUY |
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
||
w Click |
|
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
|||
|
|
|
|
-x cha |
|
|
|
|
У НАС СВЫШЕ 1000 ИГР |
|
|
|
|
||
$21.99 |
$29.99 |
$19.99 |
$79.99 |
$29.99 |
$39.99 |
$62.99 |
Emperor: Battle for Dune |
Unreal Gold |
Black and White |
Anarchy Online |
Worms World Party |
Real Myst 3D |
Quake III Arena |
|
|
(ðóñ. äîê) |
|
|
|
|
$79.99 |
$19.99 |
$18.99 |
$19.99 |
$37.99 |
$21.99 |
$29.99 |
|
|
Microsoft Train Simulator |
Ultime Online: Third Dawn |
Unreal Tournament |
Z: Стальные Парни |
UIO: Game Time 90 äíåé |
Diablo II Expansion Set: |
Startopia |
|
||||||
|
|
|
|
|
|
|
|
|
|
|
Lord of Destruction |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|
|||
|
|
X |
|
|
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
|
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
|
P |
|
|
|
|
|
|
|
|
i |
|
|
|
D |
|
|
<Page 070> |
|
||||||||
|
|
|
|
|
|
|
|
r |
|
|
||
|
|
|
|
|
|
NOW! |
o |
|
|
|||
|
|
|
|
to |
BUY |
|
|
Взлом |
||||
|
|
|
|
|
|
|
|
|
||||
w Click |
|
|
|
|
|
|
||||||
|
|
|
|
|
|
m |
||||||
w |
|
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
|
|
. |
|
|
|
|
|
.c |
|
|
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
|
|
df |
|
|
n |
e |
|
|
|
||
|
|
|
|
-xcha |
|
|
|
|
|
|
DVD --> DivX
Терехов Михаил (stranger@real.xakep.ru) Zелененко Maxx (maxx@real.xakep.ru)
симости от того, сколько дорожек содержит поток. Когда определился, вводи ту строку с уже определенной цифрой и иди снова займись делом. Но этот процесс займет около часа. Когда он будет закончен, у тебя появится аудиофайл.
Кодинг
Delphi. Создание и использование DLL
Horrific (smirnandr@mail.ru) www.x-c-r.com
< Folder7 >
Шаг 5. Объединение видео и аудио
Для объединения воспользуемся программой VirtualDub. Сначала надо загрузить видеофайл. Для этого надо в меню File выбрать Open Video file, а там уже, найдя файл с видеоданными, открыть его. Теперь идем в меню Video и там ставим кружочек напротив Direct Stream Copy. Это надо для того, чтобы в процессе объединения никакие манипуляции с видео не производились. С видео покончено навсегда. Теперь займемся аудио. Для этого в меню Audio выбираем пункт WAV Audio и открываем аудиофайл, которые некоторое время назад мы создали. Теперь надо поставить в этом же меню Audio кружок напротив Full Processing Mode. Далее, чтобы как-то уменьшить этот wav'вский файл в размерах, нажимаем все в том же меню Compression. Здесь наиболее подходящим для нас будет формат MPEG Layer-3. Битрейт и ча- стоту выбирай по своему вкусу. По этому поводу уже пару строк написано. После этого останется только в меню File выбрать Save AVI и обозвать как-нибудь будущий файл. Жмешь ОК, и процесс пошел.
Аллилуйя!
В конце всего этого ты получишь avi-файл с полноценным фильмом, который можно запустить и смотреть. Обычно получается так, что в итоге фильм занимает около 650 мегов. Так что можно записать себе сидюк и больше не париться по поводу места на диске. Желаю приятного просмотра.
< Взлом1 >19/10\01
|
|
|
hang |
e |
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
X |
|
|
|
|
|
|||
- |
|
|
|
|
|
d |
|
||
F |
|
|
|
|
|
|
t |
|
|
ХАКЕР\¹34\Октябрь\2001P |
|
|
|
|
|
i |
|
||
D |
|
|
|
|
|
|
|
r |
|
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
BUY |
|
|
|||
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
|||
|
|
|
|
|
|
||||
w |
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
. |
|
|
|
|
|
.c |
|
||
|
p |
|
|
|
|
g |
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
-x cha |
|
|
|
|
70 Ньюсы 1 Феррум 2 PC_Zone 3 X-Стиль 4 Взлом
|
|
|
|
|
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 |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
Horrificъ ака А. Фленовъ
|
|
|
|
|
|
|
|
|
|
HI |
|
|
|
||
|
|
|
|
|
|
|
LP |
|
|
|
|
|
|||
|
|
|
DE |
|
|
|
|
|
ëè, |
|
|
||||
|
|
|
|
|
|
|
|
|
|
åì |
ïàðî |
|
|
||
|
|
|
|
|
|
ðèâà |
|
|
|
|
|
||||
|
|
|
ìàò |
|
|
|
|
|
|
|
|
|
|||
|
Ïîäñ |
|
|
|
|
|
|
|
|
|
|
è |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
÷êàì |
|
|
|
|
|
|
|
|
|
|
|
|
åçäî |
|
|
|||
|
|
|
|
|
|
|
|
|
ä çâ |
|
|
|
|
|
|
|
|
|
|
|
ûå ïî |
|
|
|
|
|
|
||||
|
|
òàíí |
|
|
|
|
|
|
|
|
|
|
|||
|
ñïðÿ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
om |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-c-r.c |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
w.x |
|
|
|
|
|
|
|
|
|
|
|
|
l.ru) |
ww |
|
|
||
|
|
|
|
|
|
|
|
mai |
|
|
|
|
|
||
|
|
|
|
ndr@ |
|
|
|
|
|
|
|
||||
|
irna |
|
|
|
|
|
|
|
|
|
|
|
|||
ific |
(sm |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Horr |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
лагодаря твоим просьбам и запросам |
èç HackFaq ìíå ïðè- |
|||||||||||
|
|
|
. Ñ |
|||||||||
ходится отходить от плана, согласованного |
|
с главредом |
||||||||||
одной стороны, ты толкаешь меня под |
окровавленный кро- |
|||||||||||
|
|
- |
||||||||||
Áâüþ |
|
. С другой стороны, ты мне ус |
||||||||||
авторов Х нож главреда |
|
|
|
|
|
|
|
- |
||||
|
|
|
|
|
|
|
|
|
||||
ложняешь жизнь по самые "не хочу". В |
любом случае, ничего хоро |
|||||||||||
|
|
SINtez-а появится моя |
||||||||||
шего. Если так пойдет и дальше, то на ноже |
||||||||||||
|
|
|
|
|
||||||||
|
|
. И следующий репортаж о кодинге мне придется вес- |
||||||||||
свежая кровь |
. |
Сегодня |
ìíå |
приходится кор- |
||||||||
ти уже из морга. Но что поделаешь |
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
- |
|
Ä |
ля этого примера я написал DLL файл, |
который будет сейчас рас |
||||||||||
|
|
. Ничего особо визуального мы сего- |
||||||||||
|
писан перед твоими глазами |
|
|
|
|
|
|
больше. Кстати, я |
||||
|
дня делать не будем. Только кодинг и ничего |
|||||||||||
|
|
теперь будут пи- |
||||||||||
|
уже перешел на Delphi 6, так что все исходники |
|||||||||||
|
|
|||||||||||
саться в нем. Если ты до сих пор застрял |
в Delphi 5, то бегом на рынок за |
|||||||||||
|
|
|
|
|
|
|
|
|||||
свеженьким диском. |
|
|
|
|
|
|
|
|
|
|
Рисунок 1. Создание новой библиотеки |
DLL |
|
||
|
|
|
|||
|
. Íî |
не тот, который использовали |
äî ýòî- |
||
Для начала создадим новый проект |
|
->Other ... |
|||
го, а проект |
. Для этого выбирай меню File->New |
|
|||
DLL библиотеки |
|
|
|
||
(äëÿ Delphi 5 |
. Перед тобой откроется окно, как на ри |
||||
это просто File->New) |
и дважды кликни по нему. Delphi со- |
||||
сунке 1. Найди здесь пункт DLL Wizard |
|||||
|
|
|
|
|
|
|
|
. В этом номере |
||
ректировать свой план и выполнять |
твои просьбы |
. |
|||||
обе статьи кодинга построены по самым |
многочисленным |
просьбам |
|||||
вопрос из |
|||||||
Эта статья отвечает на наиболее |
часто задаваемый |
||||||
. Äëÿ |
|||||||
HackFaq: "Как увидеть пароль, спрятанный |
под звездочками?" |
||||||
|
|
совместимые челы, |
|||||
этого есть куча разных прог. Но мы же с тобой |
|||||||
|
|
||||||
. Вот поэтому мы создадим та- |
|||||||
поэтому не юзаем чужие творения |
|
|
|
объяснить, |
- |
||
кую прогу сами. Тем более, что сам просил |
êàê ýòî ðà |
||||||
|
|
|
|||||
ботает. |
|
|
|
|
|
|
|
. Сразу нажми пимпу "Save", чтобы со- |
|||||||
здаст пустой проект DLL библиотеки |
|
|
|
|
это же и будет именем |
||
. В качестве имени введи "hackpass", |
|||||||
|
|
||||||
хранить проект |
|
|
|
|
|
|
|
dll файла. |
|
|
|
|
|
|
Рисунок 2. Новый проект библиотеки |
DLL |
||
|
|||
Теперь сотри весь текст, который написал |
Delphi, и напиши то, что находится |
||
. |
|
||
|
|
|
|
у меня во врезке "исходный |
текст dll файла" |
|
|
|
|
|
5 Кодинг 6 Hack-Faq 7 JoyStick 8 Юниты 9 Quit> 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 |
|
|
|
|
|
||
|
|
|
Kylix. Сканер портов заказывали? |
Horrific (smirnandr@mail.ru) www.x-c-r.com
- 2-
|
|
|
|
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 |
|
|
|
|
Ñ |
ТЕОРИЯ |
|
||
|
|
|
||
|
амое основное в нашей DLL - это |
|
||
|
один только параметр. |
процедура RunStopHook. Ей передается |
||
|
|
то я регистрирую ловушку, ко- |
||
|
|
Если он равен true, |
||
|
торая будет ловить все |
|
на себя. Для этого использует- |
|
|
|
сообщения Windows |
||
ся функция SetWindowsHookEx. У этой |
|
|
||
1. |
Тип ловушки. Я |
функции четыре параметра: |
||
|
указал WH_ |
|
|
|
2. |
Указатель на функцию, |
GETMESSAGE, которая ловит все сообщения. |
||
|
пересылаться сообщения Windows. |
|||
3. |
которой будут |
|||
Указатель на приложение |
|
|
|
|
4. |
Идентификатор потока. |
|
|
|
|
Если ноль, то используется текущий. |
|||
В качестве второго |
|
|
|
|
|
параметра я указал имя функции SysMsgProc. Она также опи- |
|||
сана в этой dll. Давай на нее посмотрим. |
|
|
Программа в действии
ЛОВУШКА ДЛЯ СООБЩЕНИЙ |
|||||||
первой строке я передаю |
|
|
|
|
|
|
|
|
пойманное сообщение остальным ловушкам, ус- |
||||||
тановленным в системе с |
|
|
|
|
|
|
|
Âîêíî, |
помощью CallNextHookEx. После этого я получаю |
||||||
сгенерировавшее событие, и проверяю тип события. Если |
áûëà êëèê- |
||||||
нута левая кнопка крысы и |
|
|
|
|
|
|
|
Я не могу больше |
удержана пимпа Control, то убрать звездочки. |
||||||
|
этой DLL, потому что моя рубрика не рези- |
||||||
останавливаться на |
|||||||
новая. Придется тебе |
|
|
|
|
|
|
|
разбираться с происходящим по комментариям. |
|
||||||
ЮЗАЕМЪ DLL |
|
|
|
||||
еперь напишем прогу, |
|
|
|
запускать ловушку. |
|||
|
которая будет загружать DLL и |
||||||
Для этого создай новый проект |
|
|
|
|
|
|
|
Òíèê è |
(такие мы уже создавали). Перейди в исход- |
||||||
найди раздел var. Рядом должно быть написано что-то |
òèïà "Form1: |
||||||
TForm1". Допиши сюда строку: |
|
|
|
|
|||
procedure RunStopHook(State : Boolean) |
|
|
|
|
|
|
|
stdcall; external 'hackpass.dll' index 1; |
|
|
|
|
|
|
|
В этой строке я объясняю |
|
|
|
|
|
|
|
Delphi, что есть такая функция RunStopHook, которая |
|||||||
|
находится в |
написанной |
мной библиотеке |
||||
|
hackpass.dll |
и ее индекс = 1. Вот по этому |
|||||
|
индексу Delphi и будет вызывать функцию. |
||||||
|
Можно, конечно же, и по |
имени, но это бу- |
|||||
|
дет немного медленней. |
|
|
|
|||
|
Теперь создай |
обработчик события для |
|||||
|
формы OnShow |
и напиши там: |
|
|
|||
|
RunStopHook(true); |
|
|
|
|||
|
È, |
наконец, |
создай обработчик события |
||||
|
|
||||||
|
OnClose и напиши: |
|
|
|
|||
|
RunStopHook(false); |
|
|
|
|||
|
Оформленная форма |
|
|
|
Исходный текст dll файла library hackpass;
uses Windows, Messages; var SysHook : HHook = 0; Wnd : Hwnd = 0;
|
function |
: integer; wParam : word; |
||||
|
|
|
SysMsgProc(code |
|||
|
lParam : longint) : longint; |
stdcall; |
||||
begin |
|
|
|
|||
//Передать сообщение другим ловушкам в системе |
||||||
|
CallNextHookEx(SysHook, |
Code, wParam, lParam); |
||||
//Проверяю сообщение |
|
|
||||
|
if code |
= HC_ACTION then |
|
|
||
|
begin |
|
|
|
||
//Получаю |
окна, сгенерировавшего сообщение |
|||||
|
|
|
идентификатор |
|||
|
Wnd := TMsg(Pointer(lParam)^).hwnd; |
|||||
//Проверяю тип сообщения. |
|
|||||
//Если была нажата левая кнопка мыши |
||||||
//è |
удержана кнопка Control, то ... |
|||||
|
if |
TMsg(Pointer(lParam)^).message = WM_LBUTTONDOWN then |
||||
|
if |
|||||
|
((TMsg(Pointer(lParam)^). |
wParam and MK_CONTROL) = MK_CONTROL) then |
||||
// |
begin |
|
|
|||
Убрать в окне, отправившем сообщение, звездочки |
||||||
|
||||||
|
SendMessage(Wnd, em_setpasswordchar, 0, 0); |
|||||
//Перерисовать окно. |
|
|
||||
|
InvalidateRect(Wnd, nil, true); |
|||||
|
end; |
|
|
|
||
end; |
|
|
|
|||
end; |
|
|
|
|
||
// |
Процедура запуска. |
|
|
|||
procedure |
|
: Boolean) export; stdcall; |
||||
begin |
RunStopHook(State |
|||||
//Åñëè State = true, òî ... |
|
|
||||
if State=true then |
|
|
||||
begin |
|
|
|
|||
//Запускаем ловушку. |
|
|
||||
SysHook := SetWindowsHookEx(WH_GETMESSAGE, |
||||||
|
@SysMsgProc, HInstance, |
0); |
||||
end |
|
|
|
|
||
else//Иначе |
|
|
||||
begin |
|
|
|
|||
//Отключить ловушку. |
|
|
||||
UnhookWindowsHookEx(SysHook); |
||||||
SysHook := 0; |
|
|
||||
end; |
|
|
|
|
||
end; |
|
|
|
|
||
exports RunStopHook index 1; |
|
|
||||
begin |
|
|
|
|
||
end. |
|
|
|
|
|
KYLIX. Сканеръ портов заказывали?
Âêè |
КРАНТЫ ПАРОЛЯМЪ |
|
|
се, наше приложение |
|
|
|
|
готово. Запусти его. Потом перейди в окно со стро- |
||
кой ввода и кликни там левой |
кнопкой крысы, удерживая |
Control. Звездоч- |
|
|
моментально превратятся в реальный текст. |
|
|
Для большего эффекта можешь |
|
|
|
|
бросить на форму проги, загружающей DLL, ка- |
||
кую-нибудь картинку. Ну а если что-то |
|
||
|
|
непонятно, то просто тренируйся. Со вре- |
|
менем все само придет. Главное - практика. |
|
||
Удачи!!! Исходники |
|
|
|
|
примера, как всегда, ищи на www.x-c-r.com. |
|
(Внимание!!! Пример, написанный в Kylix, |
||||
|
прекрасно работает в Delphi) |
|||
|
Horrific |
|
|
|
|
(smirnandr@mail.ru) www.x-c-r.com |
|||
о мне почти каждый день идут |
|
|
||
|
|
письма с просьбой выслать исходники ка- |
||
кой-нибудь сетевой проги. Оно и |
|
|
||
Êíåå è |
понятно, потому что сетевой хак интерес- |
|||
го народ |
адреналинистее (любим же мы коверкать |
русский язык :). Чаще все- |
||
просит порт-сканеры, поэтому сегодня я |
|
|||
|
расскажу тебе, как самому со- |
|||
здать это чудо природы. |
|
Начнем-сссс...
|
Ньюсы |
2 PC_Zone 3 X-Стиль 4 Взлом |
72 |
||
|
|
|
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
X |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
F |
|
|
|
|
|
|
|
t |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
D |
|
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
r |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
P |
|
|
|
|
|
NOW! |
o |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
BUY |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
to |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
w Click |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
o |
m |
Постоянные читатели |
уже должны |
знать, как |
|
|
|
|
|
|
|
|||||||||
|
w |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
самому |
написать порт- |
|
|||||
|
. |
|
|
|
|
|
|
.c |
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
p |
|
|
|
|
|
e |
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
df |
|
|
n |
|
|
|
|
çàä, â |
спецвыпуске |
"Кодинг" я уже |
|
|
|
|
|
|
|
|
|||||
|
|
|
|
-xcha |
|
|
|
|
|
|
рассказывал об этом чуде. Тогда я написал порт- |
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
сканер с |
использованием WinAPI. |
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
В этом ничего плохого нет, |
просто в Linux нет |
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
WinAPI, поэтому тот |
пример нельзя так просто перенести |
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
íà Kylix. |
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
Продвинутые должны |
знать, что работа с сетью в Linux и Win построена |
одинаково |
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
на использовании сокетов. Но в |
Linux - это нормальные сокеты, а в Win |
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- ýòî |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
WinSocks. Они не совместимы между собой, хотя и имеют |
много общего в назва- |
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
ниях функций. |
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
Поэтому я решил сегодня написать порт-сканер на основе |
компонентов. |
Такой ска- |
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
нер скомпилируется |
â Linux |
или Win без малейшего |
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
òàòü îí |
|
|
|
|
изменения исходника. А рабо- |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
будет даже быстрее, чем синхронные сокеты. |
|
|
|
|
|
|
|
|
ПЕСНИ И ПЛЯСКИ |
|
|
|
|
||||||||||||
|
апусти Kylix. Брось на форму одну |
кнопку (имя по умолчанию Button1), два |
|||||||||||||||||
|
компонента TLabel (с |
|
|
|
|||||||||||||||
|
именами Label1 и Label 2) и два компонента TEdit (c |
||||||||||||||||||
Çименами |
Edit1 |
|
|
|
|
||||||||||||||
è Edit2). |
Теперь у кнопки поменяй |
свойство Caption на "Scan", |
|||||||||||||||||
ó |
|
||||||||||||||||||
|
Label1 íà "Start Port", à ó Label2 íà "End Port". |
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рисунок 1. Форма бу- |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
дущего сканера |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
Если ты все сделал пра- |
||||||
получиться нечто похожее на |
рисунок |
|
|
|
|
вильно, то |
ó |
|
тебя должно |
||||||||||
1. По нажатию кнопки мы будем |
|||||||||||||||||||
порты, начиная от номера, |
|
|
сканировать |
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
Теперь нужно бросить |
|
указанного в Edit1, по номер, указанный в Edit2. |
|||||||||||||||||
на форму |
|
|
|
|
|
|
|
|
|
|
|||||||||
Борман уже реализовал для |
|
|
|
самый важный компонент - TCPClient. В |
íåì äÿäÿ |
||||||||||||||
нас все необходимые функции для работы с |
|||||||||||||||||||
|
|
|
|
|
сокетами |
||||||||||||||
и, конечно же, сканирования. |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
Рисунок 2. |
TCPClient |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
Прежде чем приступить к ко- |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
дингу, давай |
еще немного |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
улучшим форму. Установи у |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
Edit1 свойство Text в "1", а у |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
Edit2 в "2". Этим мы задаем |
|||||||
начального и конечного портов. И, наконец, |
брось |
значения по умолчанию для |
|||||||||||||||||
еще TMemo. Желательно растя- |
|||||||||||||||||||
нуть ее на всю оставшуюся сво |
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
бодную |
часть формы. Здесь мы будет отображать |
|||||||||||
состояние сканирования. В итоге у тебя должно |
получиться нечто похожее на рису- |
||||||||||||||||||
íîê 3. |
|
|
|
|
|
|
|
|
|
||||||||||
Теперь с оформлением |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
покончено, пора переходить к кодингу. В принципе, код до- |
|||||||||||||||||
статочно легкий и помещается всего-то |
в 8 строчек. Так |
что скоро ты увидишь свой |
|||||||||||||||||
сканер в действии. |
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
Рисунок 3. Окончатель- |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
íàÿ |
форма |
|
будущего |
||||
|
|
|
|
|
|
|
|
|
|
|
|
сканера |
|
|
|
|
|
|
|
|
ШКОДИНГЪ |
|
|||||||
|
|
ля начала создадим со |
|
|
|
|
|
|
|
|||
|
|
ñîî |
бытие OnClick для кнопки. Это событие отлавливает |
|||||||||
|
|
|
бщение "нажатие на кнопку". |
|
|
|
|
|
|
|||
Äìè: |
|
Обработчик можно создать двумя способа- |
||||||||||
1. |
Выделить кнопку, перейти в объектный |
инспектор и дважды щелкнуть по строке |
||||||||||
|
||||||||||||
OnClick. |
|
|
|
|||||||||
2. |
Просто дважды щелкнуть по кнопке. По |
умолчанию |
двойной клик по компоненту |
|||||||||
|
||||||||||||
создает для него обработчик со |
|
|
|
|
|
|||||||
Выбирай |
бытия OnClick. |
|
|
|
|
|||||||
Êàê ÿ |
то, что тебе по душе, и двигаемся дальше. |
|
|
|
||||||||
|
|
|
мы будем |
|
|
|
||||||
|
|
уже сказал, по нажатию этой пимпы |
сканировать порты. Вот и да- |
|||||||||
вай напишем сюда |
|
|
|
|
|
|||||||
события |
|
этот текст. Перепиши все, что написано во врезке |
"Обработчик |
|||||||||
OnClick". Комментарии |
переписывать не о |
|
|
|||||||||
большей |
ясности происходящего. Как только |
|
бязательно, я их |
вставил для |
||||||||
перепишешь, можешь продолжить чи- |
||||||||||||
òàòü |
|
|
|
|
|
|||||||
|
|
дальше, я объясню, что здесь происходит. |
|
|
|
|
|
|
|
|
|
ТЕОРИЯ |
|
|
|
|
у а теперь давай разберемся, |
наш сканер. В разделе var я |
||||||
|
объявил две |
переменные |
как же работает |
|||||
|
i типа целое число |
(intrger) и ipstr типа строка |
||||||
Í(String). |
|
|||||||
После начала блока кода (после begin), в |
первой строке я присваи- |
|||||||
ваю переменной ipst |
значение '127.0.0.1'. Это будет |
|
||||||
адреса сканируемой |
значение по |
умолчанию для |
||||||
машины. |
|
|
|
|||||
Следующей |
|
|
|
|
|
|
|
|
|
строкой я запрашиваю у юзера ip адрес машины: |
|
||||||
if not InputQuery('Atention', 'Enter |
|
|
|
|||||
Здесь я |
|
|
|
IP Address', ipstr) then exit; |
|
|||
|
использую функцию InputQuery. Она выводит |
стандартное окно ввода (ты |
||||||
можешь его увидеть |
|
|
|
|||||
1. |
|
|
на рисунке 4). Функции передается |
три параметра: |
||||
Текст заголовка окна. |
|
|
|
|
||||
2. |
Текст, ото |
|
|
|
|
|
|
|
3. |
бражаемый над строкой ввода. |
|
|
|
||||
Переменная типа строки, куда запишется результат. |
|
|
|
|||||
|
|
|
|
|
|
|
|
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 |
|
|
|
|
5 Кодинг 6 Hack-Faq 7 JoyStick