Нашли готовую виртуальную машину для OSINT-исследований — Trace Labs OSINT VM.
Это не «магическая пробивалка», а отдельная рабочая среда для легального поиска по открытым источникам: CTF, фактчекинг, расследования, поиск цифровых следов и обучение OSINT.
Что внутри:
* Sherlock — поиск аккаунтов по username
* PhoneInfoga — анализ открытых данных по номерам
* SpiderFoot и sn0int — автоматизация OSINT-проверок
* theHarvester и h8mail — работа с email и утечками
* Shodan CLI — поиск по открытым интернет-устройствам
* Sublist3r — поддомены
* exiftool и steghide — метаданные и стеганография
* Obsidian — заметки прямо во время исследования
Главный плюс - всё уже собрано в изолированной VM, не нужно засорять основную систему десятками инструментов.
Подходит для обучения, CTF и легальных расследований по открытым данным.
Бэкдор может месяцами сидеть в системе незаметно. Показываю 6 шагов, как проверить свой ПК самому: автозагрузка, процессы и сеть, службы и планировщик, полное сканирование, удалённый доступ. Если что-то странное, меняй пароли и проверяй систему офлайн.
Случайно удалил файл и не понимаешь, что именно пропало?
Попробуй проверить недавние изменения:
find ~/ -type f -mtime -1
Команда покажет файлы в домашней директории, которые менялись за последние 24 часа.
Важно: она не восстановит удалённые файлы. Но поможет быстро понять, что недавно редактировалось, какие файлы могли быть затронуты и где искать следы ошибки.
Полезно, когда нужно разобраться после случайного удаления, неудачного скрипта или странного поведения программы.
🛡️ Awesome Privacy — это список лучших инструментов, ресурсов и практик для защиты вашей конфиденциальности и минимизации цифрового следа.
📦 Категории включают:
- Браузеры и расширения
- Поисковые системы
- Электронная почта и мессенджеры
- VPN и Tor
- Операционные системы
- Удаление трекеров
- Защита мобильных устройств
- Файлы и облачные хранилища
- Обход цензуры
- Удаление аккаунтов
- Полезные гайды и многое другое
Проект стремится предоставить исчерпывающее руководство по замене популярных сервисов на более конфиденциальные альтернативы, а также объясняет, почему это важно.
💡 Незаменимый ресурс для тех, кто всерьёз обеспокоен своей приватностью в цифровом мире.
⚡️ Почему обычный `min(a, b)` в C может вернуть неожиданный результат
В C есть неприятная ловушка: если сравнивать signed и unsigned значения, компилятор может привести оба числа к unsigned.
И тогда отрицательное число внезапно превращается в огромное положительное.
Пример:
#define min(a, b) ((a) < (b) ? (a) : (b))
int x = -1;
unsigned int y = 10;
printf("%u\n", min(x, y));
Интуитивно кажется, что минимум — -1.
Но при сравнении x < y значение -1 приводится к unsigned и становится очень большим числом. В итоге сравнение работает уже не так, как ожидает разработчик.
Именно поэтому в Linux kernel макрос min() устроен хитрее. Он не просто сравнивает два значения, а сначала делает type check:
Она заставляет компилятор проверить, что типы совместимы. Если один аргумент signed, а другой unsigned, такой код может превратиться в ошибку компиляции, а не в тихий баг в рантайме.
Это хороший пример системного C-подхода: лучше сломать сборку сразу, чем получить «правильный» код, который иногда считает неправильно.
В низкоуровневом коде такие мелочи решают очень много. Один неудачный implicit conversion — и проверка размера, индекса или лимита начинает работать против вас.