C++ Гайд Пишем простою авторизацию ( PHP/C++ ) и настраиваем базу данных

Пользователь
Статус
Оффлайн
Регистрация
22 Май 2022
Сообщения
203
Реакции[?]
43
Поинты[?]
6K
Где логика то? Твой пост как раз показывает то, как работать с БД не надо. Если ты хотел продемонстрировать пример "от обратного", то показано отлично! Вот только стоило об этом как-то обмолвиться, чтобы не вводить людей в заблуждение о правильности реализации...

Код на плюсах тоже имеет некие огрехи, например "CreateUrlRequest( "/index.php?api=1&login=" + std::string( login ) + "&password=" + std::string( password ) );" - тут прям просится какая-нибудь функция для форматирования строк (std::format например). Но делать так, в любом случае, нельзя. Для таких целей куда больше подходят POST запросы.

К тому же, если ты позиционируешь свою статью как "Для начинающих", то стоило бы обмолвится о шифровании трафика (хотя бы в двух словах сказать про: ECC, Poly1305, XSalsa20, AES и так далее), а также сказать о том, что текстовые протоколы - это моветон для таких решений. И нужно использовать какой-нибудь бинарный протокол (по типу protobuf-а). А раз у тебя реализована авторизация, то неплохо было бы показать (или хотя бы сказать) работу с сессиями. Также пароли нужно хранить в хешированом виде
Про шифрование трафика да сам бы хотел увидеть между клиентом и сервером, по сути можно же просто енкриптить всю дату с клиента и все и на серваке только его декриптить не думаю, что составит труда, но гет запрос тут сделан только потому что юзал не курл думаю, если будет время сделай пост об шифрование между клиентом и сервером интересно будет увидеть
 
Забаненный
Статус
Оффлайн
Регистрация
2 Мар 2021
Сообщения
1,083
Реакции[?]
406
Поинты[?]
1K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Неплохо, но опять же как написали выше, нет защиты, хотя новичку это лучше знать, чем потом попасться)
Тред полезный:seemsgood:
И советую не юзать свитчи, ибо они куда загруженные чем тем же самые if else (Но это имхо не более)

Кейс можно переписать проще
PHP:
            $sql_query = $mysqli->query( "SELECT `login` FROM `test` WHERE `password` = '$password'" );
            if ($sql_query->num_rows)
            {
                $api_response = "Success auth!";
                break;
             } else {
                $api_response = "unauthorized 403";
            break;
           }
Нет смысла юзать два брика, ибо ты и так можешь пихнуть его в условие. Хотя навреное все таки грамотно в плане точки реализации будет брик в конце. Ваще не пейте пиво и не пишите на пыхе
еще на моменте написанмя треда решил оставить брик после условия, поскольку, да, подумал про правильность, ведь в этом кейсе может быть не одно условие, а несколько
 
IRQL_APC_LEVEL
Пользователь
Статус
Оффлайн
Регистрация
25 Авг 2018
Сообщения
211
Реакции[?]
88
Поинты[?]
3K
Про шифрование трафика да сам бы хотел увидеть между клиентом и сервером, по сути можно же просто енкриптить всю дату с клиента и все и на серваке только его декриптить не думаю, что составит труда, но гет запрос тут сделан только потому что юзал не курл думаю, если будет время сделай пост об шифрование между клиентом и сервером интересно будет увидеть
  1. Ты не можешь шифровать прям "все" данные. Тебе придется оставить незашифрованными N байт, которые уйдут, как минимум, под размер и nonce (если крипта его будет требовать). Это связано с тем, что данные по сетке передаются кусками и ты как-то должен понять, а "прочитал" ли ты полностью пакет или ещё нужно что-то "дочитать".

  2. "Правильное/защищенное" соединение реализуется примерно таким алгоритмом:
    2.1) Берем какой-нибудь алгоритм ассиметричного (кроме RSA, имхо) и симметричного шифрования. P.s. Чтобы не воять свои велосипеды, можешь, например, взять библиотеку libsoduim.
    2.2) Создаем публичный и приватный ключ (будем считать, что мы - это клиент)
    2.3) Отправляем хендшейк запрос серверу (который содержит в себе наш публичный ключ)
    2.4) Сервер принимает наш публичный ключ. После генерирует симметричный ключ и генерирует свой публичный + приватный ключ, а потом шифрует симетричный ключ (нашим публичным и его приватным ключем).
    2.5) Сервер отправляет нам зашифрованный симметричный ключик вместе со своим публичным.
    2.6) Мы расшифровываем симетричный ключ при помощи своего приватного и публичного ключа сервера.
    2.7) Дальше работаем через выбраный алгоритм симметричного шифрования и полученный ключик.

    P.s. Я описал очень простую схему. В реальности у тебя будет ещё диллема с сохранением симметричного ключа на стороне сервера (в случае HTTP сервера), ибо "сервер у тебя один, а клиентов у сервера много :tonguewink:" - собственно, поэтому я и писал в предыдущем сообщении про сессии, а также проверками целостности и тд.
    В общем и целом, эта тема весьма не тривиальная и имеет много подводных камней.

  3. Использовать curl - это не лучшая идея. Под Windows есть WinInet (он из коробки дает интерфейсы для HTTP запросов + есть поддержка HTTP2, но только с 10 винды, если я не ошибаюсь), также можно использовать и голые винсоки или boost.asio (или beast).
 
