Обновить
8
Elmocacino@loropiana

Пользователь

8
Подписчики
Отправить сообщение

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

Поделитесь библиотекой под linkedin

Вот еще книга просто космос , но единственное что нашел только на Английском и это все таки тормозит чуть процесс чтения

вообще не понял )) с каких пор у Си отсутствуют массивы и функции ? ))) Да, C не учит высоким абстракциям напрямую, зато отлично учит понимать, как работает компьютер. И после этого уже можно спокойно осваивать любые парадигмы.

Хорошо написано, но мне че то вникать проще было на Ghidra в реверс

Считаю категорически наоборот , как по мне С самый лучший вход в программирование

Видел ее не раз , но че то как то руки не доходили изучить

Да, суть в этом: сигфолт — уже поздно что-то чистить. Нужно не допускать переполнения: проверять длину, корректно завершаться и освобождать ресурсы в ветке ошибки

Именно. strncpy задумывалась под fixed-size поля, а не как безопасная замена strcpy. Поэтому предсказуемее и быстрее самому сделать memcpy + '\0' с контролем размера, чем ловить сюрпризы.

Не совсем 🙂 Защиты мешают сделать RCE, но переполнение всё равно = баг: краши, утечки, нестабильность. Проверять буфер надо обязательно — тем более защиты не идеальны, их иногда удаётся обходить в связке с другими ошибками.

#include <stdio.h>
#include <string.h>

void greet(const char *name) {
    char buf[8];
    strcpy(buf, name); // переполнение
    printf("Привет, %s\n", buf);
}

int main(int argc, char **argv) {
    greet(argc > 1 ? argv[1] : "user");
    return 0;
}

Даже если включены ASLR, NX, canaries и прочие защиты:

1) при вводе строки длиннее 8 символов программа гарантированно упадёт (Segfault);

2) это уже отказ в обслуживании (DoS);

3) а в отчёте об ошибке или дампе памяти может утечь лишняя информация (например, кусок стека)

Да, но у strncpy тоже свои подводные камни — она может не дописать '\0', и тогда придётся вручную проверять. Поэтому многие используют memcpy + ‘\0’ с контролем размера.

Статья просто показывает примеры небезопасных функций в учебных целях. Когда я сам только вникал в C, мне это было тяжело понять так же, как и работу с указателями...

Пример со strcpy действительно баян, но он не про то, как приходят данные, а про то, что сама функция не знает границ приёмника. Хоть буферизуй ввод, хоть подавай по байту — если на стеке 8 байт, а пишешь 9, будет выход. Решается только явным контролем длины или нормальной сущностью “строка” с len/cap.

Соглашусь частично ) После плотного погружения в C действительно меняется «карта местности» в голове: начинаешь мысленно держать стек, границы буферов и инварианты — и на высокоуровневых языках порой сам себе усложняешь жизнь, пытаясь всё «приземлить» до байтов и указателей. Но это не повод фетишизировать C и не повод отвергать ОО-подход: у каждого инструмента своя зона эффективности

Количество безопасников на одного разработчика зависит от того, сколько уязвимостей останется в его коде 🙂 Контролёры не «знают больше» — они просто смотрят на софт под другим углом: не как его использовать, а как сломать. Cи здесь важен не потому, что «поможет ловить баги в Java/Python», а потому что даёт понимание, что происходит под капотом. Когда понимаешь, как работает память, стек и сетевые вызовы на уровне C — начинаешь иначе читать любой код, даже на высокоуровневых языках. А дальше — да, путь глубже уводит уже к железу. Но именно C делает этот переход возможным.

как вариант использовать файл с конфигом

Шифрование поверх существующих мессенджеров

Массовые блокировки сейчас не только палки коснулись , страйпы тоже блокируют пачками причем независимо от вида деятельности

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность

Специализация

Веб-аналитик
Ведущий
Python
Linux
PostgreSQL
Nginx
C++ stl
C
Алгоритмы и структуры данных
Разработка программного обеспечения
C++
Прикладная математика