по процессам итерируешься? Слушай у меня есть интересная идея как сделать проверку целостности памяти всех методов, которые ты используешь. Правда скан чопорный, но метод такой:
1. Сканируешь прологи во всех аллокациях своего процессса, ищешь по исполняемым области памяти.
2. Делаешь хэш-таблицу на основе этих участков
3. Проверяешь раз в n время.
Получается достаточно быстро
Ну это тож не гарантия, люди могут пролог и не трогать. У меня были челики, которые находили через дизасм место, куда могут воткнуть переход, аллоцировали executable память и прыгали туда. Причем, я думаю: пф, думаете не смогу это исправить? Просто начал проходиться по всем записям о выделенных блоках памяти и смотрел флаг, и еще несколько параметров. Мысли были такие, ну кто кроме читеров будет в чужом процессе аллоцировать приватный блок памяти еще и с executable флагом. Написал, дали тестерам побегать, оказалось, что таки есть какие-то приложения, которые это делают (лол, зачем??). Понять какие было сложно (ибо информации нет никакой и нужно либо гадать, либо глобально перехватывать вызовы), да и не интересно стало. Хотелось механизм, где не нужно было бы делать исключения какие-либо. В общем, знатно я обломался на этом
По прологам находить методы и сканировать метод полностью?)
у меня этих методов...
Да и нормально. Главное что тот, кто внедрился - гарантированно получит пинок через какое-то время (От масштаба приложения зависит)
Обсуждают сегодня