Сейчас на форуме: bartolomeo, asfa, _MBK_ (+7 невидимых)

 eXeL@B —› Вопросы новичков —› Распаковка StarForce 4.70 - Пьеса в нескольких действиях
. 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 . >>
Посл.ответ Сообщение

Ранг: 6.9 (гость), 1thx
Активность: 0.030
Статус: Участник

Создано: 27 октября 2011 23:54
· Личное сообщение · #1

Информации об исследовании данной защиты в свободном доступе почти нет,кроме мануала про снятие SF 5.50 с игры King's Bounty. Особого интереса этот мануал не представляет по той причине,что на игру есть нормальные NoDVD.
Идея была такая - снять дамп с запущенного через эмулятор процесса ,затем восстанавливать недостающие процедуры из Protect.dll.
Версия 4.70 очень поганая, запустить её с эмулятором удается с 10-15 раза.
Если в отладчике открывать сам exe-файл ,то после тыкания Shift+F9 выбрасывает в Protect.dll . Никакого EP нет.
Вообщем пусть гуру объяснят как тут надо действовать




Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 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.




Ранг: 6.9 (гость), 1thx
Активность: 0.030
Статус: Участник

Создано: 28 октября 2011 00:48
· Личное сообщение · #3

В том то и дело что ничего сделать нельзя - в SF 5.50 на EP выходишь сразу,а тут сразу блокируется всё.
Для начала объясните как дойти до EP ,нужно делать дамп?



Ранг: 6.9 (гость), 1thx
Активность: 0.030
Статус: Участник

Создано: 28 октября 2011 00:53
· Личное сообщение · #4

Ещё удивило что есть 2 варианта запуска - проверка диска и ввод ключа. Непонятно как они связаны между собой, но насколько я знаю 5-ю версию Старфорса Тривиумы ломали как раз через ключ

От модератора: Пользуйся кнопкой "Правка", не создавай сообщения подряд.




Ранг: 241.9 (наставник), 107thx
Активность: 0.140.01
Статус: Участник

Создано: 28 октября 2011 10:29
· Личное сообщение · #5

Для начала объясни почему не можешь дойти до ЕП



Ранг: 6.9 (гость), 1thx
Активность: 0.030
Статус: Участник

Создано: 28 октября 2011 14:12
· Личное сообщение · #6

Во-первых что эта тема делает в вопросах новичков - модератор считает что снятие SF 4.70 настолько просто,что справится любой школьник?
Во-вторых,хотелось бы всё таки разговор по существу, а не блиц опрос - что,почему,когда



Ранг: 6.9 (гость), 1thx
Активность: 0.030
Статус: Участник

Создано: 28 октября 2011 14:13
· Личное сообщение · #7

Если не знаете как распаковать,так и скажите - я спрошу на других форумах




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 28 октября 2011 14:27
· Личное сообщение · #8

Модератор считает, что автор топика сам не особо что-то сделал, потому и перенёс топик. Ещё игнорирует вопросы других людей, видимо, надеется, что все пойдут для него писать статью сразу. А ещё к тому же и не учится на своих ошибках и продолжает игнорировать кнопку Правка.



Ранг: 281.8 (наставник), 272thx
Активность: 0.250.01
Статус: Участник
Destroyer of protectors

Создано: 28 октября 2011 15:26 · Поправил: MasterSoft
· Личное сообщение · #9

ведь не хотел ничо писать...

Calypso пишет:
Информации об исследовании данной защиты в свободном доступе почти нет,кроме мануала про снятие SF 5.50 с игры King's Bounty.

гордость переполняет меня

Nightshade пишет:
Для начала объясни почему не можешь дойти до ЕП

видимо у него нет ключа или диска, вот и дойти не может.

Calypso пишет:
Если не знаете как распаковать,так и скажите - я спрошу на других форумах

go

Calypso
ищи по форуму, мельком инфа о четверке проскакивала.

Archer
тему думаю закрыть лучше. ты ж в курсе к чему эт приведёт) тем более афтар общаться ни с кем не хочет и делать видимо тоже.



Ранг: 3.0 (гость), 1thx
Активность: 0=0
Статус: Участник

