Патч .Net сборок

Тема в разделе "WASM.RESEARCH", создана пользователем b10t, 4 май 2005.

  1. b10t

    b10t New Member

    Публикаций:
    0
    Регистрация:
    2 ноя 2003
    Сообщения:
    31
    Прива народ !



    Пропатчил я малость .Net сборку, при запуске вылетает такая вот ошибка : "Сбой при проверке строгого имени для сборки XXX" (XXX - имя сборки)



    Ктонить знает как правельно патчить .Net сборки ? Есть что нить универсальное (hiew не предлагать, сам им патчил :)) ?



    Сенкс.
     
  2. bogrus

    bogrus Active Member

    Публикаций:
    0
    Регистрация:
    24 окт 2003
    Сообщения:
    1.338
    Адрес:
    ukraine
    Ай-ай-яй, перед тем как создать тему, прочти FAQ и сделай поиск.

    Патч .NET сборки
     
  3. b10t

    b10t New Member

    Публикаций:
    0
    Регистрация:
    2 ноя 2003
    Сообщения:
    31




    Точно, ай-ай-яй :)) сорри, не посмотрел :))



    Сенкс.
     
  4. Nimnul

    Nimnul New Member

    Публикаций:
    0
    Регистрация:
    21 фев 2005
    Сообщения:
    136
    Адрес:
    не Китай
    .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

    }
     
  5. Nimnul

    Nimnul New Member

    Публикаций:
    0
    Регистрация:
    21 фев 2005
    Сообщения:
    136
    Адрес:
    не Китай
    Сборка декомпилиться утилитой идущей вместе с 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'ы тех кто их может импортировать.