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

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

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

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

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

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

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


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

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

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


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

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

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

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

Статья Windows Shellcoding x86 – функции вызова в Kernel32.dll – часть 2 [Перевод]

  • 5 927
  • 1
Доброго времени суток, codeby.
Первоисточник:
Перевод: Перевод выполнен от команды Codeby

В предыдущей части мы нашли адрес Kernel32.dll, проходя через LDR структуру. В этой части мы сконцентрируемся на нахождении адреса функций (известных как DLL символы) в Kernel32.dll и вызовем их путем предоставления аргументов. Одним из методов вызова этих символов является использование LoadLibraryA с целью нахождения адреса этих символов от Kernel32.dll. Однако, мы этого делать не будем, т.к. это слишком легко. Основная цель моей серии блогов является помочь людям понять, как именно работает код сборки, чтобы было легко писать нулевой шелл-код для любой функции, которая им нужна. В этой...

Статья Windows Shellcoding x86 – поиск Kernel32.dll – часть 1 [Перевод]

  • 6 729
  • 2
Доброго времени суток, codeby.
Первоисточник:
Перевод: Перевод выполнен от команды Codeby

Добро пожаловать в ад на земле

Абсолютно верно, вы обратились по адресу. Для человека, который изучал Linux Shellcoding, а потом начал работать в Windows, поверьте мне, это будет намного сложнее, чем вы себе можете это представить. Ядро Windows полностью отличается от ядра Linux. Как уже говорилось, ядро Linux намного легче в понимании, чем ядро Windows, потому что оно имеет открытый исходный код и у него намного меньше свойств по сравнению с ядром Windows. С другой стороны, у Windows было столько вправок и переделывании за последние годы, в результате чего многое изменилось. Мы сконцентрируемся только на Windows 10 x86, хотя более ранние версии не намного...

Статья DEP и ASLR – игра без правил

  • 7 357
  • 4
Со времени выхода в свет Win2000 прошло уже 20 лет. Её разработчики, с чувством исполненного долга предвкушали себе счастливую старость, но грянул гром – система оказалась дырявой как сито, и на данный момент счёт её обновлениям потеряла наверное уже и сама Microsoft. Ознакомиться с установленными на вашем узле заплатками можно в командной строке, запросив systeminfo. Каждый сервис-пак SP несёт в себе кучу таких обновлений, игнорировать которым (с точки зрения безопасности) глупо.

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

Статья Entry Point – дело о пропавшем индексе (часть 2)

  • 5 312
  • 5
Вернёмся к первой части и вспомним, о чём тут вообще идёт речь..
Статья рассматривает, как при запуске приложения передать бразды фиктивной точке-входа EntryPoint. При этом РЕ-заголовок дискового файла не модифицируется, что пускает по ложному следу софт реверс-инженеринга типа анализаторы, дизассемблеры и отладчики. Акцент сделан на то, чтобы TLS-callback процедурой вмешаться в работу загрузчика LDR и перехватить точку-входа именно в стеке, а не в РЕ-заголовке файла, как это делают многие.

Загрузчик использует стек программы в качестве пусковой установки. Координаты цели в виде точки-входа, он берёт из нашего заголовка по смещению PE.28h, и дальше функцией ZwContinue() передаёт на неё управление. Наша задача как диверсантов выбрать подходящий момент и пока функция ZwContinue() ждёт от загрузчика команды "пуск", подставить в...

Статья Entry Point – дело о пропавшем индексе (часть 1)

  • 6 271
  • 2
Термин EntryPoint знаком каждому программисту – это адрес точки входа в программу, т.е. первой инструкции исполняемого кода. Компиляторы прошивают этот адрес в РЕ-заголовок по смещению 28h, а системный "загрузчик образов" потом считывает его от туда, и передаёт на него управление. Такому алгоритму следуют все LDR-загрузчики, начиная с Win98 и до наших дней. Сам загрузчик оформлен в виде функции LdrpInitializeProcess() из библиотеки Ntdll.dll.

В данной статье рассмотрим несколько способов реализации фиктивных точек EntryPoint, что позволит защитить наши программы от взлома и отладки. Например зачем выставлять на показ процедуру проверки введённого пароля, или какой-нибудь авторской техники? До тех пор пока она не станет достоянием общественности, мы сможем использовать её в своих программах снова и снова. Но как-только корабль даст течь, придётся латать дыры, на что нужно время...

Статья SEH – фильтр необработанных исключений

  • 5 621
  • 0
Во времена рассвета DOS программист имел полную власть над системой. Находясь в реальном режиме работы CPU, у нас не было никаких ограничений и мы могли использовать в программах буквально все инструкции и регистры процессора, общее число которых на Р6 стремилось преодолеть барьер в ~200 единиц. Это была отличная школа программирования, где вся ответственность за то или иное действие возлагалась полностью на наши плечи. Всё приходилось делать вручную, в том числе и обрабатывать аппаратные исключения с ошибками. Одним словом, царила атмосфера свободы и демократии, столь редкая в наши дни.

А что мы имеем сейчас в защищённом режиме? Microsoft отобрала у нас все права и вместо них вручила более 5000 системных API, но забыла толком объяснить, для чего они и как ими пользоваться. При малейщем чихе гигантская система валится в BSOD подымая в небеса тонны пыли, не забыв прихватить с собой наши не сохранённые данные. Ладно если был-бы реальный повод, так ведь может и без веских на то...

Статья Курс по созданию приложений для android [Часть 2]

  • 5 789
  • 19
Всем доброго времени суток!
Прошу прощения за задержку, были некоторые проблемы с техникой. Собственно, всё рассказал уже в комментарий первой части)

Те, кто наткнулись случайно -- настоятельно рекомендую сначала освоить первую часть! Курс по созданию приложений для android

В данном уроке мы научимся как создавать и расставлять объекты. Урок может быть скучноват, но это просто необходимо понять, т.к. без фундамента хороший дом не построить..

Я не забыл моменты в своей жизни, когда задавал вопрос, а через несколько лет слыша подобный, понимал, насколько он глупый. Осознание того, что это не вопрос глупый, а я (в тот момент, когда забыл, что был когда-то таким) пришло недавно, поэтому описывать буду максимально подробно (кто частично знаком или понял какой-то момент "налету" -- просто пропустите спойлер, в случае сложностей же -- не пренебрегайте ими.

Не будем долго разглагольствовать и...

Статья TLS callback – рояль в кустах для отладчиков

  • 8 551
  • 3
Системы класса Win-NT имеют интересный тип памяти под названием "Thread Local Storage", или локальная память потока. После того как мир увидел многопоточные приложения оказалось, что родственные потоки одной программы ведут между собой нешуточную борьбу за системные ресурсы, т.к. все загружаются в единое пространство родителя. Это как дети, которые не могут поделить одну плитку шоколада. Здесь вполне очевидна ситуация, когда поток(А) записал что-то в память, а ничего не подозревающий поток(В) тут-же подмял эту область памяти под себя. В результате, программист получает клубок из змей и никакого профита.

Microsoft пыталась решить эту проблему по разному, например ввела механизмы синхронизации в виде семафоров, эвентов и прочее. Но в итоге решила выделить каждому потоку по своей/личной памяти внутри его блока окружения TEB – Thread Environment Block, и это стало наиболее разумным решением.

В данной статье TLS...

Hacker Lab

Наши курсы

Наши книги