Программирование

Статья ASM для х86. (4.4.) Структура заголовка PE-файла

  • 7 836
  • 4
Рассмотрим формат исполняемого файла..
Важной его частью является формируемый компилятором заголовок PE-Header – этакий паспорт с полной информацией о своём клиенте. Когда система запускает файл на исполнение, загрузчик образов в Ntdll.dll сначала берёт только заголовок из дискового файла, а остальную его часть не трогает. На основании этой информации, лоадер создаёт указанное число секций и прочих ресурсов, и только потом заполняет эти секции кодом и данными. Под заголовок выделяется одна 4К- страница виртуальной памяти размером 0х1000 байт.

Header имеет довольно запутанную структуру и чтобы разобраться в нём хотя-бы на начальном уровне, придётся проштудировать манны как-минимум раз 10. Здесь уже подымался этот вопрос, и человек написал целую статью на эту тему, где достаточно внятно освятил общее положение дел – советую...

Статья ASM для х86. (4.0) Системные механизмы Windows

  • 23 854
  • 59

В этой части:
  1. Процессы и их потоки
  2. Адресное пространство процесса
  3. Вторжение в чужое пространство памяти
  4. Перехват API-функций
  5. Скрытие процессов
Для просмотра структур системы, на данном этапе понадобится ядерный отладчик WinDbg. Он поставляется как в составе пакета WDK, так и отдельно. Версию на любой вкус и цвет можно

Статья ASM для х86. (3.0) Практика

  • 16 117
  • 37
Часть 3. Практика под виндой

Теорию можно продолжать бесконечно, тем-более что тема эта настолько обширна, что закончить её можно только ко ‘второму пришествию’. Без практики она теряет смысл, поэтому пробежавшись по макушкам основ, рассмотрим фундаментальные команды ассемблера на практике.

В качестве компилятора буду использовать FASM, т.к. считаю его синтаксис самым правильным из всех ассемблеров. В отличии от своих собратьев, в нём нет двумысленных команд, да и в использовании он до неприличия прост - компилирует без всяких батников, по одной клавише F9 в своём окне. Весит всего 1 Мб и бесплатно валяется на сайте разработчика, от куда
. Теперь создайте в любой директории папку FASM и просто распакуйте в неё архив – fasm не требует установки в систему.

Ещё нам понадобится отладчик, чтобы воочию...

Статья ASM для х86. (2,0,) Реальный и Защищённый режимы работы процессора

  • 15 313
  • 2
Часть 2. Реальный и Защищённый режимы работы процессора
В глазах процессора, мир существует в виде 1-байтных ячеек памяти. Будь-то физическое устройство (типа клавиатура), или наша логическая программа – для процессора это группа из нескольких байт. Считаю, что изучение ассемблера нужно начинать именно с организации памяти, поскольку 90% времени работать придётся именно с нею. Совсем не обязательно зубрить наизусть названия регистров – это придёт как озорение само-собой. Лучше направить энергию на изучение почвы, по которой собираемся ходить.

На данный момент х86 процессоры могут работать в четырёх режимах. Мы рассмотрим только первые два из них, как более распространённые:
  1. Real-Mode - реальный...

mysql_connect() и PHP 7

  • 14 594
  • 0
Большинство веб-сайтов в своей работе использует базы данных для хранения информации. Для сайтов, написанных на PHP, обычной является связка PHP + MySQL. В PHP есть несколько интерфейсов для взаимодействия с MySQL и в связи с обновлением до PHP нас ждут довольно важные изменения.

Ошибка Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in

Данное расширение — mysql_connect() — устарело, начиная с версии PHP 5.5.0, и будет удалено в будущем. Используйте вместо него MySQLi или PDO_MySQL. Альтернативы для данной функции:
  • mysqli_connect()
  • PDO::__construct()
Если вы хотите использовать MySQLi, то эта небольшая шпаргалка поможет вам.

Подключение к базе данных с MySQLi делается так:

PHP:
<?php
$connection = mysqli_connect('localhost', 'username', 'password', 'database');


Осуществление запросов к базе данных также...

Урок по cURL: основы использования и пара полезных трюков (часть первая)

  • 13 902
  • 0
Для чего нужна cURL
  • cURL отлично подходит для имитации действий пользователя в браузере.
