Codeby
35.9K subscribers
1.5K photos
92 videos
12 files
7.42K links
Блог сообщества Кодебай

Чат: @codeby_one
Форум: codeby.net
Обучение: codeby.school
Пентест: codeby.one
CTF: hackerlab.pro

VK: vk.com/codeby
YT: clck.ru/XG99c

Сотрудничество: @KinWiz

Реклама: @Savchenkova_Valentina
Download Telegram
​​Самотрассировка, или марш-бросок по периметру отладчика

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

Читать на codeby: https://codeby.net/threads/samotrassirovka-ili-marsh-brosok-po-perimetru-otladchika.70133/

#asm #debug #marylin #seh #selfdebug #самотрассировка
​​DLL библиотеки – инструкция к метле

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

Читать на кодебай: https://codeby.net/threads/dll-biblioteki-instrukcija-k-metle.70177/

#asm #dll #dllmain #marylin #библиотеки
​​Стек – общая философия

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

Читать на Кодебай: https://codeby.net/threads/stek-obschaja-filosofija.70738/

#marylin #stack #Assembler #Ассемблер
​​NTFS-Stream, или резидентный код в камуфляжных штанах

Рассмотрим файловую систему NTFS как сущность, которой доверяем самое ценное что у нас есть – это личную информацию. Порой мы не знаем куда пристроить пароли или своего трояна так, чтобы он не выдал себя даже под пытками, ..ну или просто хотим скрыть фото зазнобы в неприглядном виде. Для решения "проблемы века", юзеры присваивают файлам атрибут скрытый, более продвинутые шифруют файлы и т.д. Но в своих закромах NTFS предлагает нам более изящные средства, причём без сторонних инструментов – нужно просто открыть спецификацию и покурить её (для надёжности) несколько раз.

Читать: https://codeby.net/threads/ntfs-stream-ili-rezidentnyj-kod-v-kamufljazhnyx-shtanax.69244/

#ntfs #stream #marylin
————————————————
Фриланс Кодебай — сервис поиска удаленной работы и размещения заказов
​​SYSENTER – скрытый запуск Native-API

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

Читать: https://codeby.net/threads/sysenter-skrytyj-zapusk-native-api.75264/

#asm #sysenter #marylin
————————————————
Фриланс Кодебай — сервис поиска удаленной работы и размещения заказов
​​ASM — Как уйти из под отладки

Тема противодействия отладке давно заезжена, и в сети можно встретить огромное кол-во классических (миссионерских) вариантов, от обычной проверки флагов функцией IsDebuggerPresent(), до более изощрённых финтов, типа срыв-стека приложения, или расширения его секций. Но разрабы таких инструментов как: Ghidra, x64Dbg, OllyDbg, IDA, Immunity и других, тоже почитывают те-же материалы, что и мы с вами. Движимые инстинктом выживания и удержанием своих позиций на рынке, они стараются учитывать эти нюансы в своих продуктах, в результате чего добрый десяток известных алгоритмов анти-дебага палится ещё на взлёте, различными их плагинами.

Читать: https://codeby.net/threads/asm-kak-ujti-iz-pod-otladki.75477/

#asm #breakpoint #marylin
————————————————
Фриланс Кодебай — сервис поиска удаленной работы и размещения заказов
​​ASM – техники из старого сундука

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

Читать: https://codeby.net/threads/asm-texniki-iz-starogo-sunduka.75535/

#asm #cpuid #marylin
————————————————
Фриланс Кодебай — сервис поиска удаленной работы и размещения заказов
​​ZIP'аем файл вручную (часть.1. упаковщик)

Допустим имеем файл и нужно перенести его в своей программе на чужую машину. Если этот файл будет внешним (на подобии библиотеки или драйвера), то сразу бросится в глаза. А что если зашить его в своё тело и создавать при запуске основного приложения? Благо производительность современных процессоров это позволяет и жертва даже не успеет понять в чём дело. Другими словами получим матку, которая будет порождать файлы.

Читать: https://codeby.net/threads/zipaem-fajl-vruchnuju-chast-1-pishem-koder.72036/

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

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

Читать: https://codeby.net/threads/zipaem-fajl-vruchnuju-chast-2-raspakovschik.72114/

#zip #marylin
​​SetupAPI – информация об устройствах

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

Читать: https://codeby.net/threads/setupapi-informacija-ob-ustrojstvax.71790/

#setupapi #marylin