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

Статья Python - собираем и отправляем данные в Telegram

  • 14 308
  • 6
Введение

Приветствую всех у кого есть время читать данный контент. Совсем недавно, еще в этом месяце меня посетила очень интересная идея. Сколько информации о системе можно собрать используя Python? Многие начнут размышлять и вывод будет достаточно большим, ведь собрать можно многое. Начиная от обычного название системы и заканчивая IP и MAC адресом (кстати как это собрать я тоже покажу). Поэтому, чтобы не оставлять данную идею в "мечтах" я принялся за ее реализацию. Приступим.

Подайте мне код!

Прежде всего любое написание программ начинается с импорта библиотек. Лично я использую для написания данного когда PyCharm. Надеюсь установить данную IDE у вас не составит проблем. Открываем программу, создаем новый файл и пишем:

Python:
import getpass
import os
import socket
import sys
from datetime...

Статья ASM – Брут и шифрование Цезарем

  • 6 874
  • 2
Среди огромного кол-ва алгоритмов шифрования имеется и шифр "Цезаря", который по-сути и открыл эпоху крипта в целом (Рим, 50-ые годы до нашей эры). Не нужно искать в нём скрытый смысл – его там попросту нет, а скрытие текста от посторонних глаз осуществляется обычной заменой одного символа, другим. Такие алго называют ещё "шифр с подстановкой". Ключ представляет собой обычное число, кредитный портфель которого ограничен диапазоном алфавита текущей кодировки текста (для кириллицы это Win-1251, с макс.ключом =32). Например если ключ равен единице, то на место символа "А" подставляется следующий "Б" и т.д. На рисунке ниже представлена общая схема, где в качестве ключа я выбрал значение(4):

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

Статья ASM – техники из старого сундука

  • 8 819
  • 8
Есть поговорка: "Программистами не рождаются – ими умирают". Исходя из этой парадигмы можно сделать вывод, что за долгий свой/программерский путь, у каждого из нас снежным комом накапливаются различные техники и алгоритмы, поделиться с общественностью которыми было-бы не грех. К примеру на этапе моего начинания, мир процессора для меня был так юн, что некоторые вещи не приобрели ещё свои имена и приходилось указывать на них пальцем. Позже, все просветления было решено записывать в блокнот, который постепенно разбух до увесистого романа. Фильтр элементарных заметок сделал своё дело и на данный момент в этом блокноте осталось ~1000 строк, которые я и решил сбросить сюда с краткими комментариями. Надеюсь у топика найдутся свои "евангелисты" и кто-нибудь почерпнёт с него что-то полезное.
-------------------------------------------

1. Логические операции на уровне битов

Загибание пальцев начну с логики и...

Статья SYSENTER – скрытый запуск Native-API

  • 8 820
  • 8
Многоуровневое разграничение прав в системах класса Windows, накладывает свой отпечаток на систему безопасности в целом. Разработчикам логичней было создать один защитный пласт и закрыть его на большой замок, но они раскромсали его на мелкие части, в результате чего появилось множество дыр и обходных путей на разных уровнях. В данной статье рассматривается одна из таких лазеек, а точнее – скрытый запуск ядерных API-функций, что даёт возможность прямо под юзером обходить различные гуарды, мониторы безопасности, API-шпионы, антивирусы и прочие силовые структуры. Не сказать, что тема новая.. просто она незаслуженно забыта, и в силу своей сложности всё реже встречается в защитных механизмах наших дней.

Оглавление:


1. Инструкция SYSENTER – общие сведения.
2. SSDT – System Service Descriptor Table.
3. Разбор таблицы-экспорта библиотеки Ntdll.dll.
...

Статья Программирование HDD/SSD. Часть.1 – устройство

  • 13 073
  • 3
