Сейчас на форуме: ut2004, vsv1 (+8 невидимых)

 eXeL@B —› Вопросы новичков —› DDeM в X2-Угроза или NoCD своими руками
Посл.ответ Сообщение

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

Создано: 06 октября 2006 03:08 · Поправил: Sn00pY
· Личное сообщение · #1

Нашол у себя игру X2-Угроза (Новый диск) и решил для интереса склепать NoCd. Кинул EXE в PEiD - Nothing found *, но в EP Section стоит .DDeMCod. "Ладно" - подумал я, запихал диск, кинул exe в Olly и стал смотреть какие Jump'ы выполняются при его наличии в CDRom'e. После подправил код чтобы пропускались функции типа GetDriveTypeA, GetVolumeInformationA, CreateFileA, GetFileSize. Вынул диск и стал трассировать. Вроде всё идёт также как и шло с диском, те же call'ы, те же jump'ы, только при переходе на адрес 00435E1F вылетает - Debugged program set single step flag (bit T in EFL).... и т.д. После долгих мучений выяснил, что когда диск в CDRom'e то по адресу 00435E1F стоит строка xor esi, esi и далее всё идёт пучком, без диска же с пропущенными функциями проверки GetDriveTypeA, GetVolumeInformationA и т.д в этом же адресе (00435E1F) вместо xor помещается lea и появляется ошибка с последующим Terminated. "Хорошо" - опять подумал я, а что мне мешает lea на xor переправить? Так и сделал.... тока после безошибочного прохождения этого адреса (00435E1F) и пару других всё равно вываливается в Terminated. Ну раз так, то попробую найти OEP и сдампить сначала.... Хм...Попробовал... Адрес который както был похож на OEP оказался 0653726E jmp eax, сдампил...и получил exe размером в 97,3Mb(ну и ) - нерабочий.
Итого: фонтан моих мыслей иссяк и что делать я уже незнаю. Кому интересно или кто както может помочь в моих злоключенях - поделитесь мыслями на эту тему.



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

Создано: 06 октября 2006 04:14
· Личное сообщение · #2

Sn00pY пишет:
стоит .DDeMCod.

Сделай поиск и почитай. Защита это такая и "в лоб" не возьмешь.



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

Создано: 06 октября 2006 14:03
· Личное сообщение · #3

Sn00pY
OEP ты вроде правильно нашел,а дамп похоже не пофиксил. Таблицу импорта случаем не забыл восстановить ?
p.s чтобы размер файла пофиксить запусти rebuildPE в petools.



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

Создано: 07 октября 2006 06:26
· Личное сообщение · #4

sliderZ пишет:
Таблицу импорта случаем не забыл восстановить ?

... как не страшно это осознавать - но ЗАБЫЛ.... 3 дня коту под хвост из-за того что именно импорт и не восстановил... мда, бывает же такое
В общем теперь всё пашет без диска и тему можно было бы закрыть, но пара вопросов осталась. Конечный EXE'шник весил 97,2Мб. а дамп похоже не пофиксил - почему-то не фиксился...Через rebuildPE в petools вместо 97,3Мб ребилдил на 97,1Мб. Короче сделал так:
1. Сдампил этого 97 метрового мутанта (кстати оригинальный exe весит 3,6Мб !!!)
2. Через PeTools отрезал ему секции .DDeMCod и .DDeMImp
3. Прикрутил импорт
4. Запустил rebuildPE в PeTools
Результат - 3,5Мб (сдулся до размера оригинального EXE )
А вопросы собственно такие (не в тему, но не открывать же новый топик?) :
1. Неужели дамп может настолько отличаться от оригинала или у мя неправильные настройки в OllyDump (всегда снимаю галку с Rebuild Import)
2. Правильно ли поступил кастрировав секции .DDeMCod и .DDeMImp, и можно было бы ещё чего нить оттяпать?



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

Создано: 07 октября 2006 15:20
· Личное сообщение · #5

Sn00pY

1. Я не уверен, но похоже в этом случае это ddem зачем-то раздувает виртуальный размер секции data до 90 мегов. Видимо какая-то спицифика протектора, фиг знает зачем ему это нужно.
2. Да наверное в случае такого простого протектора правильно, я сам секции никогда не отрезаю, на всякий случай кто знает какой глюк потом может возникнуть. В более сложных протекторах типа аспра или армы на сколько я знаю к делу отрезания секций с умом надо подходить.



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

Создано: 07 октября 2006 22:11
· Личное сообщение · #6

Sn00pY пишет:
Неужели дамп может настолько отличаться от оригинала

Все нормально. Это прикол программистов. Вместо динамического заказа памяти сразу создается секция нужного размера. Часть памяти ничем не заполняется и не занимает места в экзе. Дамперы дампят по размеру секции в памяти - на всякий случай Один из простых способов - упаковать файл простым паковщиком.



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

Создано: 08 октября 2006 06:24
· Личное сообщение · #7

tundra37,sliderZ
Пасиб ребята за то что нашли время помочь мне

Поскольку IMHO тема себя исчерпала прошу товарищей модераторов её прикрыть.



Ранг: 49.6 (посетитель), 9thx
Активность: 0.030
Статус: Участник

Создано: 08 октября 2006 06:48
· Личное сообщение · #8

Нашёл на компе 2 проги для запатчивания DDeM Protector'a, залил на рапиду rapidshare.de/files/35951698/DDeM_Unpack.rar.html


 eXeL@B —› Вопросы новичков —› DDeM в X2-Угроза или NoCD своими руками
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати