Сейчас на форуме: _MBK_ (+5 невидимых) |
![]() |
eXeL@B —› Вопросы новичков —› Как создать патч для приложения на dot net? |
Посл.ответ | Сообщение |
|
Создано: 31 октября 2010 13:30 · Поправил: Sigmau · Личное сообщение · #1 Под syser-ом нашёл код (6 байт), который нужно пропатчить на другой. Я в общем то чайник... так... несколько раз занимался этим видом интеллектуального спорта.. в общем то раньше не сталкивался с приложениями dot net. Так что когда сунулся как привык, в экзешник, переписывать байты, то не нашёл их. Потом вспомнил, что net приложения часть кода компилируют на ходу (т.н. JIT). Вот, возникла дилемма - либо писать кряк, который после компиляции исправляет в памяти, либо как-то найти что надо исправить в докомпиляционном коде ("байт-коде"?) В общем, нужны плечи гигантов, на которые я мог бы забраться, то бишь нужен опыт знающих людей. Подскажите, как лучше поступить? Если патчить в памяти, то как побыстрее найти нужную часть кода, есть ли какая-то структура поиска? Или можно как то исправить байт код, зная скомпилированный? Спасибо ![]() |
|
Создано: 31 октября 2010 14:45 · Поправил: coolangel · Личное сообщение · #2 |
|
Создано: 31 октября 2010 15:39 · Поправил: Sigmau · Личное сообщение · #3 coolangel Спасибо за ответ! А не подскажете, как патчить? основные шаги? Установил 6-ой RedGate Net Reflector. В самом рефлекторе в окне "Diassembler" нашёл нужную строку. Что дальше то делать, чтобы изменить оригинальный экзешник? Пока дошёл до того, что в MSVS, куда интегрировался Reflector, добавил экзешник (вообще, он запускается как сервис), меню "choose assemblies to debug", он там куда-то его десассемблировал, я опять же нашёл нужные строки, отредактировал, сохранил... и затупил, потому что пока непонятно, что делать дальше, чтобы получить изменённый экзешник? ![]() |
|
Создано: 31 октября 2010 16:07 · Личное сообщение · #4 |
|
Создано: 31 октября 2010 16:08 · Личное сообщение · #5 |
|
Создано: 31 октября 2010 23:33 · Поправил: coolangel · Личное сообщение · #6 Sigmau пишет: А не подскажете, как патчить? основные шаги? http://exelab.ru/f/action=vthread&forum=1&topic=16051&page =0#5 P.S. Там нужно выставить курсор в определенное место,слева,в дереве(кажется нужно выделить название net сборки), только тогда появляется кнопка "Save". ![]() |
![]() |
eXeL@B —› Вопросы новичков —› Как создать патч для приложения на dot net? |