Создано: 28 октября 2011 15:43 · Поправил: Kylak
· Личное сообщение · #10

Вот тебе, 4.7, инструкия для дебилов... --> Link <--




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 28 октября 2011 16:39
· Личное сообщение · #11

Kylak спс, посмеялся. Особенно:

>> Тыкаем ок (ну а че блять тут еще то тыкать? Крестик?).
Доставило

-----
Yann Tiersen best and do not fuck




Ранг: 6.9 (гость), 1thx
Активность: 0.030
Статус: Участник

Создано: 28 октября 2011 18:33
· Личное сообщение · #12

Kylak пишет:
Вот тебе, 4.7, инструкия для дебилов... --> Link <--

Наконец то что-то полезное,спасибо. Через гугл эта статья не находилась.
MasterSoft
не надо устраивать тут балаган,если у вас плохо со зрением то я спросил как найти EP в защищенном SF 4.7 файле




Ранг: 105.6 (ветеран), 36thx
Активность: 0.10
Статус: Участник

Создано: 28 октября 2011 18:42
· Личное сообщение · #13

http://exelab.ru/f/action=vthread&forum=13&topic=13205
вот тема где обсуждался стар, если чё не поймёшь, и там у тебя версия точно без вм, то могу объяснить, но в теме ты найдёшь ответы.



Ранг: 6.9 (гость), 1thx
Активность: 0.030
Статус: Участник

Создано: 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 пишет диск не идентифицирован
Вообщем делаю по этому мануалу http://www.nodvd.net/629-raspakovka-sf-basic-na-igre-stalker-shadow-of.html , вроде как всё совпадает, даже IsDebuggerPresent нету.
Застопорился на этом шаге:
Поднимаемся чуть выше, до начала функи, а именно до адреса 004C98A4, тыкнули на него мышакой, нажали ctrl+r, попали в окно ссылей на этот адрес, великолепно, адресочек всего один, тыкнулись по нему, перешли, это OEP, поздравляю!
Здесь первое несовпадение, в ctrl+r пусто. Не получается выйти на OEP



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

Создано: 28 октября 2011 21:30 · Поправил: Veliant
· Личное сообщение · #15

Если уж выкладываете минимальный набор для запуска, так хотяб проверяйте импорт - они еще с десяток других тянут за собой, всякие vorbis* и ogg*, ну и как минимум еще мини-образ диска.
Не припомню я проблем в нахождении OEP в Basic версии стара. Максимум с чем приходится повозиться - с импортом kernel32 и user32
Тут уже пробегали блокнот и тетрис накрытые старом basic версии, снимаются на ура


Upd:
Чтоб найти OEP, надо хотяб знать как выглядит код компиляторов или пакеров в точке входа.
Да и судя по твоим постам, сначала почитай мануал к olly и любой учебник по ассемблеру, потом уже за стар берись



Ранг: 617.3 (!), 677thx
Активность: 0.540
Статус: Участник

Создано: 28 октября 2011 22:00
· Личное сообщение · #16

Calypso пишет:
Здесь первое несовпадение, в ctrl+r пусто. Не получается выйти на OEP

У тебя этого может и не быть, эта фишка с GetSystemTimeAsFileTime работает только на Visual C++ 9(или 8), а у тебя под старом может быть другой компилятор.



Ранг: 6.9 (гость), 1thx
Активность: 0.030
Статус: Участник

Создано: 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




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 28 октября 2011 22:17
· Личное сообщение · #18

Calypso пишет:
0200242D FF7424 04 PUSH DWORD PTR SS:[ESP+4]
Жмешь Enter и ничего не происходит.



-----
Yann Tiersen best and do not fuck


| Сообщение посчитали полезным: ARCHANGEL, SReg, Nightshade, neprovad, Dart Sergius, GoldenJoe

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

Создано: 28 октября 2011 22:37
· Личное сообщение · #19

Универсальный поиск 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.



Ранг: 6.9 (гость), 1thx
Активность: 0.030
Статус: Участник

Создано: 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



Ранг: 315.1 (мудрец), 631thx
Активность: 0.30.33
Статус: Модератор
CrackLab

Создано: 28 октября 2011 23:06
· Личное сообщение · #21

