• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

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

Статья ZIP'аем файл вручную (часть 2. распаковщик)

  • 5 236
  • 0
В продолжение темы об упаковщиках..
В первой части речь шла о том, как можно создать файл с геном репродукции, который по требованию порождал-бы бесчисленное количество своих воинов. Эта армия может решать определённый круг задач, а само требование может быть каким угодно, например привязка по времени, или какому-нибудь системному событию. Более того, способ позволяет создавать т.н. "файлы-матрёшки", размножение которых отследить будет довольно сложно.

Суть в том, что в экзе-файлах имеются нулевые "байты выравнивания секций" – в спецификации на РЕ-файл их называют File-Alignment. Они дополняют хвост полезного кода и данных до кратного значения (обычно 200h, 512-байт). При транспортировке файла эти нули представляют собой бесполезный балласт, и чтобы при инжекте эмбриона в матку мы не получили "слона в посудной лавке", было решено избавиться от них, а при...

Статья SetupAPI – информация об устройствах

  • 12 842
  • 1
Перед любым системным программистом, рано или поздно встаёт задача определения текущего оборудования системы. Причин для этого может быть много, например: установить драйвер на девайс, собрать лог всех устройств для последующей работы с ними и т.п. Если мы не будем готовы к таким поворотам судьбы, то придётся переобуваться в воздухе (на скорую руку штудируя доки), в результате чего на выходе получим как-минимум кривой софт.

Да.., в штатной поставке Windows имеется оснастка WMI Control – Windows Management Instrumentation (инструментарий управления Win), которая прекрасно решает проблемы данного характера. Однако вызывать сторонние сервисы и приложения из своих программ слишком накладно по времени, и наше приложение будет жутко тормозить. Личные опыты показали, что одну и ту-же задачу WMI решает аж в 60 раз медленнее, чем если этот-же функционал реализовать прямым вызовом системных функций WinAPI – аргумент явно не в пользу WMI, хотя данная оснастка и требует...

Статья Стек – общая философия

  • 9 945
  • 9
Стек – неотъемлемая часть любого, работающего под управлением процессора х86, приложения. Он организован на аппаратном уровне и магнитом притягивает к себе как системных программистов, так и различного рода малварь. Переполнение стека – наиболее часто встречающейся программный баг, который влечёт за собой катастрофические для приложения последствия. Стек активно используют все WinAPI, так-что вызов любой системной функции при исчерпавшем себя стеке, порождает необрабатываемое исключение STACK_OVERFLOW с кодом 0xC00000FD.

Для адресации и работы с сегментом стека, в процессоры х86 была включена специальная регистровая пара SS:ESP (StackSegment –> StackPointer). Microsoft неохотно делится с тонкостями реализации, поскольку сама "слизала" его ещё с допотопной машины DEC-PDP и в своей документации нигде это даже не обозначила. Но оставим сей факт на их совести, ведь в чём-то мелкомягкие и правы – зачем изобретать велосипед...

Статья DLL библиотеки – инструкция к метле

  • 9 535
  • 4
Ещё во-времена старушки дос стало очевидно, что некоторые программные модули лучше хранить не внутри исполняемого файла, а вынести их наружу и подгружать по мере необходимости. В то время такие "прицепы" называли оверлеями и с точки зрения экономии 1М-байтного адресного пространства это было разумно – одну большую программу кромсали на мелкие части, и эти части отрабатывали в памяти по очереди. Подобная техника докатилась и до наших дней, только теперь это динамически подгружаемые DLL.

По сути, нет смысла копать данную тему в очередной раз – всё давно расписано, поэтому добавим экшена и сделаем ставку на нестандартное их применение. Как показывает практика, фишка с защитой программ на основе статически прилинкованных DLL пользуется спросом среди коммерческого софта, значит пора сорвать с неё вуаль и познакомиться по-ближе.
---------------------------------------

Записки дилетанта

