.NET patch программы

Тема в разделе "WASM.BEGINNERS", создана пользователем MoKC0DeR, 24 апр 2007.

  1. MoKC0DeR

    MoKC0DeR New Member

    Публикаций:
    0
    Регистрация:
    13 ноя 2003
    Сообщения:
    136
    Адрес:
    Russia
    попалась очередная "чудная" программа которая хочет код, активацию по инету и т.д.
    на сайте полно декомпиляторов - воспользовался и быстро нашел нужную функцию и проверку :
    Код (Text):
    1.     IL_0103: call        bool [mscorlib]System.String::op_Equality(string, string)
    2.     IL_0108: brfalse.s   IL_010c
    3.     IL_010a: ldc.i4.1    
    4.     IL_010b: ret        
    5.     IL_010c: ldc.i4.0    
    6.     IL_010d: ret
    и ... не знаю что делать дальше :dntknw:
    1. Ни IDA, ни декомпиляторы не показывают адрес инструкций в файле. Как найти где расположен приведенный выше код ?
    2. как пропатчит ? т.е. заменить ldc.i4.0 на ldc.i4.1. или "занопить" brfalse.s IL_010c ?
     
  2. Sh355

    Sh355 New Member

    Публикаций:
    0
    Регистрация:
    30 мар 2004
    Сообщения:
    56
    1. Декомпилировать в ildasm с ключом вывода смещений

    Пример:
    Код (Text):
    1.     // Method begins at RVA 0x20ac
    2.     // Code size       1031 (0x407)
    3.     .maxstack  4
    4.     .locals /*11000001*/ init (class [mscorlib/*23000004*/]System.Resources.ResourceManager/*01000026*/ V_0)
    5.     IL_0000:  /* D0   | (02)000002       */ ldtoken    ART.AntiAliasingOptions/*02000002*/
    6.     IL_0005:  /* 28   | (0A)000010       */ call       class [mscorlib/*23000004*/]System.Type/*01000024*/ [mscorlib/*23000004*/]System.Type/*01000024*/::GetTypeFromHandle(valuetype [mscorlib/*23000004*/]System.RuntimeTypeHandle/*01000025*/) /* 0A000010 */
    7.     IL_000a:  /* 73   | (0A)000011       */ newobj     instance void [mscorlib/*23000004*/]System.Resources.ResourceManager/*01000026*/::.ctor(class [mscorlib/*23000004*/]System.Type/*01000024*/) /* 0A000011 */
    8.     IL_000f:  /* 0A   |                  */ stloc.0
    2. Патчить можно в данном случае, как нравится.
     
  3. MoKC0DeR

    MoKC0DeR New Member

    Публикаций:
    0
    Регистрация:
    13 ноя 2003
    Сообщения:
    136
    Адрес:
    Russia
    Где скачать ildasm ?
     
  4. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    MoKC0DeR
    Поставить себе Visual Studio, желательно 2005.
     
  5. ssx

    ssx Member

    Публикаций:
    0
    Регистрация:
    19 авг 2003
    Сообщения:
    336
    а еще можно в ida включить показ опкодов и потом в hiew их искать :)
     
  6. MoKC0DeR

    MoKC0DeR New Member

    Публикаций:
    0
    Регистрация:
    13 ноя 2003
    Сообщения:
    136
    Адрес:
    Russia
    ssx
    я верю что есть 150 вариантов. как осуществить это ?
     
  7. MoKC0DeR

    MoKC0DeR New Member

    Публикаций:
    0
    Регистрация:
    13 ноя 2003
    Сообщения:
    136
    Адрес:
    Russia
    ssx
    нашел 0 не помогает - после патчинга прога "падает"
     
  8. MoKC0DeR

    MoKC0DeR New Member

    Публикаций:
    0
    Регистрация:
    13 ноя 2003
    Сообщения:
    136
    Адрес:
    Russia
    Можно использовать объекты из dll написанной на .NET ? Как ?
     
  9. Sh355

    Sh355 New Member

    Публикаций:
    0
    Регистрация:
    30 мар 2004
    Сообщения:
    56
    Кури strongname.
    И еще, что именно патчил? Просто занопить условный переход в IL не катит, надо стек выравнивать. Так что в твоем варианте
    самое оптимальное.
     
  10. MoKC0DeR

    MoKC0DeR New Member

    Публикаций:
    0
    Регистрация:
    13 ноя 2003
    Сообщения:
    136
    Адрес:
    Russia
    написал keygen - успокоился. падал в др. месте (не в месте патча) так как в серинике была зашифрованна "важная" информация.
    всем спасибо!
    Sh355
    что такое "strongname" ?
     
  11. ssx

    ssx Member

    Публикаций:
    0
    Регистрация:
    19 авг 2003
    Сообщения:
    336
    http://www.google.ca/search?hl=en&q=strong+name&meta=