Последнее редактирование:
Забаненный
Статус
Оффлайн
Регистрация
16 Мар 2023
Сообщения
37
Реакции[?]
23
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Ребят, прочитайте название темы. Вы к чему говорите здесь о небезопасности данной реализации? Тот кто шарит, очевидно, поймёт, что это плохой вариант.
А с каких пор простой способ = небезопасный? Сюда зайдут те кто шарит, и напишут абсолютно то же самое что и я
 
Начинающий
Статус
Оффлайн
Регистрация
26 Мар 2023
Сообщения
9
Реакции[?]
5
Поинты[?]
0
  1. Ты не можешь шифровать прям "все" данные. Тебе придется оставить незашифрованными N байт, которые уйдут, как минимум, под размер и nonce (если крипта его будет требовать). Это связано с тем, что данные по сетке передаются кусками и ты как-то должен понять, а "прочитал" ли ты полностью пакет или ещё нужно что-то "дочитать".

  2. "Правильное/защищенное" соединение реализуется примерно таким алгоритмом:
    2.1) Берем какой-нибудь алгоритм ассиметричного (кроме RSA, имхо) и симметричного шифрования. P.s. Чтобы не воять свои велосипеды, можешь, например, взять библиотеку libsoduim.
    2.2) Создаем публичный и приватный ключ (будем считать, что мы - это клиент)
    2.3) Отправляем хендшейк запрос серверу (который содержит в себе наш публичный ключ)
    2.4) Сервер принимает наш публичный ключ. После генерирует симметричный ключ и генерирует свой публичный + приватный ключ, а потом шифрует симетричный ключ (нашим публичным и его приватным ключем).
    2.5) Сервер отправляет нам зашифрованный симметричный ключик вместе со своим публичным.
    2.6) Мы расшифровываем симетричный ключ при помощи своего приватного и публичного ключа сервера.
    2.7) Дальше работаем через выбраный алгоритм симметричного шифрования и полученный ключик.

    P.s. Я описал очень простую схему. В реальности у тебя будет ещё диллема с сохранением симметричного ключа на стороне сервера (в случае HTTP сервера), ибо "сервер у тебя один, а клиентов у сервера много :tonguewink:" - собственно, поэтому я и писал в предыдущем сообщении про сессии, а также проверками целостности и тд.
    В общем и целом, эта тема весьма не тривиальная и имеет много подводных камней.

  3. Использовать curl - это не лучшая идея. Под Windows есть WinInet (он из коробки дает интерфейсы для HTTP запросов + есть поддержка HTTP2, но только с 10 винды, если я не ошибаюсь), также можно использовать и голые винсоки или boost.asio (или beast).
Ассиметричное шифрование бесполезно для таких задач, это сугубо понты, которые не дают ничего кроме головной боли
Реверсер поставит бряк на обработчик перед отправкой запроса (даже запариваться не надо, пройдется по адресам возврата в стеке) и все
Если хочется запариться, норм решением будет вызов сисколлов из х86 приложения (через врата рая) и общение с сетью через afd.sys
Прийдется конечно пореверсить это дело, но зато в результат будет офигенный

  • Использовать curl - это не лучшая идея. Под Windows есть WinInet (он из коробки дает интерфейсы для HTTP запросов + есть поддержка HTTP2, но только с 10 винды, если я не ошибаюсь), также можно использовать и голые винсоки или boost.asio (или beast).
