Хакинг на С++ [А. А. Ярошенко] (pdf) читать постранично

Книга в формате pdf! Изображения и текст могут не отображаться!


 [Настройки текста]  [Cбросить фильтры]

ЯРОШЕНКО

А. А.

ХАКИНГ
НА

"Издательство Наука и Техника"
Санкт-Петербург

УДК 004.42
ББК 32.973
Ярошенко А. А.

ХАкинг НА С++ - СПБ.: ИздлтЕЛЬСтво НАУКА и ТвхниКА, 2022. - 272 с., ил.
ISBN 978-5-907592-03-2
Наша книга не посвящена взлому информационных систем, поэтому если
вы надеетесь с ее помощью взломать банк, сайт или еще что-либо, може­
те отложить ее в сторону. Но если вы хотите освоить программирование
«взлома» на С++ и отойти от рутинных примеров, которых навалом в любом
самоучителе, эта книга для вас. В ней мы не будем объяснять основы
программирования на С++, т.к. считаем, что вы уже освоили азы и умеете
пользоваться компилятором, чтобы откомпилировать программу.
Хакер умеет найти в программе недостатки, скрытые возможности, лазейки,
и сделать так, чтобы заставить все это работать неправильно или необычно.
Хакер видит то, что не видят другие. А чтобы у вас была возможность так
видеть, вы должны знать языки программирования, и С++ для этого отличный вариант. Мы поговорим об объектно-ориентированном програм­
мировании; напишем приложение клиент/сервер; разберемся с алгоритмами
поиска и сортировки; поищем «жертву» с помощью сканера портов; обсудим
шифрованием файлов и займемся разработкой Malware. В общем, рас­
смотрим программирование на С++ глазами хакера.

Все права защищены. Никакая часть данной книги не может быть воспроизведена в какой бы то ни было форме без письменного разрешенИJ1
владельцев авторских прав.

Издательство не несет ответственности за возможный ущерб, причиненный в ходе использования материалов данной книги, а также за
доступность материалов, ссьшки на которые вы можете найти в зтой книге. На момент подготовки книги к изданию все ссылки на интернет­
ресурсы были действующими.
ISBN 978-5-907592-03-2

Контактные телефоны издательства:
(812) 412 70 26
Официальный сайт: www.nit.com.ru

. JIIJ.2032 ,

© Ярошенко А. А.

© Издательство Наука и Техника (оригинал-макет)

Содержание
https://t.me/it_boooks/2

ВВЕДЕНИЕ ............................................................................................ 9
ГЛАВА 1. ПРОГРАММИРОВАНИЕ ГЛ АЗАМИ ХАКЕРА....... 13
1.1. ЧТО ТАКОЕ ПРОГРАММИРОВАНИЕ ....................................................................... 15
1.2. ВВЕДЕНИЕ В ПСЕВДОКОД........................................................................................... 17
1.2.1. Управляющие конструкции ................................................................. 17
Условная конструкция ......................................................................... 18
Циклы................................................................................................... 19

ГЛАВА 2. ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ ........................................................................ 23
2.1. ПРИМЕР КЛ АССА ............................................................................................................ 24
2.2. КОНСТРУКТОРЫ И ДЕСТРУКТОРЫ ....................................................................... 28
2.3. М АССИВЫ ОБЪЕКТОВ .................................................................................................. 34
2.4. Н АСЛЕДОВАНИЕ......;....................................................................................................... 36
2.5. ПЕРЕГРУЗК А ОПЕРАТОРОВ ........................................................................................ 37

ГЛАВА 3. ПИШЕМ ПРИЛОЖЕНИЕ КЛИЕНТ/СЕРВЕР ........ 39
3.1. АРХИТЕКТУРА СЕТИ ..................................................................................................... 40
3.1.1. Введение в архитектуру клиент/сервер .............................................. 40
3.2. ПРОТОКОЛ И ИНТЕРФЕЙС ......................................................................................... 42
3.2.1. Модель OSI ............................................................................................ 44

,

Физический уровень (Physica\ Layer) ................................................. 46
Канальный уровень (Data link Layer).................................................. 47
Сетевой уровень (Network Layer) ........................................................ 48
_

-............. -......'................. -... - ........ -... - - - - -- -.. - - -.. - - - -

. .... ...

:\аю1111 11а

С++
Транспортный уровень (Transpon Layer)............................................ 49
Сеансовый уровень (Session Layer) ..................................................... 50
Представительный уровень (Presentation Layer) ................................ 51
Прикладной уровень (Application Layer) ............................................ 51
3.2.2. Протокол TCP/IP ................................................................................... 51
3.2.3. Многоуровневая архитектура стека TCP/IP ....................................... 55
Уровень сетевого интерфейса .............................................................. 57
Межсетевой уровень............................................................................. 58
Транспортный ( основной) уровень ..................................................... 59
Уровень приложений ............................................................................ 59
3.2.4. Порты и демоны.................................................................................... 60
3.2.5. Структура пакетов IP и ТСР. ................................................................ 61

3.3. ПРИЛОЖЕНИЕ-КЛИЕНТ .............................................................................................. 64
3.4. ПРИЛОЖЕНИЕ-СЕРВЕР ................................................................................................ 73
3.5. ИСПОЛЬЗУЕМ КОМАНДУ МАКЕ ДЛЯ СБОРКИ СЛОЖНОГО ПРОЕКТА.
СОБИРАЕМ ВСЕ ВОЕДИНО............................................................................... 80

ГЛАВА 4. АЛГОРИТМЫ ПОИСКА И СОРТИРОВКИ ........... 85
4.1. БИНАРНЫЙ ПОИСК В ЦЕЛОЧИСЛЕННОМ МАССИВЕ................................... 86
4.2. БИНАРНЫЙ ПОИСК ПО МАССИВУ УКАЗАТЕЛЕЙ СТРОК............................ 88
4.3. СОРТИРОВКА ПУЗЫРЬКОМ....................................................................................... 90
4.4. БЫСТРАЯ СОРТИРОВКА