Настольная книга компьютерного исследователя


  • Category Archives Программирование
  • Трюки с ядром FreeBSD

    Опубликовано , admin Комментировать

    Приколы с sysctl.

    Необходимость в изменении стандартной схемы работы ядра операционной системы возникает достаточно часто. Особо остро эта проблема встаёт, когда нам надо совершить различные «незаконные» действия: внедрить в систему бэкдор; глубоко и далеко прятать какую-либо важную для нас информацию от пытливых взоров системных администраторов или, наоборот, взломщиков; сделать своё пребывание в операционной системе как можно менее заметным и т.д. Ниже будут приведены некоторые приёмы, при помощи которых это можно сделать в ядре операционной системы FreeBSD. Я думаю и надеюсь, что этот документ продолжит своё существование и будет пополняться новой информацией с каждым выпуском журнала. Так что, если у вас сть какие-либо свои разработки в области kernel-программирования под FreeBSD, то можете посодействовать общему делу и поделиться данной информацией :-). Очень надеюсь, что люди, готовые на это, найдутся. (далее…)


  • Программирование на уровне ядра для Solaris.

    Опубликовано , admin Комментировать

    Часть 1.

    Итак, что из себя представляет kernel-модуль, для какой бы ОС он не писался? Говоря простыми словами, kernel-модуль — это кусок кода, подгружаемый «извне»(т.е. не являющийся частью ядра), но функционирующий в адресном пространстве ядра операционной системы. Работая в одном адресном пространстве с ядром, модуль получает возможность обращаться к внутренним структурам ядра, что бывает важно при написании драйверов и ещё в ряде других случаев. К примеру, если вам нужно ограничить возможность работы с сетью некоторым пользователям, то одним из решений данной проблемы является перехват при помощи kernel-модуля системного вызова типа socket() и замена его на другой, задача которого — выдача сообщения об ошибке всем юзерам, которым требовалось запретить обращаться к сети. Или же вам нужно закрепиться в захваченной системе — опять перехватываете системный вызов типа accept() и открываете рутовый шелл (это только один из способов) при запросе соединения с определённого IP-адреса. (далее…)


  • Программирование raw сокетов

    Опубликовано , admin Комментировать

    Эта статья написана для того,что бы ознакомить вас с такой темой, как программирование сырых(raw) сокетов(sockets). Для чего это нужно? Это даст вам больше возможностей в сетевом программировании, вы сможете писать разнообразные сканеры, спуферы и т.д. Вы сможете получить полный контроль на передаваемыми пакетами.

    Чтобы понять ту пургу, которую я буду излагать дальше, вы должны обладать базовыми знаниями в программировании сокетов, если вы не имеете таковых советую прочитать 1 статью  »Программирование сокетов». (далее…)


  • Программирование портов ввода/вывода под Linux

    Опубликовано , admin Комментировать

    Для начала оценим схему сложнейшего тестера RS-232:

     

     

     

     

     

                                    R 1Kom
                               ─────■■■■────────┬────┐
                                                 │    │
                                         зел. D1  D2  красн.
                                                 │    │
                               ─────────────────┴────┘

    Он состоит из одного двухцветного светодиода (или из двух — красный и зеленый соединенные встречно-параллельно), включенного(ых) последновательно с резистором сопротивление которого 1Коm. К свободным концам резистора и диода припаеваем провода и тестер готов. (далее…)


  • Motorola Assembler/BB

    Опубликовано , admin Комментировать

    Не знающих людей волнует первый вопрос — «Что такое AmigaOs и с чем его едят?». AmigaOs — это операционная система для компьютеров Amiga. Компьютеры Amiga базируются на процессорах семейства motorola 680xx. На сегоднешний день, самая распространенная машина в бывшем CCCP это amiga1200 на базе 68030 микропроцессора. 030 представляет собой 32-битный микропроцессор второго поколения, содержащий центральный CPU, кэш-память команд и много чего интересного вместе с регистрами данных, адреса, стэка, управляющими регистрами. Вся прелесть старой amiga в ее трех дополнительных чипах. Это Agnus, Denice и Paula. Они ответственны за звук, вывод графики и спрайты. (и это в 85 году! всего 3 человека! Чувствуете аналогию с современным аксельным барахлом?). Касаясь памяти, можно выделить 2 основных вида это chip и fast память (кроме ranger/etc). Chip память — основная память, в ней происходит работа чипов, почти всех каналов dma и т.д. Fast память — дополнительная память, ее использует только cpu (еще каналы dma ZorroIII). (далее…)


  • Зазеркалье

    Опубликовано , admin Комментировать

    Все знают что-такое зеркала. Нет, не те зеркала, в которых вы видите вечно не вспавшуюся, немного под хмельком рожу — зеркала сайтов. Т.е.есть полная копия сайта, для облегчения доступа и снижения нагрузки на основную машину. Но мы приспособим эту идею под свои нужды, пойдем дальше таких зеркал, то есть в Зазеркалье.Это те же зеркала, тока немного искривленные (модифицированные).

    Итак, рассмотрим что это такое и зачем оно нужно. Я рассмотрю несколько случаев, так сказать интересных, когда могут понадобиться эти кривые зеркала. (далее…)


  • Expect language

    Опубликовано , admin Комментировать

    1. Что такое expect ?

    Expect — это расширения языка tcl, которые дают возможность управлять в скриптах интерактивными программами типа telnet, ftp и подобными, то есть можно проверять результат выполнения каждой операции той программой, которой мы управляем, и в зависимости от этого выбирать следующие действия или данные, которые мы передаем процессу. Это дает возможность полностью автоматизировать многие процессы, причем с приложением наименьших усилий, так как например при программировании для tcp/ip не нужно самому писать реализацию протокола- все уже реализованно в клиенте, которым мы и будем управлять. К тому же, этот язык вполне прост. Мне больше всего это напоминает всем известные сканеры x.25 сетей типа ultrahack, где в зависимости от ответа ПАДа выбиралось, что же делать дальше. Что же можно сканить в инете такими штуками? Хотя бы те же x.25 сети. А также можно перебирать пароли, всякие там аськи и вообще выполнять процесс тупого перебора без участия человека. (далее…)


  • Linux assembler для начинающих

    Опубликовано , admin Комментировать

    Хе. Насколько все себя считают крутыми, что никогда не сподобятся написать простенький туториал, для тех кому хочется, но не можется по разного рода причинам. Возможно реализация этой моей наивной мысли кому-то поможет ;).

    Прежде чем касаться конкретных вещей, стоит немного сказать о синтаксисе используемом в Linux (и в unix также). Это AT&T синтаксис. (далее…)




©2015 Журнал Хакера Entries (RSS) and Comments (RSS)