В настоящее время я изучаю, как писать .NET-код, который можно вставить в другой процесс .NET и переопределить возвращаемые значения функции. Идея заключается в том, что мой код будет изменять значение возврата вызова метода, как это:Как внедрить .NET-код для изменения возвращаемых значений функций
Public Function DoSomething() As String
Return "Value"
End Function
Моего код будет перехватывать вызовы на DoSomething() и вернуть свою собственную строку, а затем «Value».
Я предполагаю, что мне нужно будет выглядеть с помощью .NET Profiling API для выполнения этого типа вещей. Кто-нибудь имеет опыт использования API профилирования, и если да, считаете ли вы, что эта инъекция кода возможна?
Я не собираюсь использовать это для чего-либо злонамеренного, мне просто интересно попробовать что-то очень низкоуровневое в .NET, чтобы узнать, можно ли это сделать.
Cheers. Jas.
Зачем вам когда-либо хотеть делать это в реальной ситуации? –
Вы хотите сделать это во время выполнения или до запуска? –
Это нужно сделать во время выполнения. Немного грустно, но я не собираюсь использовать это в реальном мире, мне просто кажется, что это вызов. Я использую TypeMock для модульного тестирования, и я подумал, что это может быть классный побочный проект, чтобы придумать способ изменения .NET-кода во время исполнения, введя мою собственную. – 2009-04-09 20:17:36