Реальный практический пример: вам нужно перезагрузить роутер (модем) для смены IP адреса. Для этого нужно: авторизоваться в роутере, перейти к странице обслуживания и нажать кнопку «Перезагрузка». Если это действие нужно выполнить несколько раз, то процедуру нужно повторить. Согласитесь, делать каждый раз в ручную эту рутину не хочется. cURL позволяет автоматизировать всё это. Буквально несколькими командами cURL можно добиться авторизации и выполнения задания на роутере.
  • cURL удобен для получения данных с веб-сайтов в командной строке.
Ещё один практический пример: мы хотим реализовать показ общей статистики для нескольких сайтов. Если использовать cURL, то это становится вполне тривиальной задачей: с помощью cURL мы проходим аутентификацию на сервисе сбора статистики (если это требуется), затем (опять...

Статья ASM для х86. (1.0) Введение.

  • 9 960
  • 14
Всем привет!
Поскольку зарегистрировался на данном форуме, внесу и я свои 5-копеек в общую копилку статей. Занимаюсь по-большей частью ассемблером, то и статья на эту тему. Гуру в этой области прошу строго не судить, т.к. с изложением своих мыслей всегда имел проблемы. Поскольку пишу по-ходу дела и в свободное время, то между частями могут быть перерывы. Рассматривается работа процессоров x86 в двух режимах – реальном RM, и зашищённом РМ. Как и принято - начну издалека..

Часть 1. Общие сведения

1.1. Процессор и его регистры.


В компьютерной системе всё вращается вокруг центрального процессора CPU. Он работает...

Статья Самый простой логгер

  • 4 916
  • 5
Всем привет, многие знают такое понятие, как логгер ( если нет, то ниже есть определение ) , но многие такие сайты платные и , что бы узнать информацию про человека вам приходится платить деньги, либо сидеть, стиснув зубы.
Код:
Логгер - программа, предназначенная для вычисления данных о пользователе, который заходит на Ваш сайт.
Сегодня мы с Вами напишем САМЫЙ ПРОСТОЙ логгер, который может быть. Он будет возвращать данные от сервера, т.е. ip , устройство, с которого сидит пользователь. Для этого нам понадобится бесплатный хостинг ( я буду использовать 000webhost ). И так, приступим.
Для начала создадим файл index.php и напишем стандартную разметку страницы, выглядит она вот так:
Код:
<!DOCTYPE html>
<html>
<head>
     <meta charset="URF-8"/>
     <title>My photoes</title>
</head>
<body>
</body>
<html></html
И так, приступим к основной части, напишем скрипт на php, который будет выводить всю информацию от сервера.
Первым делом откроем тег php :)
Код:
<?php...

Статья ASM обучение #2 Установка ПО и первая программа

  • 10 705
  • 21
Сегодня мы установим среду разработки, и создадим свою первую программу

Сборка-Настройка Среды

Настройка Локальной Среды

Язык ассемблера зависит от набора инструкций и архитектуры процессора. В этом уроке мы сосредоточимся на процессорах Intel-32, таких как Pentium. Чтобы следовать этому руководству, вам понадобится:
  1. IBM PC или любой эквивалентный совместимый компьютер
  2. Копия операционной системы Linux
  3. Копия программы ассемблера NASM
  4. Есть много хороших ассемблерных программ, таких как ...
  5. Ассемблер Microsoft (MASM)
  6. Борланд Турбо ассемблер (ТАСМ)
  7. Ассемблер GNU (GAS)
Мы будем использовать ассемблер NASM, так как он бесплатный. Вы можете скачать его из различных веб-источников. Также на него много документации и вы можете получить много информации в сети. Может использоваться как в Linux, так и в Windows.

Установка NASM

Если вы выберете "инструменты разработки" при установке Linux, вы...

Как создать графический интерфейс приложению + как скомпилировать его в .exe

  • 12 762
  • 9
Добрый день, сегодня мы с Вами научимся делать графический интерфейс приложениям в Python и компилировать их в .exe файл. Наверное, многих новичков уже достали консольные приложения, ведь их сложно показать другу и выглядеть будет не так эффектно. Сегодняшнюю статью я разбил на две части, а именно:
Код:
1. Создание графического интерфейса приложения.
2. Компиляция приложения на Python в .exe файл.
И так, без долгих предисловий приступим.

Глава 1. Графический интерфейс:

Для создания интерфейса мы будем использовать всеми нами любимый pyside и его QT designer. Для этого нам потребуется:
Код:
1. Python v3.4 и ниже.
2. Прямые руки ( желательно ).
Если у Вас установлен Python выше 3.4 , то переустановите его , либо установите вместе с существующим.
И так, заходим в консоль и первым делом проверяем, что у нас установлена нужная версия Python. Далее нам необходимо установить библиотеку pyside. Делается...