Calypso
Почитай уже статьи для новичков, а?



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

Создано: 28 октября 2011 23:16
· Личное сообщение · #22

Я поражаюсь, какой нынче тупой, но требовательный народ пошел...
Судя по этому:
0200242D FF7424 04 PUSH DWORD PTR SS:[ESP+4]
Жмешь Enter и ничего не происходит.

у тебя даже элементарных познаний нет. Читай статьи и учи асм.

| Сообщение посчитали полезным: Jupiter

Ранг: 6.9 (гость), 1thx
Активность: 0.030
Статус: Участник

Создано: 28 октября 2011 23:19 · Поправил: Calypso
· Личное сообщение · #23

Ну вы же сами приводите мануалы,где только пишут какие кнопки тыкать. А что и откуда берется - видимо читатель должен узнать с помощью телепатического шлема
Если уж так впадлу отвечать на нубские вопросы,то давно бы сделали тутор. Хороший тутор,а не через жопу. И все вопросы сразу отпали. Но видимо мания величия не позволяет этого сделать



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

Создано: 28 октября 2011 23:24 · Поправил: Veliant
· Личное сообщение · #24

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

Для того чтоб реверсить нужно иметь некоторую базу - знания ассемблера и как пользоваться инструментами, остальное приходит с опытом
Calypso пишет:
Если уж так впадлу отвечать на нубские вопросы,то давно бы сделали тутор.

Во-первых такие мануалы есть, а вам лень искать. А во-вторых а с чего Вы решили, что Вам кто-то обязан?

На этом форуме можно четко выделить два типа новичков:
1)Приходят, берут задачку посложней, нихрена при этом не зная. Напрягают всех, сами не пытаясь в чем либо разобраться, и как правило через недельку остывают
2)Либо вообще ничего не спрашивают, а читают много. Либо спросят куда копать и копают. Если не забивают, то у таких что-то толковое и выходит


Читай норм мануал
http://exelab.ru/f/action=vthread&forum=13&topic=12108#13



Ранг: 6.9 (гость), 1thx
Активность: 0.030
Статус: Участник

Создано: 28 октября 2011 23:28
· Личное сообщение · #25

Veliant пишет:
Во-первых такие мануалы есть, а вам лень искать. А во-вторых а с чего Вы решили, что Вам кто-то обязан?

Для этого и существует форум чтобы задавать вопросы,а знающие люди делились опытом.
Когда 90% информации гнутие пальцев,а 10% - полезная информация, согласитесь чести форуму это не делает




Ранг: 283.6 (наставник), 56thx
Активность: 0.130
Статус: Участник
Author of GeTaOEP

Создано: 29 октября 2011 01:20 · Поправил: DillerInc
· Личное сообщение · #26

Calypso, попробуйте -> GeTaOEP <- - на данный момент это может оказаться наиболее действенным вариантом для вас. Думаю, что тулза должна прокатить.

-----
the Power of Reversing team





Ранг: 568.2 (!), 464thx
Активность: 0.550.57
Статус: Участник
оптимист

Создано: 29 октября 2011 06:06
· Личное сообщение · #27

Calypso
Полное название игры можно узнать ?

-----
Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли.





Ранг: 241.9 (наставник), 107thx
Активность: 0.140.01
Статус: Участник

Создано: 29 октября 2011 10:26 · Поправил: Nightshade
· Личное сообщение · #28

Протект длл на 13мб говорит о версии про. А значит ты не сломаешь эту игру
Судя по названию - это Петька 8: Покорение Рима



Ранг: 6.9 (гость), 1thx
Активность: 0.030
Статус: Участник

Создано: 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
Кто может,растолкуйте сюда или в личку




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 29 октября 2011 13:06
· Личное сообщение · #30

Calypso тебе уже советовали почитать статьи для новичков. Воду толчешь.

Тебя не смущает, что прыжок идет на 02092227, а листинг ты выкладываешь с адреса 02092226? Об этом даже в той статье было, что Kylak предложил.

-----
Yann Tiersen best and do not fuck



. 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 . >>
 eXeL@B —› Вопросы новичков —› Распаковка StarForce 4.70 - Пьеса в нескольких действиях
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати