Я пытаюсь проверить, пытается ли приложение манипулировать определенным процессом (например, к нему привязывает). Я не мог найти подходящего подхода для достижения этого. Возможно ли вычислительная контрольная сумма над запущенным процессом? Если это не так, я могу обнаружить эту ситуацию?Обнаружение доступа к памяти для процесса
ответ
Другие процессы не могут сделать крючки в вашем процессе, могут изменять память, но для того, чтобы сделать крючки, этот код должен быть в вашем адресном пространстве, это можно сделать, чтобы вставлять DLL в ваш процесс при запуске (во время выполнения dll dll жесткий), вы можете легко это проверить, указав DLL в своем процессе и выполнив поиск в своих кодах функций ReadProcessMemory
, WriteProcessMemory
, OpenProcess
, CallNextHookEx
. Для этого введите адрес (GetProcAddress
) функции и значения поиска в коде (вы можете добавить некоторые asm call
прогнозы для этого для ограниченного диапазона).
Вы можете проверить, что случилось с вашим файлом PE в диске и в памяти, когда инъекции DLL во время запуска было появление, то ваш файл PE после был скопирован в память из файла должен быть поврежден, после последней библиотеки длл вы должны быть перезаписаны символы отладки с дополнительным импортом dll. Эта модификация может быть выполнена в файле, таком же, как в памяти.
Лучший способ, но, вероятно, вам будет нелегко, если вы используете язык C#, обфускайте свой код. Я думаю, что это хороший метод, потому что вы не зацепили что-то, что вы не знаете, как работает, потому что вы не знаете, какой крюк вы должны делать и где. Но для хорошего обфускации кода на C# вы должны найти хорошее программное обеспечение для этого и, вероятно, заплатить не по низкой цене.
@gcx: ReadProcessMemory, WriteProcessMemory также будет захватывать инъекции во время выполнения, инъекция времени выполнения от другой функции инжекции процесса к месту, когда будет выполняться с кодом библиотеки загрузки (в целевой памяти не как крючки в целевой память, но вызывающая функция, расположенная в dll) – Svisstack
Я вижу, что вы упомянули обфускации. Я думаю, вы сказали, что из-за моего «моего процесса». Я сослался на конкретный процесс, сказав мой процесс. Я редактировал оригинальный пост. Извините за путаницу. –
Вот лучший бесплатный обфускатор, который я знаю: [Eazfuscator.NET] (http://www.foss.kharkov.ua/g1/projects/eazfuscator/dotnet/Default.aspx) – ken2k
- 1. Предотвращение доступа к памяти процесса
- 2. Получение доступа к памяти любого процесса
- 3. Обнаружение протекающего процесса памяти утечки
- 4. Почему нет доступа к ячейке памяти для другого процесса?
- 5. Низкий служебный способ доступа к пространству памяти отслеживаемого процесса?
- 6. Обнаружение утечки памяти для выполняющегося процесса в Linux
- 7. Профилирование доступа к памяти
- 8. Доступ к памяти памяти из другого процесса
- 9. Контроль доступа к общей памяти
- 10. Сравнение доступа к памяти
- 11. нарушение доступа к памяти
- 12. доступ к памяти иностранного процесса
- 13. Обнаружение несанкционированного доступа к объекту
- 14. Обнаружение доступа к мобильному устройству
- 15. Обнаружение доступа к файловой системе?
- 16. Предотвращение процесса доступа к Интернету
- 17. Доступ к области памяти процесса
- 18. Анализ памяти для процесса
- 19. Обнаружение нарушений/утечек памяти
- 20. Монитор доступа к памяти для программ c
- 21. Кэш для доступа к памяти кучи
- 22. Разрешения доступа к общей памяти для Windows
- 23. Производительность доступа к коалесценции памяти
- 24. Синхронизация доступа к выделенной памяти
- 25. Оптимизация доступа к памяти OpenCL
- 26. Ошибка незаконного доступа к памяти
- 27. PIMAGE_EXPORT_DIRECTORY - Ошибка доступа к памяти
- 28. Ошибка доступа к записи вновь выделенной памяти
- 29. нарушение доступа к памяти с ++
- 30. Ошибка доступа к памяти C
Вы знаете оскорбительное приложение? И вы знаете, как вы обнаружили в вашей манипуляции с приложениями? – rene
Извините, у меня не возник вопрос. Я не знаю, как обнаружить манипуляции, поэтому я понятия не имею, как обнаружить проявления манипуляции. Вот почему я попросил о помощи. –
Какова фактическая цель, которую вы пытаетесь достичь? Если вы пытаетесь избежать/обнаружить фальсификацию в своем собственном приложении, ничего не будет работать на 100%. –