Жёсткие диски это тот раздел программирования, который покрыт мраком и тайной. Дефицит информации на эту тему накладывает свой отпечаток, и даже простое копирование больших объёмов данных может стать нетривиальной задачей. Но если копнуть глубже, оказывается не всё так плохо, и большинство базовых операций на низком уровне доступно не только админу, но и простому смертному юзеру. На практике, мифы о высоком либидо и буйном темпераменте дисков несколько преувеличены, и надеюсь данная статья поможет нам разобраться в этом. Поскольку материал получился обширным, пришлось разделить его на две части – теория и практика.

В этой части:

• Общие сведения
• Интерфейсы ATA/SATA
• Регистры IDE-устройств
• Интерфейсы SCSI/SAS
• Выводы
...

Статья Скрытый потенциал регистров отладки DR0-DR7

  • 6 823
  • 4
Слово отладка, у большинства из нас ассоциируется с инструментальными средствами реверса типа WinDbg, x64Dbg, OllyDbg и прочие. Но в данной статье хотелось-бы рассмотреть это направление с другой проекции, а именно – использование отладочных возможностей CPU вне отладчика, непосредственно из пользовательского приложения. Исследования в этом ключе раскрывают огромный потенциал и что немаловажно, все действия остаются прозрачными для самих отладчиков, т.к. мы отнимаем у них ресурсы по типу "кто первым встал, того и тапки".
----------------------------------------

Формат регистров DR0-DR7 процессора

Процессоры х86 имеют восемь регистров отладки DR0-DR7, два из которых DR4.5 отправлены в резерв и не используются. В совокупности, отслеживая обращения к памяти они позволяют...

Статья Системные таймеры. Часть[6] - Основы профилирования кода

  • 6 719
  • 4
Профайлер это инструмент, при помощи которого можно определить время исполнения некоторого участка кода. Зачем это нужно? В первую очередь для оптимизации программ, и лишь потом любопытство и всё остальное. Поскольку в каждый момент времени многозадачная система далеко не стабильна, мы сталкиваемся здесь со-множеством проблем этического характера. Windows если и хочет сделать вид, что справляется со всеми задачами сразу, только у неё это плохо получается.. тем более, когда речь заходит о тесте производительности в пользовательском режиме. Профилирование требует к себе особого внимания, что для системы большая роскошь. Обсуждению этих проблем и посвящена данная статья.
---------------------------------------------


Аппаратные проблемы – конвейер CPU

Хотим мы того или нет, но профилируемый код рано-или-поздно попадёт в конвейер процессора. Это устройство уровня микроархитектуры...

Статья Системные таймеры, Часть[5] – Счётчик процессора TSC

Статья Системные таймеры, Часть[4] – Local APIC

  • 5 619
  • 9
Предыдущие части:

1. Общие сведения. Legacy-таймеры PIT и RTC.
2. Шина PCI – таймер менеджера питания ACPI.
3. ACPI таблицы – таймер HPET.
4. Таймер контролёра Local-APIC.
5. Счётчик процессора TSC.
6. Win - профилирование кода.
---------------------------------------

Основным недостатком рассмотренных ранее таймеров является время доступа к ним, т.к. все эти устройства расположены за пределами центрального процессора CPU. Чтобы дотянуться до их контроллёров, процессор вынужден ждать освобождения шины FSB/DMI...

Статья Ворклог реверса одной мобильной игры

  • 4 666
  • 3
Часть 1- логин сервер
Как-то раз в далеком 2017 году понадобилось мне разобрать одну популярную мобильную игру того времени- Зитву Бамков. Я уверен, многим из вас приходилось играть в нее, когда она была на пике популярности. На данный момент игра стала умирать. Разработчики отдают внутриигровые ресурсы за копеечный донат. По просьбе знакомого, и из-за обесценивания этой информации, публикую обзор полного взлома игры: от реверса, до создания альтернативного сервера и накрутки валюты гильдии, на которую даже сделали обзор некоторые ютуберы (да-да, Князь, привет). За это время у меня сохранились не все материалы, которые стоило бы использовать в статье. Поэтому в части скриншотов будет показана старая версия игры, а в части- новая. Однако мой сервер все еще работает с новой версией игры. Значит, можно надеяться, что обновления обратно совместимы

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