Сейчас на форуме: Rio, YDS (+10 невидимых)

 eXeL@B —› Основной форум —› Изменив пару байт не срабатывает ф-ция LoadLibraryA
Посл.ответ Сообщение

Ранг: 14.3 (новичок), 2thx
Активность: 0.010
Статус: Участник

Создано: 12 апреля 2006 14:30
· Личное сообщение · #1

Ломаю программу Crimzonland, уже локализовал защиту практически всё понятно, но изменив пару байт не срабатывает ф-ция LoadLibraryA? Причем можно изменить байты в данных , то есть беру напр. строку и заменяю её строкой той же длины и после этого функция (LoadLibraryA) не работает! такое ощущение как будто сама LoadLibraryA проверяет контр. сумму эксешника который ее вызывает.
Чё за фигня разъясните чайнику?



Ранг: 186.8 (ветеран)
Активность: 0.040
Статус: Участник

Создано: 12 апреля 2006 14:38
· Личное сообщение · #2

Ты в экзешнике заменяешь пару байт, а потом этот экзешник вызывает LoadLibraryA какой-то своей длл-ки, и получается облом? Если так - смотри на инициализацию длл-ки, не исключено, что в ней происходит проверка црц экзешника.




Ранг: 307.9 (мудрец), 196thx
Активность: 0.180
Статус: Участник

Создано: 12 апреля 2006 15:06
· Личное сообщение · #3

artkar
Чья локализация игрушки ? (Reflexive, PopCap и т.д.)
Если от Reflexive то там и dll проверяется на crc и exe.

-----
Don_t hate the cracker - hate the code.




Ранг: 253.9 (наставник)
Активность: 0.130
Статус: Участник

Создано: 13 апреля 2006 07:47 · Поправил: Tim
· Личное сообщение · #4

А если правишь в DLL, то возможно, что твои исправления попадают под релок, и при запуске там оказываются уже другие байты.

-----
MicroSoft? Is it some kind of a toilet paper?




Ранг: 14.3 (новичок), 2thx
Активность: 0.010
Статус: Участник

Создано: 14 апреля 2006 00:27
· Личное сообщение · #5

Tim - у
Нет я правлю байты в ехе.

Скорее всего прав MoonShiner. Я прошел весь путь с нормальным ехе и патченным всё одинаково, и параметры и состояние регистров ну всё только в первом случае грузиться, а во втором нет =(

Да и еще, прога активно использует сопроцессор, может тут какая то подъ..... он ведь может работать паралельно основному....




Ранг: 104.1 (ветеран)
Активность: 0.070
Статус: Участник
искатель истЕны

Создано: 14 апреля 2006 03:19
· Личное сообщение · #6

artkar
если уж совсем никак то пробуй этот темак:
http://www.exelab.ru/f/action=vthread&forum=1&topic=4492



Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 15 апреля 2006 14:40
· Личное сообщение · #7

artkar пишет:
такое ощущение как будто сама LoadLibraryA проверяет контр. сумму эксешника

Это ты слишком сильно загнул. Когда грузится DLL, то сразу выполняется ее вход DllMain.
Я уже встречал прогу, где защита была именно там. Т.е. CRC проверяет не LoadLibraryA ,
а сама DLL



Ранг: 44.7 (посетитель)
Активность: 0.040
Статус: Участник

Создано: 20 апреля 2006 11:13
· Личное сообщение · #8

artkar пишет:
LoadLibraryA проверяет контр. сумму эксешника

Может, если эта LoadLibrary вызывактся из какой-нибудь своей dll.

но скорее всего коонтрольная сумма проверяется при вызове DllMain

Это довольно пррикольный трюк, т.к. можно передать управление еще одной dll, и так далее..... вообщем, artkar, можешь в этом неправлении порыть


 eXeL@B —› Основной форум —› Изменив пару байт не срабатывает ф-ция LoadLibraryA
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати