Universal Fixer 1.0 - fix dumps after dumping them whit Dotnet Dumper or other similiar tools and will also fix nasty things: multiple assembly/module definitions, wrong extends, etc. iMPROVE .NET Deobfuscator - деобфускатор
Привет, патчу дллку, под dnSpy запускаю, все работает как надо, если просто прогу, то берется откуда-то старая версия, в GAC такой dll я не нашел, откуда он ее затягивает?
Gmc пишет: в GAC такой dll я не нашел, откуда он ее затягивает? Наверное ответ в проге, которую ты не показал. Из ресурсов или с сети, что на ум разработчику взбрело.
f13nd пишет: может кс файла проверяет, я же не знаю. А GAC'ом ты не prefetch называешь? Может стоит prefetch отключить?
C:\Windows\Microsoft.NET\assembly\ тут смотрю GAC32 GAC64 Похоже он проверяет цифровую подпись, но откуда оригинал не понятно. Prefetch зачистил, не помогло
Думал это баг просто, даже не подумал что это часть защиты может быть... Дебаг значит дальше...
sendersu пишет: а что патчится? путь вроде не жаковский dll просто, она там создает копию Имядлл.ni.dll и запускает ее, если цифровая подпись не верная, насколько я понял
Подскажите, есть или функция на которую можно поставить хук, чтобы отследить загрузку dotNet dll (по аналогии с LoadLibrary для нативных)? Нужно пропатчить лоадером dll которые подгружаются в процессе.
И еще вопрос почему getJit может не обрабатывать некоторые методы или классы? Использую подмену getJit на свою функцию, чтобы отследить некоторые методы по имени - столкнулся с проблемой, что через нее не получается отследить некоторые методы в классе или даже целые классы, хотя они 100% выполняются.
Нубский вопрос, чем можно патч сделать для .NET Есть прога которая уже долгое время не меняет методы где проверяется лицензия, хочу не **ся каждый раз с скайем а просто сделать патчер.
sashka2002 пишет: Нубский вопрос, чем можно патч сделать для .NET Тем же чем обычно патчи делают. Либо возьми конструкцию, которую будешь патчить, захвати туда побольше характерного чего-нибудь, сделай AND-маску, в которой оставь опкоды и характерные константы какие-нибудь, этой маской обруби то, что изначально взял. По этим двум маскам всегда можно будет в файле найти где патчить, алгоритм детский.
Тем же чем обычно патчи делают. Про это и был вопрос, мне нужно сам патчер сделать. Гугл пока ничего толкового не дал, гуглю дальше. Патчить буду .NET приложение.
sashka2002, тебе же f13nd все доступно описал. Если алгоритм регистрации не меняется, то опкоды будут +- одинаковые, делай поиск последовательности по маске, хоть в том же DUP'e и радуйся)
я и пользуюсь dnspy для патчинга, но надоело его запускать и искать\менять вхождения для каждой версии проги. Думаю есть какой-то генератор патчей. Ты ему задаёшь функции и какую строчку заменить, он сам меняет, без того что бы открывать днспай и т.д. DUP-ом пытался, но он не смог сравнить файлы. Добавлю что ".net Patcher v0.7 by whoknows" вообще говорит мне что файлы не .NET. КАК так я не пойму, я ведь их редактировал и знаю точно что это .NET файлы.
sashka2002 Потому что править надо аккуратно. dnSpy при сохранении изменений предлагает пересобрать файл, и естественно отличий от оригинала в таком случае будут слишком много.
Потому правьте как можно меньше опкодов и не пересобирайте файл при сохранении. Я небольшие правки обычно в ByteMe делаю, без пересборки. В dnSpy кстати даже не пробовал проверять - можно ли напрямую в сборку внести патч не перестраивая ее.
Тогда, имея всего несколько измененных опкодов, легко строится патч любым патч-мейкером будь то dup или еще что.
----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску.
4kusNick пишет: можно ли напрямую в сборку внести патч не перестраивая ее. Да, можно.. Выделяешь код нужный, пкм -> Показать инструкции в Hex-редакторе.. Поправил, сохранил, перегрузил все сборки, проверил..
sefkrd пишет: 4kusNick пишет: можно ли напрямую в сборку внести патч не перестраивая ее. а ILSpector никто не пробовал?)))) http://i.prntscr.com/3nEJkV6JRWWrjyFcvOx2kw.png
Medsft пишет: а ILSpector никто не пробовал?)))) Пробовал, но как я выше отмечал, для мелких правок пользуюсь ByteMe - он шустрый и лайтовый, то что мне надо. Для серьезных дел и анализа кода - dnSpy, ILSpector, там обычно правкой пары опкодов не обходится потому там этот функционал для меня не критичен.
----- Флэш, ява, дотнет - на завтрак, обед и ужин. Unity3D на закуску.