![]() |
eXeL@B —› Основной форум —› Отвязка от проверки hardware key |
Посл.ответ | Сообщение |
|
Создано: 27 июля 2006 15:46 · Личное сообщение · #1 |
|
Создано: 27 июля 2006 15:51 · Личное сообщение · #2 |
|
Создано: 27 июля 2006 16:07 · Поправил: sewell · Личное сообщение · #3 |
|
Создано: 27 июля 2006 16:59 · Личное сообщение · #4 |
|
Создано: 27 июля 2006 17:16 · Личное сообщение · #5 |
|
Создано: 27 июля 2006 18:44 · Личное сообщение · #6 sewell Берешь IDA с сентинеловскими сигнатурами, деассемблируешь, находишь все вызовы сентинела ( начинаются с RNBO...), потом HEX-редактор, ставишь вместо je- jmp и т.д. и т.п. Посмотри, может прога упакованная, поэтому сначала Unpack. Но если у тебя есть версия 7.1 ( исходные файлы и патченные), то это, часто, песня. Найди в них различия и потом поищи эти места в новом экзешнике (просто, например, fc/b file1 file2> DIFF.TXT). На Васме есть прога, которая делает патчи, цитата: ByteKiller v 2.15 Final by corpse Аналог патчера ABEL. Но смотрите, что сам автор пишет: "Предназначенна для БЫСТРОГО создания патчей к модифицированным файлам. Степень изменения исходного файла может быть любой." Удачи. ![]() |
|
Создано: 28 июля 2006 11:10 · Личное сообщение · #7 blacksea Спасибо! IDA все дезассемблировала превосходно. Копался я и закопался в процедуре видимо проверки ключа. Там кишмя кишат условные переходы после целой цепочки проверок с константами. Старый исходный файл есть, но он упакован(или что-то там) UpolyX 0,5 - хотя для IDA проблем дезассемблировать не составило труда. Крэкнутый был запаконан UPX и после распаковки отличается по размеру от исходного. Как поступить с UpolyX 0,5 - не знаю. А может крэкер выкинул часть кода из файла или еще как модифицировал, а не делал байтпатчинг. Мои мысли были аналогичные твоим советам, но ... Пока тупик. ![]() ![]() |
|
Создано: 28 июля 2006 12:17 · Личное сообщение · #8 sewell Я бы затащил а IDA старый исходный файл и по F8 проследил отработку защиты, потом аналогично поступил бы с распакованным крэкнутым и, надеюсь, опредилил, каким образом происходил крэкинг. Если нет, то можно запустить сентинеловский монитор, затем запустить крэкнутую прогу и посмотреть, идут ли вызовы функций сентинела, если да, то почти 100 % байтпатчинг. А выкидывать часть кода? Не знаю, может занопленные куски после упаковки-распаковки других размеров? А на сколько байт отличие? А закопался ты, очевидно, после функции чтения ключа, там надо быть внимательным и немного удачи, чтобы догадаться ![]() ![]() |
|
Создано: 28 июля 2006 14:08 · Личное сообщение · #9 blacksea пишет: А на сколько байт отличие? Около 110 КВ. Но вероятно это из-за того, что крэкнутый - распакован и пеид показывает С++, а оригинал - UPoliX. Хотя по ссылкам на форуме я понял, что UPoliX - это может быть глюк пеида. И, сорри за ламерский вопрос, а как отловит вызовы функций сентинела (чем они выделяются)? ![]() ![]() |
|
Создано: 28 июля 2006 15:51 · Личное сообщение · #10 а как отловит вызовы функций сентинела (чем они выделяются)? Если ты деассемблировал в IDA с сентинеловскими сигнатурами (View-->Open subviews-->Signatures) , то в Names Window будут функции: RNBOsproGetUnitInfo RNBOsproGetVersion RNBOsproFindFirstUnit RNBOsproFindNextUnit RNBOsproRead и т.п. (если у тебя ключ суперпро) и прилинкована библиотека. Если функций нет, то они в DLL (как правило это lsapiw32.dll), следовательно тогда SoftIce и вперед. Посмотри www.wasm.ru/article.php?article=sentinel00 А дальше лучше в приват, т.к. тема не находит интереса у других форумчан. ![]() ![]() |
|
Создано: 28 июля 2006 15:53 · Личное сообщение · #11 |
|
Создано: 28 июля 2006 16:00 · Личное сообщение · #12 wildwing пишет: ктонить раскажите как в арме ето дело обойти Имелся ввиду электронный ключ. А в арме надо, либо иметь работающий ключ и делать подмену HWID, либо "дописать" генератор ключей - в некоторых случаях он брутфорсится быстро, но в паблик не хотят давать инфу, чтобы разработчик не закрыл "дырку". ![]() |
![]() |
eXeL@B —› Основной форум —› Отвязка от проверки hardware key |