Комментарии 15
До завтрашнего дня обещаюсь выложить код на пробу =)
+3
На самом деле целей для этого может быть огромное множество.
А можно несколько примеров? Ну кроме
пример валит часть программного обеспечения, поскольку оно проверяет номер версии, на которой запускается.
хочется понять какие еще плюсы…
0
Пример… Например, встраивание в некий софт, который не предоставляет логов для какого-то функционала, но их снять по какой-то причине надо.
Или надо пропатчить сборку так чтобы та в GAC попала, а ключа для подписи новой сборки нету =)
Как и прошлая моя статья, эта — результат внезапного решения копать и изучать, потому области применения — скорее следствие а не причина =)
Или надо пропатчить сборку так чтобы та в GAC попала, а ключа для подписи новой сборки нету =)
Как и прошлая моя статья, эта — результат внезапного решения копать и изучать, потому области применения — скорее следствие а не причина =)
+7
Как по мне, так эта статья более практична, чем предыдушая (первое применение, что напрашивается — реверс инжиниринг).
Но на вторую за день статью, лично моя реакция — похоже у человека появилась уйма свободного времени.
Без обид, но была бы она третья — вспомнил бы пословицу про кота.
Но на вторую за день статью, лично моя реакция — похоже у человека появилась уйма свободного времени.
Без обид, но была бы она третья — вспомнил бы пословицу про кота.
0
Эти статьи — результат просиживания дома по вечерам в отдалчике, иногда до часу ночи, а в выходные и до трех в течении (суммарно) месяцев 3-4-х. А вообще — часто времени вообще не хватало и были пробелы в несколько месяцев. Так что началось все года два назад, и только недавно все довел до ума. Сами статьи написались тоже не сразу =)
+4
В Windows 7 и выше ужесточили проверку подписи драйверов, поэтому писать их можно для внутреннего пользования. А хотелось бы, чтобы драйвера можно было применить и в проектах, которые пишутся не только для себя.
0
Такой трюк — просто кладезь для библиотеки прототипирования, используемой в unit тестировании. Тот же TypeMock может успешно подменять только несколько классов из mscorlib (DateTime, File и FileStream), а тут потенциал вообще безграничный. Если довести до ума, может получится продукт, не имеющий аналогов. С библиотекой, которая умеет заменять заглушками любой системный вызов, можно будет писать такие тесты, о которых сейчас можно только мечтать. Автор, советую не бросать наработки и продолжать в этом направлении.
0
Потому что мы не сможем ее подписать, у нас нет закрытого ключа.
Есть стандартный способ правки чужих сборок. Достаточно пересобрать сборку со старым public key (через delay signing) и отключить для нее strong name verification (запуком sn -Vr *,publickey).
0
Для логирования еще можно использовать Profiling API msdn.microsoft.com/en-us/library/bb384493(v=vs.110).aspx
Но вот изменять поведение приложения с его помощью уже не получится.
Но вот изменять поведение приложения с его помощью уже не получится.
0
Можно править сборки и на лету, не пересобирая. Подобная техника лежит в основе нашего продукта КриптоПро .NET. Основная трудность в последнее время — поиск нужных мест в рантайме .NET, очень уж часто меняются компиляторы.
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Изменение кода системных сборок или «утечка» .Net Framework 5.0