2016-05-02 4 views
0

Я ищу разработку программы, которая обнаруживает вызовы определенных функций Windows API и просто записывает вызывающий процесс, кол-во вызовов и, надеюсь, их аргументы, чтобы впоследствии обозначить их как доброкачественные или злонамеренный.Поиск всех вызовов в windows api с точки зрения программирования

Монитор API программы GUI - хороший пример того, какую функциональность я пытаюсь достичь. В идеале я хотел бы отслеживать каждую желаемую функцию API отдельно и получать идентификатор вызывающего абонента и параметры, когда или после его использования, без ввода пользователем. Программа должна работать на любом компьютере с Windows 7, но может быть ограничена 32-битными приложениями.

Я понимаю, что есть несколько способов подключения функции, и, насколько я понимаю, обходные пути Microsoft реализуют один из них, но я не знаю, подходит ли это для того, что я хочу делать. Я видел обходные пути, easyhook, API-интерфейс deviare API и другие, упомянутые на очень старых сообщениях, но мне нелегко разобраться в различиях и особенностях каждого из них.

Итак, мой вопрос, учитывая то, что я пытаюсь сделать, что вы рекомендуете и почему?

Для справки Я программист на промежуточном уровне, но новичок в программировании Windows.

Спасибо за вашу помощь

+0

Вы рассмотрели вопрос о [форумах API-монитора] (http://www.rohitab.com/discuss/forum/1-api-monitor/)? Так как это то, что вам нужно, почему бы не взять его у автора? – IInspectable

+0

Я тоже попробую, но я уверен, что вопрос по-прежнему достаточно общий, чтобы быть размещен здесь –

+0

Это зависит от того, для чего вам это нужно. Вы не указали, является ли это для производства или только для исследовательских целей. Microsoft Detours является бесплатной, если она не используется на производстве (подробности указаны в лицензии, поэтому, пожалуйста, при необходимости получите подробную информацию). Microsoft Detours является техническим, и отсутствие поддержки может быть проблемой. Я заработал, но учиться нужно. – user34660

ответ

1

Я часть Nektra Deviare API Hook команды. Наш механизм привязки используется большим количеством компаний по всему миру, в различных типах продуктов конечных пользователей (например: Антивирус, Предотвращение потери данных, ИИ, программное обеспечение для инвалидов, Классификация данных, Виртуализация приложений). Deviare-InProc - замена MS Detours, а Deviare2 встроена во все RPC, вам нужно подключить другой процесс и получить вызовы в вашем собственном процессе.

Мы постоянно исправляем все сообщаемые проблемы. Вы можете проверить это в нашем GitHub: https://github.com/nektra/Deviare2 https://github.com/nektra/Deviare-InProc

Вы можете увидеть Deviare2 работает в Nektra-х SpyStudio API Monitor.

Detours - отличное программное обеспечение, но очень дорогое (10 000 долларов США). В дополнение к этому, он полностью лишен поддержки. Его можно сравнить с Deviare InProc,

EasyHook был хорошей отправной точкой, потому что это был единственный бесплатный вариант. Но теперь семейство Deviare2 является открытым исходным кодом, и у EasyHook есть много проблем стабильности для реального мира.

+0

Спасибо за ваш ответ, вы сделаете несколько убедительных моментов. Было бы правильно сказать, что ваш двигатель имеет более крутую кривую обучения, чем easyhook? –

+0

EasyHook также прост и может отлично работать для доказательства .NET концепции, но для производства я не рекомендую его. –

+0

В качестве продолжения я в конечном итоге использовал Deviare2, и это было именно то, что мне было нужно. Он очень мощный, довольно прост в использовании, и есть большая поддержка его github, если вы публикуете вопрос. Единственным недостатком является отсутствие актуальных учебных пособий и что документация немного краткая. –