Помогите чайнику разобраться: Можно-ли перехватить WinAPI функции .Net приложения? Можно-ли это сделать через таблицу импорта PE.Net файла? Спасибо за внимание.
Sh355 Сдаюсь... Ты предлагаешь заменить везде вызовы API функций на свои? Мне нужно сделать криптозащиту файлов данных, которые изпользует наше .Net приложение, например файлов *.mdb. Править все dll и ocx, которые используют эти файлы замучаешься, да и "не хорошо" это изменять dll на компьютере пользователя. Поискав в инете инфу я подумал что это можно сделать перехватив функции обращения к файлам. Может я просто плохо соображаю... подскажите тогда хоть в каком направлении копать.
проецируем свою dll на адресное пространство подопытного процесса, каким-то образом передаем на нее управление (например, правим точку входа файла оригинального процесса), из нашей dll принудительно загружаем все юзеры, кернелы и проч. в точку входа каждой функции ставим call на свою dll, извлекаем из стека адрес возврата, вычитаем из него длину инструкции call, после чего получаем адрес откуда он был вызван, определяем какому модулю и какой функции он принадлежит, пишем ее имя в лог, эмулируем выполнение тех инструкций что были затерты call'ом (для этого их надо предварительно где-то сохранить) и возвращаем управление. не самый простой способ, но достаточно надежный
Все функции вызываемые NET приложением в конечном счете приводят к вызовам обычных Win32 API, поэтому можно просто перехватывать их с помощью сплайсинга функции.
vaneyev когда сделаеш протект скинь сюда crackme я уверен, что он не продержится даже час) Про то что говарил Kaspersky читай более подробно в аттаче.
Nimnul Да я уже в этом не сомневаюсь . Мне бы защиту от простого копирования пользователями сделать, а не защиту от крэкеров или наверное правильнее сказать от исследователей программ. Да про это есть две статьи на rsdn. Есть статьи на wasm. Да и Рихтера в электроном виде скачал. Говорят есть статья по моей проблеме в MSDN Magazine, но я ее еще не нашел. Только начал писать проект в asmе, так что сильно не издевайтесь над новичком .
Мне бы защиту от простого копирования пользователями сделать, а не защиту от крэкеров Вот оно что. А я было подумал, раз топик в research`e, что тебе нужно отловить вызов нужной АПИ в исследуемой софтине...
Я хотел вобще-то в beginers отправить, но то-ли криво кликнул, то-ли колесико задел... Вобщем звиняйте если что не так.