Если задачи реализовать что то низкоуровневое не стоит, курл норм вариант. Нет смысла городить кучу кода и велосипедов с вининетом, сокетами, если задача того не требует. Буст вообще тяжелый, и ради сети его тащить бред. Асио это не про сеть, а про асинхронность.

P.S: ТС, ты базис информатики и сам язык выучи прежде чем писать такие гайды

Какой то говнокод в процедурном стиле, смесь си и плюсов, неиспользуемые переменные
 
Последнее редактирование:
feel irl
Участник
Статус
Оффлайн
Регистрация
21 Дек 2018
Сообщения
677
Реакции[?]
294
Поинты[?]
16K
А с каких пор простой способ = небезопасный?
Обычно так всегда. Я не утверждал того, что ты у меня спрашиваешь. Уточните свой вопрос и мы обязательно на него ответим.
 
IRQL_APC_LEVEL
Пользователь
Статус
Оффлайн
Регистрация
25 Авг 2018
Сообщения
211
Реакции[?]
88
Поинты[?]
3K
Ассиметричное шифрование бесполезно для таких задач, это сугубо понты, которые не дают ничего кроме головной боли
Реверсер поставит бряк на обработчик перед отправкой запроса (даже запариваться не надо, пройдется по адресам возврата в стеке) и все
Если хочется запариться, норм решением будет вызов сисколлов из х86 приложения (через врата рая) и общение с сетью через afd.sys
Прийдется конечно пореверсить это дело, но зато в результат будет офигенный



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

P.S: ТС, ты базис информатики и сам язык выучи прежде чем писать такие гайды

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

И говорить о том, что E2E крипта - это понт, это очень странно, ибо используется она в большом колличестве мест. И для лоадеров она тоже подходит, имхо.
А по поводу сисколлов - да, это возможно. Но это огромный и сложный велосипед, причем его будет сложно как сделать, так и поддерживать.
К тому же, что тебе такого дадут сисколы? Да, их не так просто просто перехватить, как обычные вызовы, это усложнит анализ. Но использование одних лишь сисколов не даст топ защиты, ибо если ты отказываешься от обмена ключами с сервером, то ты выбираешь алгоритм, при котором ключ у тебя будет зашит в самом ПО, что не особо гуд для защиты.

P.s. Те же вызовы сисколов (из ring3) можно хендлить через хук "_KPROCESS.InstrumentationCallback". Также есть те же визорные дебагеры. В общем и целом, далеко не факт, что "игра будет стоить свеч".

И касаемо "Асио это не про сеть, а про асинхронность" -> "Asio is a cross-platform C++ library for network and low-level I/O programming that provides" (
Пожалуйста, авторизуйтесь для просмотра ссылки.
). Также есть Asio без Boost, это на тот случай, если буст за собой тащить не хочешь.
 
Последнее редактирование:
Эксперт
Статус
Оффлайн
Регистрация
29 Мар 2021
Сообщения
1,523
Реакции[?]
572
Поинты[?]
8K
простую, если че

мужик ты че говна вьебал
 
Последнее редактирование:
Начинающий
Статус
Оффлайн
Регистрация
26 Мар 2023
Сообщения
9
Реакции[?]
5
Поинты[?]
0
Интересно, это кто же таким будет заниматься? Схема с перехватом функций роутера и хендлера пакетов актуальна ровно до тех пор, пока ты не встретишься с какой-нибудь ВМ, проверками целостности кода, детектами хуков и тд. Да и зачем тебе вообще делать перехват? Ты митмить собрался что-ли? Реверсить протокол - это одно из последних, что будут делать. В превалирующем количестве случаев, куда проще выполнить кряк уже промапленного бинаря (если мы говорим в контексте лоадеров), а не пытаться достать его из сетевого трафика (тут важно уточнить, что я говорю в контексте, в котором сетевое общение будет сделано грамотно).

И говорить о том, что E2E крипта - это понт, это очень странно, ибо используется она в большом колличестве мест. И для лоадеров она тоже подходит, имхо.
А по поводу сисколлов - да, это возможно, но ты сам в своем сообщении написал, что "Нет смысла городить кучу кода и велосипедов", а типа реализация работы с сокетами на сисколах - это не один большой велосипед?
К тому же, что тебе такого дадут сисколы? Да, их не так просто просто перехватить, как обычные вызовы, это усложнит анализ. Но использование одних лишь сисколов не даст топ защиты, ибо если ты отказываешься от обмена ключами с сервером, то ты выбираешь алгоритм, при котором ключ у тебя будет зашит в самом ПО, что не особо гуд для защиты.

