Прива народ ! Пропатчил я малость .Net сборку, при запуске вылетает такая вот ошибка : "Сбой при проверке строгого имени для сборки XXX" (XXX - имя сборки) Ктонить знает как правельно патчить .Net сборки ? Есть что нить универсальное (hiew не предлагать, сам им патчил ) ? Сенкс.
.assembly PacketPro { .custom instance void [mscorlib]System.Reflection.AssemblyCompanyAttribute::.ctor(string) = ( 01 00 00 00 00 ) .custom instance void [mscorlib]System.Reflection.AssemblyDescriptionAttribute::.ctor(string ) = ( 01 00 00 00 00 ) .custom instance void [mscorlib]System.Reflection.AssemblyProductAttribute::.ctor(string) = ( 01 00 00 00 00 ) .custom instance void [mscorlib]System.Reflection.AssemblyTitleAttribute::.ctor(string) = ( 01 00 00 00 00 ) // --- The following custom attribute is added automatically, do not uncomment ------- // .custom instance void [mscorlib]System.Diagnostics.DebuggableAttribute::.ctor(bool, // bool) = ( 01 00 01 01 00 00 ) .custom instance void [mscorlib]System.Runtime.InteropServices.GuidAttribute::.ctor(string) = ( 01 00 24 34 30 32 41 39 45 41 31 2D 45 39 46 32 // ..$402A9EA1-E9F2 2D 34 34 36 45 2D 39 33 38 37 2D 46 30 45 45 37 // -446E-9387-F0EE7 42 45 33 36 36 37 31 00 00 ) // BE36671.. .custom instance void [mscorlib]System.CLSCompliantAttribute::.ctor(bool) = ( 01 00 01 00 00 ) .custom instance void [mscorlib]System.Reflection.AssemblyTrademarkAttribute::.ctor(string) = ( 01 00 00 00 00 ) .custom instance void [mscorlib]System.Reflection.AssemblyCopyrightAttribute::.ctor(string) = ( 01 00 00 00 00 ) .hash algorithm 0x00008004 .ver 1:0:1921:34284 }
Сборка декомпилиться утилитой идущей вместе с VS, ildasm называется утилита. Сверху идет пример подписи SN, все что тебе надо это срезать все )), и оставить это: .assembly PacketPro { } Кроме того сборки могут имет ДЛЛ где у нее будет написанно: .assembly extern System.Design { .publickeytoken = (B0 3F 5F 7F 11 D5 0A ) // .?_....: .ver 1:0:5000:0 } Собсвенно publickeytoken обозначает что .assembly не загрузится если у exe не тот паблик кей. Так что если крякаеш .assembly посмотри и все приатаченные длл, иногда некоторые чудотворцы могут ставить такие атрибуты на методы, короче их можно безболезненно резать, и все будет ок. Т.Е. я хочу сказать что может использоваться двух сторонняя проверка exe<=>dll, в exe будут стоять .publickeytoken'ы импортируемых библиотек, а у dll могут стоять .publickeytoken'ы тех кто их может импортировать.