Пожалуйста, обратите внимание, что пользователь заблокирован
Есть ли возможность хукнуть ту или иную функцию в kernel32.dll глобально без длл инжекта? Хочу хукнуть ReadProcessMemory для предотвращение чтения памяти моей апплы
у меня скорее задача не запретить чтение, а при таковой попытке завершать работу процессаЗадача невыполнима из юзермода. Ты не сможешь ГЛОБАЛЬНО запретить приложениям читать твою память как минимум потому, что не во все приложения у тебя будет возможность проинжектиться либо из за недостатка прав, либо из за защиты процесса. Тем более, если ты таким образом хочешь противодействовать антивирусным продуктам, память может читать и ядерный драйвер которому из юзермода ты абсолютно ничего не сделаешь. А без инжекта, как ты хочешь это сделать, можешь запротектить требуемый регион памяти правами PAGE_NOACCESS, но при желании твою память без особых усилий прочитают
Если на системе есть поддержка анклавов, то держи данные в анклавах: https://learn.microsoft.com/en-us/windows/win32/api/enclaveapi/nf-enclaveapi-createenclave - если нет, то держи данные зашифрованными, и расшифровывай порционно при необходимости, для кода можно что-то типа такого попробовать: https://xss.pro/threads/64259/у меня скорее задача не запретить чтение
что имеется ввиду под пересоздать секцию?Можешь попробовать пересоздать секцию \KnownDlls\kernel32.dll, если все сделаешь правильно, система будет грузить твою версию kernel32.dll в каждый новый процесс на любом IntegrityLevel. Права администратора только нужны, да и от АВ это тебя не спасет.
Тестил это еще во времена Windows 7, сейчас не могу сказать работает тема или нет.
Вот тут можешь посмотреть какие API гуглить https://www.codeproject.com/Articles/325603/Injection-into-a-Process-Using-KnownDlls
Вот тут расписано почему это происходит https://learn.microsoft.com/en-us/windows/win32/dlls/dynamic-link-library-search-order
Зависит от того, что он хочет сделать. Если это малварь или античит какой-та, то "хардварные анклавы" (с) тут вряд ли подойдут, так как на реальных мирских десктопах, на которых это должно работать, скорее всего не будет ни SGX, ни VBS.Так эта апиха использует тот же мёртвый SGX. Или ты хочешь, чтоб использовали VBS? (никогда не понимал VBS, кстати)