P.s. Те же вызовы сисколов (из ring3) можно хендлить через хук "_KPROCESS.InstrumentationCallback". Также есть те же визорные дебагеры. В общем и целом, далеко не факт, что "игра будет стоить свеч".

И касаемо "Асио это не про сеть, а про асинхронность" -> "Asio is a cross-platform C++ library for network and low-level I/O programming that provides" (
Пожалуйста, авторизуйтесь для просмотра ссылки.
). Также есть Asio без Boost, это на тот случай, если буст за собой тащить не хочешь.
Реверсить протокол и не нужно, все данные получаются установкой одного бряка и далее ты можешь делать все что хочешь с ними.
Суть сисколлов через врата рая в том, что они уебут любой отладчик, ты такой код попросту не протрейсишь. Разве что через виндбг.
P.s. Те же вызовы сисколов (из ring3) можно хендлить через хук "_KPROCESS.InstrumentationCallback". Также есть те же визорные дебагеры. В общем и целом, далеко не факт, что "игра будет стоить свеч"
Никто не будет таким заниматься, я не говорю, что крякнуть софт не получится, абсолютно все можно крякнуть. Здесь речь об усложнении работы реверсеру.

И касаемо "Асио это не про сеть, а про асинхронность" -> "Asio is a cross-platform C++ library for network and low-level I/O programming that provides" (
Пожалуйста, авторизуйтесь для просмотра ссылки.
). Также есть Asio без Boost, это на тот случай, если буст за собой тащить не хочешь.
Asio — это свободно распространяемая
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
с
Пожалуйста, авторизуйтесь для просмотра ссылки.
для
Пожалуйста, авторизуйтесь для просмотра ссылки.
. Библиотека предоставляет разработчикам согласованную модель
Пожалуйста, авторизуйтесь для просмотра ссылки.
с использованием современного подхода в программирование на C++

Это обертка над IOCP, грубо говоря.

А вообще, дай телегу либо дс в пм, потрещим за кодинг.
 
Последнее редактирование:
Эксперт
Статус
Оффлайн
Регистрация
29 Мар 2021
Сообщения
1,523
Реакции[?]
572
Поинты[?]
8K
Суть сисколлов через врата рая в том, что они уебут любой отладчик, ты такой код попросту не протрейсишь. Разве что через виндбг. А вообще, дай телегу либо дс в пм, потрещим за кодинг.
@
ТЫ ТАКОЙ КОД ПОПРОСТУ НЕ ПРОТРЕЙСИШЬ
@
РАЗВЕ ЧТО ЧЕРЕЗ СТАНДАРТНУЮ УТИЛИТУ ДЛЯ ДЕБАГА ПРИЛОЖЕНИЙ
 
Начинающий
Статус
Оффлайн
Регистрация
26 Мар 2023
Сообщения
9
Реакции[?]
5
Поинты[?]
0
@
ТЫ ТАКОЙ КОД ПОПРОСТУ НЕ ПРОТРЕЙСИШЬ
@
РАЗВЕ ЧТО ЧЕРЕЗ СТАНДАРТНУЮ УТИЛИТУ ДЛЯ ДЕБАГА ПРИЛОЖЕНИЙ
Отвечать на твой вброс даже не буду, виндбг и та же олли либо х64дбг это инструменты абсолютно разного уровня для разных целей. Виндбг соответственно сложнее намного, про "стандартную утилиту" угарнул, пойду подебажу виндбг))

Суть в том, что после прыжка через cs:33h отладчик упадет, а если это все совместить с хорошей обфускацией, трешкодом, можно нагородить хороший антидебаг. Даже если допустить то, что отлаживать будут через виндбг, можно заинлайнить, допустим, правку адреса возврата в случае обнаружения отладчика (той же методикой, через сисколлы) и код будет улетать в пизду.

P.S: Не обязательно в коде будет инструкция syscall, не забываем о заворачивании таких моментов в ROP цепочку
Интересно, это кто же таким будет заниматься? Схема с перехватом функций роутера и хендлера пакетов актуальна ровно до тех пор, пока ты не встретишься с какой-нибудь ВМ, проверками целостности кода, детектами хуков и тд. Да и зачем тебе вообще делать перехват? Ты митмить собрался что-ли? Реверсить протокол - это одно из последних, что будут делать. В превалирующем количестве случаев, куда проще выполнить кряк уже промапленного бинаря (если мы говорим в контексте лоадеров), а не пытаться достать его из сетевого трафика (тут важно уточнить, что я говорю в контексте, в котором сетевое общение будет сделано грамотно).

