Сейчас на форуме: bartolomeo, asfa, _MBK_ (+7 невидимых) |
![]() |
eXeL@B —› Вопросы новичков —› Распаковка StarForce 4.70 - Пьеса в нескольких действиях |
. 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 . >> |
Посл.ответ | Сообщение |
|
Создано: 27 октября 2011 23:54 · Личное сообщение · #1 Информации об исследовании данной защиты в свободном доступе почти нет,кроме мануала про снятие SF 5.50 с игры King's Bounty. Особого интереса этот мануал не представляет по той причине,что на игру есть нормальные NoDVD. Идея была такая - снять дамп с запущенного через эмулятор процесса ,затем восстанавливать недостающие процедуры из Protect.dll. Версия 4.70 очень поганая, запустить её с эмулятором удается с 10-15 раза. Если в отладчике открывать сам exe-файл ,то после тыкания Shift+F9 выбрасывает в Protect.dll . Никакого EP нет. Вообщем пусть гуру объяснят как тут надо действовать ![]() |
|
Создано: 28 октября 2011 00:32 · Личное сообщение · #2 Calypso пишет: Никакого EP нет Есть, но до него ещё надо дойти. Т.к. у ехе-файла в таблице импорта присутствует эта самая Protect.dll, то она подгружается загрузчиком ( и выполняется её DllMain) до начала выполнения кода с ЕР ехе-файла. В этом, собственно, и есть защита. Далее в недрах этой библиотеки проверяется наличие диска, распаковывается код и многое другое. Как я понимаю, версия 3 была последней, где драйвер использовался в качестве защиты от отладчика, теперь драйвер применяется только для низкоуровневой работы с диском, поэтому, в общем, это можно распаковать из ring3 в Олли. Нормальных гайдов - да, я тоже не видел. Как тут действовать? Хм, для начала хотелось бы узнать, а что уже сделано? ----- Stuck to the plan, always think that we would stand up, never ran. ![]() |
|
Создано: 28 октября 2011 00:48 · Личное сообщение · #3 |
|
Создано: 28 октября 2011 00:53 · Личное сообщение · #4 |
|
Создано: 28 октября 2011 10:29 · Личное сообщение · #5 |
|
Создано: 28 октября 2011 14:12 · Личное сообщение · #6 |
|
Создано: 28 октября 2011 14:13 · Личное сообщение · #7 |
|
Создано: 28 октября 2011 14:27 · Личное сообщение · #8 |
|
Создано: 28 октября 2011 15:26 · Поправил: MasterSoft · Личное сообщение · #9 ведь не хотел ничо писать... Calypso пишет: Информации об исследовании данной защиты в свободном доступе почти нет,кроме мануала про снятие SF 5.50 с игры King's Bounty. гордость переполняет меня ![]() Nightshade пишет: Для начала объясни почему не можешь дойти до ЕП видимо у него нет ключа или диска, вот и дойти не может. Calypso пишет: Если не знаете как распаковать,так и скажите - я спрошу на других форумах go Calypso ищи по форуму, мельком инфа о четверке проскакивала. Archer тему думаю закрыть лучше. ты ж в курсе к чему эт приведёт) тем более афтар общаться ни с кем не хочет и делать видимо тоже. ![]() |
|
Создано: 28 октября 2011 15:43 · Поправил: Kylak · Личное сообщение · #10 |
|
Создано: 28 октября 2011 16:39 · Личное сообщение · #11 |
|
Создано: 28 октября 2011 18:33 · Личное сообщение · #12 |
|
Создано: 28 октября 2011 18:42 · Личное сообщение · #13 |
|
Создано: 28 октября 2011 18:56 · Поправил: Calypso · Личное сообщение · #14 ОК,сейчас я буду переваривать информацию и о результатах отпишусь позже. Тему пока не закрывайте Кстати подопытный кролик вот если интересно: http://depositfiles.com/files/p14ktz4xu ProtectionID показывает [!] StarForce 32 Bit v4.70.011.003 [Builder] , но неясно это Basic версия или Pro\Elite Удалось запустить игру через Алкаша, а SPTD 1.78 пишет диск не идентифицирован Вообщем делаю по этому мануалу Застопорился на этом шаге: Поднимаемся чуть выше, до начала функи, а именно до адреса 004C98A4, тыкнули на него мышакой, нажали ctrl+r, попали в окно ссылей на этот адрес, великолепно, адресочек всего один, тыкнулись по нему, перешли, это OEP, поздравляю! Здесь первое несовпадение, в ctrl+r пусто. Не получается выйти на OEP ![]() |
|
Создано: 28 октября 2011 21:30 · Поправил: Veliant · Личное сообщение · #15 Если уж выкладываете минимальный набор для запуска, так хотяб проверяйте импорт - они еще с десяток других тянут за собой, всякие vorbis* и ogg*, ну и как минимум еще мини-образ диска. Не припомню я проблем в нахождении OEP в Basic версии стара. Максимум с чем приходится повозиться - с импортом kernel32 и user32 Тут уже пробегали блокнот и тетрис накрытые старом basic версии, снимаются на ура Upd: Чтоб найти OEP, надо хотяб знать как выглядит код компиляторов или пакеров в точке входа. Да и судя по твоим постам, сначала почитай мануал к olly и любой учебник по ассемблеру, потом уже за стар берись ![]() |
|
Создано: 28 октября 2011 22:00 · Личное сообщение · #16 |
|
Создано: 28 октября 2011 22:09 · Поправил: Calypso · Личное сообщение · #17 Ну тогда получается что файл я почти распаковал,только не знаю адрес OEP. В Imprec находит зашифрованные функции но там примерно такая фигня: rva:000ED048 ptr:0200242d В отладчике же по этому адресу вместо прыжка: 0200242D FF7424 04 PUSH DWORD PTR SS:[ESP+4] Жмешь Enter и ничего не происходит. Никакой виртуальной машины тут нет,стоит SF 4.7 Basic ещё проще чем в туторе Самое удивительное если защита для детей,почему до сих пор нет NoDVD ![]() |
|
Создано: 28 октября 2011 22:17 · Личное сообщение · #18 Calypso пишет: 0200242D FF7424 04 PUSH DWORD PTR SS:[ESP+4] Жмешь Enter и ничего не происходит. ![]() ![]() ![]() ![]() ![]() ----- Yann Tiersen best and do not fuck ![]() |
|
Создано: 28 октября 2011 22:37 · Личное сообщение · #19 |
|
Создано: 28 октября 2011 22:58 · Поправил: Calypso · Личное сообщение · #20 Psalmopoeus Pulcher пишет: Универсальный поиск OEP: Cтоя на EP защищенного файла (jmp ds:[Адрес_где_то_в_ВМ]), переходим в секцию ВМ и ищем VM_Exit, хардбряк и запуск. В стэке адрес OEP. Сигнатура VM_Exit для версий 3.x-5.5: 58h,3,0E0h,9Dh,61h,0C3h. Для версий старше: 59h,5Bh,87h,4,24h,0C3h. Расшифруйте для тупых,что это значит. На EP защищенного файла мы попадаем после того как Старфорс успешно определил диск? 0053E000 > 68 A4C6881C PUSH 1C88C6A4 0053E005 -FF25 BCE15300 JMP DWORD PTR DS:[<&PROTECT.#1>] ; PROTECT.#1 Где искать секцию VM ? эта фишка с GetSystemTimeAsFileTime работает только на Visual C++ 9(или 8), а у тебя под старом может быть другой компилятор. Компилятор там Visual C++ версии 6,7 или 8. Наиболее вероятно 6 или 7 ![]() |
|
Создано: 28 октября 2011 23:06 · Личное сообщение · #21 |
|
Создано: 28 октября 2011 23:16 · Личное сообщение · #22 Я поражаюсь, какой нынче тупой, но требовательный народ пошел... Судя по этому: 0200242D FF7424 04 PUSH DWORD PTR SS:[ESP+4] Жмешь Enter и ничего не происходит. у тебя даже элементарных познаний нет. Читай статьи и учи асм. ![]() |
|
Создано: 28 октября 2011 23:19 · Поправил: Calypso · Личное сообщение · #23 Ну вы же сами приводите мануалы,где только пишут какие кнопки тыкать. А что и откуда берется - видимо читатель должен узнать с помощью телепатического шлема ![]() Если уж так впадлу отвечать на нубские вопросы,то давно бы сделали тутор. Хороший тутор,а не через жопу. И все вопросы сразу отпали. Но видимо мания величия не позволяет этого сделать ![]() |
|
Создано: 28 октября 2011 23:24 · Поправил: Veliant · Личное сообщение · #24 Calypso пишет: Ну вы же сами приводите мануалы,где только пишут какие кнопки тыкать. А что и откуда берется - видимо читатель должен узнать с помощью телепатического шлема Для того чтоб реверсить нужно иметь некоторую базу - знания ассемблера и как пользоваться инструментами, остальное приходит с опытом Calypso пишет: Если уж так впадлу отвечать на нубские вопросы,то давно бы сделали тутор. Во-первых такие мануалы есть, а вам лень искать. А во-вторых а с чего Вы решили, что Вам кто-то обязан? На этом форуме можно четко выделить два типа новичков: 1)Приходят, берут задачку посложней, нихрена при этом не зная. Напрягают всех, сами не пытаясь в чем либо разобраться, и как правило через недельку остывают 2)Либо вообще ничего не спрашивают, а читают много. Либо спросят куда копать и копают. Если не забивают, то у таких что-то толковое и выходит Читай норм мануал http://exelab.ru/f/action=vthread&forum=13&topic=12108#13 ![]() |
|
Создано: 28 октября 2011 23:28 · Личное сообщение · #25 Veliant пишет: Во-первых такие мануалы есть, а вам лень искать. А во-вторых а с чего Вы решили, что Вам кто-то обязан? Для этого и существует форум чтобы задавать вопросы,а знающие люди делились опытом. Когда 90% информации гнутие пальцев,а 10% - полезная информация, согласитесь чести форуму это не делает ![]() |
|
Создано: 29 октября 2011 01:20 · Поправил: DillerInc · Личное сообщение · #26 Calypso, попробуйте ----- the Power of Reversing team ![]() |
|
Создано: 29 октября 2011 06:06 · Личное сообщение · #27 |
|
Создано: 29 октября 2011 10:26 · Поправил: Nightshade · Личное сообщение · #28 |
|
Создано: 29 октября 2011 12:44 · Поправил: Calypso · Личное сообщение · #29 Nightshade пишет: Протект длл на 13мб говорит о версии про. А значит ты не сломаешь эту игру Судя по названию - это Петька 8: Покорение Рима Да это она,меня смутило во-первых что Тривиумы так и не сломали её хотя игра хорошая,во-вторых почему нет проверки IsDebuggerPresent - старфорс так уверен в себе что даже на отладчик плевать DillerInc пишет: Calypso, попробуйте -> GeTaOEP <- - на данный момент это может оказаться наиболее действенным вариантом для вас. Думаю, что тулза должна прокатить. Ну да я попробовал,находит OEP 4E716E , вроде похоже но 100% нельзя проверить. По ptr адресу все равно прыжка нет,там MOV EAX, бла бла бла. Так и должно быть или обязательно должен быть JMP? Или вот такая фигня например: функция из kernel32 rva:000ED048 ptr: 0209227c 0209227C ^E9 A6FFFFFF JMP 02092227 02092226 00FF ADD BH,BH 02092228 74 24 JE SHORT 0209224E 0209222A 04 58 ADD AL,58 Куда он прыгает? Или это и есть виртуальная машина? А по другому переходу всё нормально: 020901D4 64:A1 18000000 MOV EAX,DWORD PTR FS:[18] 020901DA FF70 20 PUSH DWORD PTR DS:[EAX+20] 020901DD 58 POP EAX 020901DE C3 RETN Похоже на зашифрованную функцию,но всё равно я не понял как её идентифицировать по ассемблерному листингу kernel32.dll Кто может,растолкуйте сюда или в личку ![]() |
|
Создано: 29 октября 2011 13:06 · Личное сообщение · #30 |
. 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 . >> |
![]() |
eXeL@B —› Вопросы новичков —› Распаковка StarForce 4.70 - Пьеса в нескольких действиях |
Эта тема закрыта. Ответы больше не принимаются. |