Сейчас на форуме: vsv1 (+3 невидимых) |
![]() |
eXeL@B —› Вопросы новичков —› mp3morpher |
Посл.ответ | Сообщение |
|
Создано: 24 декабря 2007 22:31 · Личное сообщение · #1 Здрасте. Я столкнулся с одной проблемой. Есть проигрыватель mp3morpher. Меня попросили его взломать. Я нашел место сравнения в памяти (софтайс показал что это в файле AVRegLib.dll) в памяти я то изменил ну а в файле где это изменить я не знаю так в памяти это по адресу 003a28ab а в файле таких адресов нет. Разьесните мне пожалуйста как мне найти правильный адрес в файле. Прога не чем не запакована. Р.S. Выложить нигде не получается инет очень медленный а инсталяшка 6.73 мб, если что скину комуто на мэйл чтобы выложил. И сильно за такой вопрос не пинайте - я ведь только учусь. ![]() |
|
Создано: 25 декабря 2007 00:00 · Поправил: Deletant · Личное сообщение · #2 Посмотрел я эту программу (версия 4.0.51) - в AVRegLib.dll делать нечего, так как проверка регистрации идет сразу после запуска программы и данные заносятся в реестр. Можно пропатчить по адрессу 00403023 - и проверка исчезнет ![]() mov ecx, dword ptr Name+134h push offset aCheckingRegist ; "Checking Registration..." call sub_414C70 call sub_41EEC0 test al, al jnz loc_4031C7 - здесь меняй переход Читай статьи, особенно про организацию памяти в CPU ![]() |
|
Создано: 25 декабря 2007 12:49 · Личное сообщение · #3 |
|
Создано: 25 декабря 2007 13:36 · Личное сообщение · #4 Deletant пишет: Читай статьи, особенно про организацию памяти в CPU Таких статей лучше не читать. ![]() Ну а по сути, может быть, ты и прав. В простых случаях (а их большинство) в dll лазить не нужно. Что касается вопроса: pycha пишет: Разьесните мне пожалуйста как мне найти правильный адрес в файле. Дело в том, что dll может загружаться по различным базовым адресам. То есть, реальный VA размещения библиотеки в памяти часто не равен значению поля ImageBase в ПЕ-заголовке. Если так и произошло, то, загрузив в дизассемблер библиотеку (допустим Hiew или IDA) заветный VA (003a28ab) просто так ты не увидишь. Что тут можно сделать: 1. Править это дело в OllyDbg и там же сохранять в файл. 2. Найти в файле сигнатуру (нужнее тебе байтики). 3. Узнать ту реальную базу размещения dll в памяти (а она может меняться) и, допустим, в Hiew'e временно вписать её в поле ImageBase, тогда можно искать свой .003a28ab (не забыв точку перед VA и не забыв вернуть значение ImageBase). 4. Попытаться (не факт что получится) загрузить программу так, чтобы dll была размещена по ImageBase (перезагрузить комп, поставить бряк на ImageBase). ----- Всем привет, я вернулся ![]() |
|
Создано: 25 декабря 2007 13:50 · Личное сообщение · #5 для патча dll достаточно использовать hiew, а не отладчик. если патчить dll в отладчике "по живому" в памяти, когда процесс запущен, то получается, что патч идёт по коду, к которому уже применены релоки. имея дело с прогой типа hiew (дизассемблер-редактор), ты патчишь код до применения релоков. ----- EnJoy! ![]() |
|
Создано: 25 декабря 2007 21:51 · Личное сообщение · #6 Спасибо за помощь. У меня более старая версия проигрователя 3.0.10. Там немного другая система проверки но общий смысл тот же. А нащёт dll помоему мне еще рано загружать этим голову - со временем само прийдет. Там в хелпе я видел пункт getfreekey с этого понял что прога незарегистрирована. Правда , пункта ввести кдюч уже тоже небыло. Но прога без ограничений и поэтому я щитаю взлом удачным. ![]() |
|
Создано: 26 декабря 2007 03:51 · Личное сообщение · #7 |
![]() |
eXeL@B —› Вопросы новичков —› mp3morpher |