Как стать автором
Обновить
0
0

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

Отправить сообщение

Как написать свою кроссплатформенную библиотеку для хуков и не отстрелить себе ноги

Время на прочтение15 мин
Количество просмотров5.3K

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

Конечно же написать свою!

В этой статье я расскажу что лежит внутри библиотек для перехвата x86 кода и почему оно так работает. А также - как искал баги неделями, и что из этого вообще получилось.

Читать далее
Всего голосов 16: ↑15 и ↓1+18
Комментарии10

Установка OpenSSL для проекта на С++

Время на прочтение10 мин
Количество просмотров13K

Решая в целом тривиальные задачи, приходится сталкиваться с нетривиальными проблемами, и эта история, собственно, об этом.

В кои-то веки, решив написать код для себя любимого, проработал проект, установил окружение, прописал в проекте boost и пошёл писать модули.

Ничто не предвещало беды, но в процессе написания кода было обнаружено, что модуль, который запрашивал у интернета погоду, получал вместо описанного в API json'а следующее: "400 The plain HTTP request was sent to HTTPS port". Уж чем руководствовался разработчик сайта, не перенаправивший запрос без персональных данных, не знаю, но видимо хакеры хотят украсть сведения о погоде в деревне так сильно, что спать и есть не могут.

И тут я сделал манёвр, который стоил мне 50 лет. Точнее, пары бессонных ночей, так как работать тоже надо. Ничтоже сумнящийся, подключил boost::asio::ssl, написал тестовый код, который должен был проверить что теперь есть контакт, но тут моя бровь поднялась вверх в первый раз: проект перестал собираться, потому что в системе не было OpenSSL.

Как настроить openssl и не потеряться
Всего голосов 17: ↑9 и ↓8+5
Комментарии29

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность

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

Backend Developer, Server Administrator
Git
Linux
OOP
Nginx
Database
C++
C++ STL
System Programming
Multiple thread
Software development