![]() |
eXeL@B —› Вопросы новичков —› Помогите пропатчить .net библиотеку |
Посл.ответ | Сообщение |
|
Создано: 30 апреля 2013 10:26 · Поправил: Loncaster · Личное сообщение · #1 Сразу скажу опыта во взломе очень мало. Сама библиотека Ozeki VoipSDK, скачать весь проект с dll можно здесь Что я сделал сам: 1) Dll обработана SmartAssembly 6.7.0.239. Я прошелся по нему Dumbassembly 2) Затем деобфусцировал еще через Simply Assembly Explorer в режиме Name - Regex Only 3) Открыл в Reflector и через плагин Reflexil отредактировал в Ozeki.Voip.Sdk.Protection класс LicenseManager, заменив LicenseType с Trial на Active, а так же поменяв возвращаемые значения с методов RemainingDays, MaxPhoneLine и т.д. на большие значения. 4) Сохранил через Reflexil пропатченую библиотеку. Результат: проект подхватил библиотеку, программа запускается, но при выполнение методов из dll сыпется ошибка "Метод не найден: "Int32 System.Collections.Concurrent.ConcurrentDictionary'2.getCount()"" Что можно сделать? ![]() |
|
Создано: 30 апреля 2013 10:37 · Поправил: ZaZa · Личное сообщение · #2 Loncaster А пропатчить в обфусцированной? Залей на И вообще попробуй снять обфускацию с помощью de4dot... Лучше выйдет, мне так кажется... ----- One death is a tragedy, one million is a statistic. ![]() |
|
Создано: 30 апреля 2013 10:43 · Личное сообщение · #3 ZaZa пожалйуста, Пробовал патчить и без предварительной деобфускации, тогда ошибка там же, но другая NullReference, не задана ссылка на объект. ![]() |
|
Создано: 30 апреля 2013 10:53 · Поправил: Loncaster · Личное сообщение · #4 Через de4dot 1400 ошибок пропущено, и в рефлекторе многие классы потом не открываются выдается ошибка "Bad stack at call point" *************************** UPDATED: Продеобфусцировал через de4dot. Действительно после деобфускации через него все запускается без ошибок, но часть функционала не работает, в частности не могу зарегистрироваться на сервере Asterisk. С оригинальной dll всё отлично регится. Через что еще можно попробовать обработать? Или может параметры какие прописать? ![]() |
|
Создано: 30 апреля 2013 11:00 · Поправил: ZaZa · Личное сообщение · #5 Loncaster пишет: Через de4dot 1400 ошибок пропущено, и в рефлекторе многие классы потом не открываются выдается ошибка "Bad stack at call point" Так ты de4dot используй на оригинальный файл... У меня нормально все получилось... У тебя в папке дополнительно появятся распакованные файлы дополнительные. Возможно из-за них у тебя ничего не получалось! *************************** UPDATED: Попробуй это вот: Разархивируй с заменой... ----- One death is a tragedy, one million is a statistic. ![]() |
|
Создано: 06 мая 2013 09:31 · Поправил: Loncaster · Личное сообщение · #6 Не помогло. По дебагу посмотрел возникает ошибка в System.Collections.Concurent ConcurentDictionary "Count = The name 'Count' does not exist in current context". Посмотрел деобфусцированный код, а там [Serializable, DebuggerDisplay("Count = {Count}"), где {Count} - это я так понимаю название переменной, которая при деобфускации естественно уже имеет совсем другое название в классах. ![]() |
![]() |
eXeL@B —› Вопросы новичков —› Помогите пропатчить .net библиотеку |