![]() |
eXeL@B —› Вопросы новичков —› Массовое копирование IL кода |
Посл.ответ | Сообщение |
|
Создано: 26 июля 2013 17:17 · Личное сообщение · #1 Привет всем! Ковырял программку .net, там прот забавный и пришлось ручками править кучу методов, чтоб рефлектор корректно показывал. Наисправлялся )) Рука дрогнула на одном из первых методов и теперь прога не работает корректно. Бэкапов не делал. Теперь или все сначала или заменить нерабочий метод. Там 1200 строк ) Сижу ручками переделываю в рефклесиле. Поискал возможность скопировать все сразу - нашел только в SAE экспорт импорт метод. Т.е. рабочий экспортируем из оригинала и импорт вместо нерабочего в патченом. Не получилось. Токены разные и все колы и переменные поплыли. Погуглил, ничего не нашел. Может плохо искал ) Посоветуйте, есть какое нибудь решение для массовой замены IL кода ![]() |
|
Создано: 26 июля 2013 19:15 · Поправил: dfnsff · Личное сообщение · #2 что за прот, попробуй посмотреть прогу в DNiD может ты про ![]() |
|
Создано: 26 июля 2013 22:08 · Личное сообщение · #3 Руками менял, потому что тяму не хватило автоматизировать )) де4дот справляется только с именами классов, полей и т.д. обфускацию строк снял, потом руками правил переходы в методах, которые не открывались в рефлекторе. долго клацал, в итоге прожка стартует, но вываливается по нажатию одной кнопки.. оказался битый метод, после того как я в нем поковырялся.. Я его взял из оригинала, заново подправил, сравнил с битым и оказалось, что правкой пары байт не обойтись.. Нужно менять кучу опкодов и они по разному расположены.. Метод большой, поэтому хотелось бы просто скопипастить все опкоды из оригинала и вставить в битый. Есть какой нибудь вариант это сделать? З.Ы. DNiD прот не определил ![]() |
|
Создано: 26 июля 2013 22:38 · Личное сообщение · #4 |
|
Создано: 27 июля 2013 02:08 · Поправил: Nimnul · Личное сообщение · #5 Я вобщем правку делал, как раз по той причине что ты озвучил только код там был на 30к строк. Вобщем или пиши плагин, или дезасмь disasm'om правь текст в студии, она очень шустро это сделает плюс она поддерживает регулярные выражения на массовую правку или простейшие паттерны типа windows*must*live. Потом в ilasm компиль назад. Плюс еще можно макросы на васике писать. Третий варик скачай с mono-project.com mono.cecil пару часов потратишь, зато потом будет у тебя инструмент. ----- have a nice day ![]() |
|
Создано: 19 августа 2013 22:29 · Личное сообщение · #6 Вообщем результаты: 1. Попробовал WinHex.. Нашел место это в программе - размер не подходит.. Ну я добавил nop`ов в метод, выровнял размер, а потом скопипастил из рабочего.. Не запустилась. Видимо еще что то нужно было 2. Пробовал ил код править в визуалке. Долго бился - не получилось. 3. С моно сесилом повозился, но за отсутствием необходимых знаний и времени плюнул на это дело В итоге все сделал заново - деобф и ручная правка, заняло пару часов.. Всем спасибо. Нагнул таки прогу. ![]() |
|
Создано: 20 августа 2013 10:11 · Личное сообщение · #7 |
![]() |
eXeL@B —› Вопросы новичков —› Массовое копирование IL кода |
Эта тема закрыта. Ответы больше не принимаются. |