Pull to refresh

Comments 15

До завтрашнего дня обещаюсь выложить код на пробу =)
а не появились ли где сорцы на гитхабе?
На самом деле целей для этого может быть огромное множество.

А можно несколько примеров? Ну кроме
пример валит часть программного обеспечения, поскольку оно проверяет номер версии, на которой запускается.

хочется понять какие еще плюсы…
Пример… Например, встраивание в некий софт, который не предоставляет логов для какого-то функционала, но их снять по какой-то причине надо.

Или надо пропатчить сборку так чтобы та в GAC попала, а ключа для подписи новой сборки нету =)

Как и прошлая моя статья, эта — результат внезапного решения копать и изучать, потому области применения — скорее следствие а не причина =)
Как по мне, так эта статья более практична, чем предыдушая (первое применение, что напрашивается — реверс инжиниринг).
Но на вторую за день статью, лично моя реакция — похоже у человека появилась уйма свободного времени.

Без обид, но была бы она третья — вспомнил бы пословицу про кота.
Эти статьи — результат просиживания дома по вечерам в отдалчике, иногда до часу ночи, а в выходные и до трех в течении (суммарно) месяцев 3-4-х. А вообще — часто времени вообще не хватало и были пробелы в несколько месяцев. Так что началось все года два назад, и только недавно все довел до ума. Сами статьи написались тоже не сразу =)
Ну вот, а я уже обзавидоваться успел )
Судя по вашему профилю, для 10-летнего, вы весьма смышленый малый :)
Вспоминаю свою собственную молодость. Правда все уже прошло
В Windows 7 и выше ужесточили проверку подписи драйверов, поэтому писать их можно для внутреннего пользования. А хотелось бы, чтобы драйвера можно было применить и в проектах, которые пишутся не только для себя.
Такой трюк — просто кладезь для библиотеки прототипирования, используемой в unit тестировании. Тот же TypeMock может успешно подменять только несколько классов из mscorlib (DateTime, File и FileStream), а тут потенциал вообще безграничный. Если довести до ума, может получится продукт, не имеющий аналогов. С библиотекой, которая умеет заменять заглушками любой системный вызов, можно будет писать такие тесты, о которых сейчас можно только мечтать. Автор, советую не бросать наработки и продолжать в этом направлении.
Потому что мы не сможем ее подписать, у нас нет закрытого ключа.

Есть стандартный способ правки чужих сборок. Достаточно пересобрать сборку со старым public key (через delay signing) и отключить для нее strong name verification (запуком sn -Vr *,publickey).
Для логирования еще можно использовать Profiling API msdn.microsoft.com/en-us/library/bb384493(v=vs.110).aspx

Но вот изменять поведение приложения с его помощью уже не получится.
Можно править сборки и на лету, не пересобирая. Подобная техника лежит в основе нашего продукта КриптоПро .NET. Основная трудность в последнее время — поиск нужных мест в рантайме .NET, очень уж часто меняются компиляторы.
Sign up to leave a comment.