[COLOR=rgb(26, 188...

Статья Самотрассировка, или марш-бросок по периметру отладчика

  • 5 247
  • 5
Как и всё, что работает под управлением центрального процессора, операционная система – это тоже программа, которая на этапе тестирования требовала отладки. Поскольку системное пространство памяти в Win логически разделено на два региона, инженерам требовались технические люки из юзера в кернел. После того-как всё было (типа) настроено, окончательно избавляться от этих туннелей было уже поздно – пришлось-бы опять переписывать львиную долю кода, что совсем не вдохновляло разработчиков. Поэтому лазейки просто прикрыли фиговым листом в надежде "авось прокатит"..

Это касается таких механизмов как TRAP-бит в регистре флагов Eflags, привелегия Debug в пользовательском режиме, регистры отладки DR0-DR7 и несколько модельно-специфичных регистров MSR. В результате не только админ, но и обычный юзер получил в награду аппаратные рычаги дебага, не воспользоваться которыми было-бы грех – нужно просто отключив шаблонное мышление обратить взор чуть дальше...

Статья Как скрыть все ошибки PHP с помощью .htaccess

  • 5 134
  • 3
Источники: и

В этом уроке мы научимся такой вещи как сокрытие ошибок PHP. Попутно мы также разберём, как не просто подавлять вывод этих ошибок, но и как записывать их в файл журнала, как защитить этот файл журнала, как настроить уровень сообщения об ошибках PHP (насколько серьёзные ошибки показывать, показывать ли предупреждения), научимся устанавливать максимальный размер строки ошибки и отключим запись повторяющихся ошибок.

Нужно ли прятать PHP ошибки
PHP ошибки выдают самую разнообразную информацию, которая позволяет нападающим собрать данные о вашем сайте и вашем сервере. Но если бы на этот вопрос был однозначный ответ «да»...

Статья NetBeans IDE – универсальный инструмент разработчика [Часть 1]

  • 4 720
  • 0
netbeans.jpg

Developers, Developers, Developers, Developers, Developers, Developers,
Developers, Developers, Developers, Developers, Developers, Developers …

NetBeans IDE 7.2 – свободная интегрированная среда разработки приложений (IDE) на языках программирования Java, JavaFX, Python, PHP, JavaScript, C++, Ада и ряда других. У программы открыт код, и она является полностью бесплатной.
В статье я расскажу о возможностях NetBeans для PHP-разработчиков.

Скачать последнюю версию можно по ссылке. Перед загрузкой можно выбрать язык, платформу (ОС) и состав. Можно скачать как самую полную версию, так и только необходимые модули. Например, меня интересует только PHP-версия (она включает, кроме PHP, поддержку HTML, CSS, JavaScript, jQuery, XML, SQL, JSON, файл конфигурации Apache, YAML, XHTML и другие).
На время написания статьи, последняя...

Статья Основы языка программирования Golang, Часть 1

  • 7 428
  • 8
Основы языка программирования Golang. Часть 1.

Пролог.
Собрав небольшой фидбек от завсегдателей , а также от команды форума, было принято решение писать курс на ИБ тематику. И вместо обычного веб сервера, который я планировал изначально реализовать, будем с вами писать горизонтальный сканер портов.
Это когда мы берем один порт и сканим его на всех хостах, а не хост по всем портам
Я уже начал его писать и пытаюсь его реализовать таким образом, чтобы задействовать и показать все плюшки Go.
spoiler.png
Ну, собственно, погнали по основам. 😈

[COLOR=rgb(61...

Статья Введение в язык программирования Golang

  • 12 911
  • 25
Философия языка. План на данный курс.

Пролог
Добравшись до работы и заварив кофеек, ваш покорный слуга начинает повествовать о том, что такое GOlang. На самом деле, вступление в курс будет не самым интересным, так как практическая часть будет отсутствовать. :(
Ранее я уже давал приблизительный список того, что планирую рассказать от себя. (жмяк) Надеюсь, Вам всем будет интересно и даже опытные разработчики будут хотя бы улыбаться при чтении данных постов. Итак, я думаю, что после такого вступления, есть смысл начать вещать! 👻👻👻


Введение
Go - компилируемый многопоточный язык программирования, который появился на просторах интернета в ноябре 2009 года...

Проблема Go для самых маленьких и как начать

  • 7 016
  • 14
Golang и с чем его едят и вообще, кто такие гоферы.


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

У меня уже есть начальные наброски того, что я хочу вам рассказать, по классике жанра, начнем с того, что такое Go и с чем его едят, а вот концовку я к сожалению не придумал, и мне нужна будет ваша помощь.

В целом, зачем вообще хочу поднять эту тему:

  • Много интресующихся этой темой присутвует у нас на форуме
  • Актуальный ЯП
  • Расширить ваш кругозор
  • Попробовать рассказать что то новое, на более простом языке, нежели в этих ваших интернетах
Мои задумки на итоговый результат:
  • Создание своего проксирующего сервера (будет поэтапно разбирать, что зачем, куда и почему)...