И говорить о том, что E2E крипта - это понт, это очень странно, ибо используется она в большом колличестве мест. И для лоадеров она тоже подходит, имхо.
А по поводу сисколлов - да, это возможно. Но это огромный и сложный велосипед, причем его будет сложно как сделать, так и поддерживать.
К тому же, что тебе такого дадут сисколы? Да, их не так просто просто перехватить, как обычные вызовы, это усложнит анализ. Но использование одних лишь сисколов не даст топ защиты, ибо если ты отказываешься от обмена ключами с сервером, то ты выбираешь алгоритм, при котором ключ у тебя будет зашит в самом ПО, что не особо гуд для защиты.

P.s. Те же вызовы сисколов (из ring3) можно хендлить через хук "_KPROCESS.InstrumentationCallback". Также есть те же визорные дебагеры. В общем и целом, далеко не факт, что "игра будет стоить свеч".

И касаемо "Асио это не про сеть, а про асинхронность" -> "Asio is a cross-platform C++ library for network and low-level I/O programming that provides" (
Пожалуйста, авторизуйтесь для просмотра ссылки.
). Также есть Asio без Boost, это на тот случай, если буст за собой тащить не хочешь.
А по поводу сисколлов - да, это возможно. Но это огромный и сложный велосипед, причем его будет сложно как сделать, так и поддерживать.
А что сложного? Реализация хевика строк 20-40 максимум, достать номер сисколла из нтдлл примерно так же.
 
Последнее редактирование:
Разработчик
Статус
Оффлайн
Регистрация
18 Мар 2020
Сообщения
435
Реакции[?]
856
Поинты[?]
180K
угарнул, пойду подебажу виндбг
А что такого? Ты никогда не дебажил в кернеле?

Суть в том, что после прыжка через cs:33h отладчик упадет
Ну, во-первых х32дбг не падает при попытке трассировать ret far, eip просто уходит в RET на одну из нтшных функции, во-вторых, много кто предпочитает использовать и другие отладчики, к этому списку относится и отладчик CE, который несмотря на ужасно неудобный для меня интерфейс всё же спокойно трассирует код в х64 контексте
правку адреса возврата в случае обнаружения отладчика (той же методикой, через сисколлы) и код будет улетать в пизду.
Невероятные технологии, которые виндбг при трассе не сможет заметить

В общем, автору цистерну говна за неумение дебажить в виндбг
 
Пользователь
Статус
Оффлайн
Регистрация
22 Май 2022
Сообщения
203
Реакции[?]
43
Поинты[?]
6K
А что такого? Ты никогда не дебажил в кернеле?


Ну, во-первых х32дбг не падает при попытке трассировать ret far, eip просто уходит в RET на одну из нтшных функции, во-вторых, много кто предпочитает использовать и другие отладчики, к этому списку относится и отладчик CE, который несмотря на ужасно неудобный для меня интерфейс всё же спокойно трассирует код в х64 контексте

Невероятные технологии, которые виндбг при трассе не сможет заметить

В общем, автору цистерну говна за неумение дебажить в виндбг
а если я с этой цистерной не знаком, мне полагается 200 рублей?
 
Начинающий
Статус
Оффлайн
Регистрация
26 Мар 2023
Сообщения
9
Реакции[?]
5
Поинты[?]
0
А что такого? Ты никогда не дебажил в кернеле?


Ну, во-первых х32дбг не падает при попытке трассировать ret far, eip просто уходит в RET на одну из нтшных функции, во-вторых, много кто предпочитает использовать и другие отладчики, к этому списку относится и отладчик CE, который несмотря на ужасно неудобный для меня интерфейс всё же спокойно трассирует код в х64 контексте

Невероятные технологии, которые виндбг при трассе не сможет заметить

В общем, автору цистерну говна за неумение дебажить в виндбг
А что такого? Ты никогда не дебажил в кернеле?
Если бы ты хоть немного вчитывался в контекст, речь идет об отладке юзермодного приложения


Ну, во-первых х32дбг не падает при попытке трассировать ret far, eip просто уходит в RET на одну из нтшных функции, во-вторых, много кто предпочитает использовать и другие отладчики, к этому списку относится и отладчик CE, который несмотря на ужасно неудобный для меня интерфейс всё же спокойно трассирует код в х64 контексте
Под падением подразумевалось прекращение трассировки кода. Повторюсь, суть в УСЛОЖНЕНИИ РАБОТЫ РЕВЕРСЕРУ, большинство людей для отладки приложений без PDB юзают олли либо х64дбг, это дефолт, т.к это в разы удобнее


Невероятные технологии, которые виндбг при трассе не сможет заметить

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

А ещё кстати можно регнуть вех обработчик, хитроумным методом вызывая исключение под отладкой, например через NtClose. А после этого уже в вех обработчике творить магию с правкой адреса возврата
 
Последнее редактирование:
Разработчик
Статус
Оффлайн
Регистрация
18 Мар 2020
Сообщения
435
Реакции[?]
856
Поинты[?]
180K
Если бы ты хоть немного вчитывался в контекст, речь идет об отладке юзермодного приложения
Я лично знаю людей, которые дебажут и в юзермоде через виндбг, чо дальше?

Под падением подразумевалось прекращение трассировки кода. Повторюсь, суть в УСЛОЖНЕНИИ РАБОТЫ РЕВЕРСЕРУ, большинство людей для отладки приложений без PDB юзают олли либо х64дбг, это дефолт
Ну бля, уточняй сразу и четко в одном предложении что ты именно подразумеваешь, чо бубнишь то как дед недовольный?

Ну как бы надо вчитываться в то, что я пишу. При трассировке то ты определенно заметишь вызов сискола, я выше упоминал то, что нужно обфусцировать код, делать трешген, цфф. Если заинлайнить такое, разбавляя код прыжками в роп цепочки, потенциальный реверсер заебется всю эту кашу трейсить. Это убийство времени. Реально, вчитывайся хотя бы в мои мысли перед тем, как нести бред
Ну лень мне будет ковырять твоё говно в рантайме, окей, спасёт тебя запутывание кода, если я нирвана хук заюзаю против твоего сисколла в х64 контексте и выведу адрес R10? Тебе человек выше сказал про это, только твой ответ был таков: "Никто не будет таким заниматься", охуеть, людям ведь так трудно будет вызвать NtSetInformationProcess с каллбеком, чо будешь делать в таком случае? Спасаться вмпротектом, который тоже ставит каллбек?

В общем, автору вторую цистерну говна за плохое "усложнение работы реверсеру"
 
Obstruct Omicronium
Пользователь
Статус
Оффлайн
Регистрация
28 Авг 2022
Сообщения
65
Реакции[?]
75
Поинты[?]
63K
Начинающий
Статус
Оффлайн
Регистрация
26 Мар 2023
Сообщения
9
Реакции[?]
5
Поинты[?]
0
Я лично знаю людей, которые дебажут и в юзермоде через виндбг, чо дальше?


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


Ну лень мне будет ковырять твоё говно в рантайме, окей, спасёт тебя запутывание кода, если я нирвана хук заюзаю против твоего сисколла в х64 контексте и выведу адрес R10? Тебе человек выше сказал про это, только твой ответ был таков: "Никто не будет таким заниматься", охуеть, людям ведь так трудно будет вызвать NtSetInformationProcess с каллбеком, чо будешь делать в таком случае? Спасаться вмпротектом, который тоже ставит каллбек?

В общем, автору вторую цистерну говна за плохое "усложнение работы реверсеру"
Я лично знаю людей, которые дебажут и в юзермоде через виндбг, чо дальше?
Ну и? Я не улавливаю сути того, к чему ты мне это пишешь, в постах выше речь об усложнении работы реверсерам (я о трассировке приложения), это не панацея

Ну лень мне будет ковырять твоё говно в рантайме, окей, спасёт тебя запутывание кода, если я нирвана хук заюзаю против твоего сисколла в х64 контексте и выведу адрес R10? Тебе человек выше сказал про это, только твой ответ был таков: "Никто не будет таким заниматься", охуеть, людям ведь так трудно будет вызвать NtSetInformationProcess с каллбеком, чо будешь делать в таком случае? Спасаться вмпротектом, который тоже ставит каллбек?
Опять же возвращаемся к предыдущему сообщению, больше приемов борьбы с трассировкой = больше времени на анализ. Спастись от трассировки попросту невозможно, это вопрос времени, её можно только усложнить. А если приложение маленькое само по себе, то там вообще без вариантов.

Я тебе про трассировку, ты мне про вирту вмпротекта, прикольно че :tearsofjoy:
Передам ASLR при встрече привет
Причем ASLR к роп цепочке? Просканируй секцию кода нужного модуля, найди в рантайме нужную последовательность байт и прыгни туда. Речь сугубо о вызове сисколла
 
Разработчик
Статус
Оффлайн
Регистрация
1 Сен 2018
Сообщения
1,606
Реакции[?]
872
Поинты[?]
113K
Ну и? Я не улавливаю сути того, к чему ты мне это пишешь, в постах выше речь об усложнении работы реверсерам (я о трассировке приложения), это не панацея
Усложняем роботу реверсерам хевен гайтом, который легко отслеживается инструментал каллбеком. НЕТ ТЫ НЕ ПОНИМАЕШЬ, ЭТО НЕ ТАК... ТЫ НЕ ПОЙМЕШЬ ЧТО ТАМ SYSCALL... Да блять что это за аргументы такие, не поймет, не найдет, при должном желании всё становится видно и ясно, чтобы ты не пытался скрыть от глаз реверс-инженеров.
Опять же возвращаемся к предыдущему сообщению, больше приемов борьбы с трассировкой = больше времени на анализ. Спастись от трассировки попросту невозможно, это вопрос времени, её можно только усложнить. А если приложение маленькое само по себе, то там вообще без вариантов.
Ну потратит чел на 3 минуты дольше анализируя твой код, чо дальше? Сильно ты "убил желание продолжать реверсить продукт"?

Унаследуя традицию колби:
В общем, автору грузовик с мануалами по хеавен гейту за "убийство желания реверсить продукт"
 
Разработчик
Статус
Оффлайн
Регистрация
18 Мар 2020
Сообщения
435
Реакции[?]
856
Поинты[?]
180K
Опять же возвращаемся к предыдущему сообщению, больше приемов борьбы с трассировкой = больше времени на анализ. Спастись от трассировки попросту невозможно, это вопрос времени, её можно только усложнить. А если приложение маленькое само по себе, то там вообще без вариантов.
Как же ты любишь лапшу на уши вешать людям, какая нахуй разница сколько ты там приёмов против трассировки вложишь чтобы увеличить время на анализ, если твой любимый сисколл о котором ты говоришь для взаимодействия с ретаддресом из "ВРАТА РАЯ" спалиться моим каллбеком и выдаст свой адрес в программе?

Я тебе про трассировку, ты мне про вирту вмпротекта, прикольно че :tearsofjoy:
Тебе третью цистерну говна завести? Где я сказал что-то про вирту вмпротекта? Я тебе сказал, что он тоже каллбек ставит чтобы реверсерам мешать абузить нирвана хук, у меня не осталось сомнений в твоей некомпетентности после твоего последнего предложения, думаю диалог можно заканчивать
 
Начинающий
Статус
Оффлайн
Регистрация
26 Мар 2023
Сообщения
9
Реакции[?]
5
Поинты[?]
0
Как же ты любишь лапшу на уши вешать людям, какая нахуй разница сколько ты там приёмов против трассировки вложишь чтобы увеличить время на анализ, если твой любимый сисколл о котором ты говоришь для взаимодействия с ретаддресом из "ВРАТА РАЯ" спалиться моим каллбеком и выдаст свой адрес в программе?


Тебе третью цистерну говна завести? Где я сказал что-то про вирту вмпротекта? Я тебе сказал, что он тоже каллбек ставит чтобы реверсерам мешать абузить нирвана хук, у меня не осталось сомнений в твоей некомпетентности после твоего последнего предложения, думаю диалог можно заканчивать
Как же ты любишь лапшу на уши вешать людям, какая нахуй разница сколько ты там приёмов против трассировки вложишь чтобы увеличить время на анализ, если твой любимый сисколл о котором ты говоришь для взаимодействия с ретаддресом из "ВРАТА РАЯ" спалиться моим каллбеком и выдаст свой адрес в программе?

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

Про вмп, цитирую:
Ну бля, уточняй сразу и четко в одном предложении что ты именно подразумеваешь, чо бубнишь то как дед недовольный?

Я бы продолжил с тобой диалог, но ты общаешься как школьник (коим ты собственно и являешься), переходя на оскорбления и выражая неуважение в диалоге, так что гуляй, попуск :)
 
Сверху Снизу