Сейчас на форуме: 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 нет.
Вообщем пусть гуру объяснят как тут надо действовать



Ранг: 22.5 (новичок), 18thx
Активность: 0.050
Статус: Участник

Создано: 02 ноября 2011 15:11 · Поправил: [Nomad]
· Личное сообщение · #2

Calypso пишет:
Так есть ли нет,определитесь уже.

Есть.




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

Создано: 02 ноября 2011 15:15 · Поправил: Nightshade
· Личное сообщение · #3

После дампа вм на оеп, проверки диска не будет. Работать старая версия вм будет на одном железе. В новых есть еще проверка версии системы, как антидамп. Кстати Номад малек неправильно говорит. Пикод, он же PCode, он же PseudoCod, он же лента вм или байткод есть в любой вм стара. Я только коллапс видел вообще без регистровой вм и соответственно пикода. Он говорит, что есть спертый код.



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

Создано: 02 ноября 2011 15:15
· Личное сообщение · #4

Пикод на петьке есть.
Три дампа под разные ОС? Глупость. Нужно искать универсальное решение, т.к. адрес апи может изменится и в пределах одной системы.
IsDebuggerPresent используется в новой ВМ, старая ВМ дергает WaitForSingleObject для своих нужд.
Апи из таблицы импорта так же могут быть перенаправлены в ВМ. Ищуться как и ОЕП через ВМ_Екзит.




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

Создано: 02 ноября 2011 15:20
· Личное сообщение · #5

Это только при защите импорта так. И то в новых версиях. Фиксятся точно так же как и простые переходники. (Проще всего это делать как написано выше через вм ексит)



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

Создано: 02 ноября 2011 19:07 · Поправил: Calypso
· Личное сообщение · #6

Psalmopoeus Pulcher пишет:
Три дампа под разные ОС? Глупость. Нужно искать универсальное решение, т.к. адрес апи может изменится и в пределах одной системы.

Я для себя кряк делаю,а не для школоты на форумах. А если для себя так можно под любой процессор и под любую ОС сделать, по крайней мере для начала я думаю так сделать
Nightshade пишет:
После дампа вм на оеп, проверки диска не будет. Работать старая версия вм будет на одном железе

Ну и замечательно.Значит моя задача на данный момент расшифровать 15 функций и исправить 33 прыжка, а потом будем решать как дальше жить



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

Создано: 02 ноября 2011 19:14 · Поправил: MasterSoft
· Личное сообщение · #7

Calypso пишет:
расшифровать 15 функций

если ты собрался делать дамп нахера их расшифровывать? или ты про импорт?




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

Создано: 02 ноября 2011 19:29
· Личное сообщение · #8

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

Ты завхоз в китае что ли? Такой бред несешь.

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


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

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

Создано: 02 ноября 2011 20:01 · Поправил: Calypso
· Личное сообщение · #9

MasterSoft пишет:
если ты собрался делать дамп нахера их расшифровывать? или ты про импорт?

Импорт 6 функций в кернел32 и 4 функции в юзер32. Две функции мне уже подсказали, а остальные придется неделю расшифровывать
PE_Kill пишет:
Ты завхоз в китае что ли?

У меня в планах сделать 27 анпаков на 3 игры,для 3 разных ОС и 3 разных процессоров (Семпрон,Атлон64 и Феном)

В аттаче 4 функции user32.dll ,кто может гляньте. Чего то не могу найти пока ни одну

6ed5_02.11.2011_EXELAB.rU.tgz - petka import.txt



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

Создано: 02 ноября 2011 21:41 · Поправил: Psalmopoeus Pulcher
· Личное сообщение · #10

код процедур собран не полностью.

В помощь пару паттернов для примера:
Code:
  1. xchg r32_1,r32_2
  2. push r32_2
  3. xchg r32_1,r32_2
  4. ==
  5. push r32_1


Code:
  1. push r32
  2. mov r32,const
  3. xchg dword ptr ss:[esp],r32
  4. ==
  5. push const


Code:
  1. call $+5
  2. xchg dword ptr ss:[esp],r32
  3. lea r32,dword ptr ds:[r32+f]
  4. xchg dword ptr ss:[esp],r32
  5. push const
  6. retn
  7. ==
  8. call const


Code:
  1. lea esp,dword ptr ss:[esp-4]
  2. mov dword ptr ss:[esp],r32
  3. ==
  4. push r32


И т.д...



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

Создано: 02 ноября 2011 21:45
· Личное сообщение · #11

Calypso
02043EF2 - DefWindowProcA
0206E515 - LoadStringA
02044044 - GetClientRect
02044251 - GetMessageA




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

Создано: 02 ноября 2011 21:51
· Личное сообщение · #12

Calypso, ты с ассемблером вообще дружишь?
Code:
  1. 02043F0A   68 C085367E      PUSH 7E3685C0
  2. 02043F0F   C3               RETN

...капитан Очевидность как бы намекает, что скорее всего эмулируются начальные команды системных функций, а затем идёт переход в эту самую системную функцию, ниже команд, которые были проэмулированы. Делай вывод.

-----
the Power of Reversing team




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

Создано: 02 ноября 2011 22:01
· Личное сообщение · #13

huckfuck
Круто,а как так быстро нашел если не секрет?
DillerInc
Я пытаюсь понять как СФ гадит функции,пока только заметил что ptr каждый запуск меняется,так же как меняет их код. В чем тут смысл то,сделать из простой команды mov eax,ebx несколько десятков бесполезных манипуляций с регистрами и запутать хакера?




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

Создано: 02 ноября 2011 22:09
· Личное сообщение · #14

Calypso пишет:
В чем тут смысл то,сделать из простой команды mov eax,ebx несколько десятков бесполезных манипуляций с регистрами и запутать хакера?

--> Читайте <--

Круто,а как так быстро нашел если не секрет?
Я рыдаю

Я пытаюсь понять как СФ гадит функции
Понять как - ментально? Вы поймите меня правильно, я против вас ничего не имею ввиду, но вам нужно почитать статьи и изучить более простые вещи, а потом браться за старфорс.

-----
Stuck to the plan, always think that we would stand up, never ran.




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

Создано: 02 ноября 2011 22:19
· Личное сообщение · #15

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



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

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

Calypso пишет:
есть какой-то секрет,о котором мне не известно?

Некоторые функции не морфятся из kernel32 и их на память можно запомнить.
Во вторых можно просто ставить eip на начало кода, трейсить и выходить сразу в dll, смотрим выше и узнаем имя функции. Если есть константы с адресами то по Ctrl+G переходим и смотрим что за функция.
Если системные либы подменены своими то и соответственно код можно на глаз будет определять.
Восстановление IAT дело муторное но не сложное. Как говорится было бы желание



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

Создано: 02 ноября 2011 22:45
· Личное сообщение · #17

C kernel32 всё оказалось намного проще,как я его пощёлкал:
0203E163 - MulDiv
0203C3A0 - GetCurrentProcessId
0203C41C - LoadLibraryA (возможно?)
0203E0A4 - GetTickCount
0203F828 - SleepEx (возможно?)
0203EAB7 - MultiByteToWideChar

ee53_02.11.2011_EXELAB.rU.tgz - petka import KERNEL32.txt



Ранг: 116.1 (ветеран), 5thx
Активность: 0.060
Статус: Участник

Создано: 02 ноября 2011 23:21
· Личное сообщение · #18

Calypso, держи файло для импрека с табличкой импорта жертвы,
мож это придаст тебе силы и ты сделаешь этот СФ

1415_02.11.2011_EXELAB.rU.tgz - petka8iat.zip



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

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

Почему то секция новая не приклеивается. В PE Tools показывает что она добавилась,а делаешь дамп и размер как был 1.2 МБ так и остался.
Адрес пустой секции с ВМ рассчитывается по формуле: (чего тут я не понял - 0080400 (ImageBase protect.dll) ) + (00804000-00400000)
Может в этом причина
http://depositfiles.com/files/0ujpueqzs

Вот чего-то приклеилось,по-моему дамп совсем не тот - кода, по которому джампы стоят, нету
http://depositfiles.com/files/abx8sqpm1




Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 03 ноября 2011 05:10
· Личное сообщение · #20

Calypso
Не бери на себя слишком много. Где флуд, а где нет - решит модератор, а не ты.
Хочешь поучать других участников форума - делай это перед зеркалом.
Не сдержишься - отдохнёшь в бане.

Если тебе советуют изучить хотя бы Basic версию, то это потому, что тебе нужно начинать с азов, даже не с бейсика, а с upx, с работы с отладчиком. Хватит уже твердить про "у меня про, потому я её и копаю".
Ты пока не понимаешь, насколько ты смешон, пытаясь "умно" отвечать, но это пройдёт.
Посему сконцентрируйся на работе и оставь свои рассуждения о том, что не относится к конкретной задаче.

Удачи в совершенствовании.

-----
EnJoy!


| Сообщение посчитали полезным: MasterSoft, SReg, daFix

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

Создано: 03 ноября 2011 14:25 · Поправил: Calypso
· Личное сообщение · #21

Jupiter пишет:
Ты пока не понимаешь, насколько ты смешон, пытаясь "умно" отвечать, но это пройдёт.

Если у вас есть конкретные факты,то покажите их. Смех без причины признак сами знаете чего
Jupiter пишет:
Посему сконцентрируйся на работе и оставь свои рассуждения о том, что не относится к конкретной задаче.

Могу посоветовать тоже самое вашим "спецам", 90% которых сразу заткнулись как только разговор пошёл о технической стороне вопроса
Jupiter пишет:
Не сдержишься - отдохнёшь в бане.

О да,это невероятное огорчение. Особенно судя по тому, что на форуме только 1 человек знает как снять SF 4.70



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

Создано: 03 ноября 2011 15:12 · Поправил: Модератор
· Личное сообщение · #22

Calypso
А не пошел бы ты ..., вместе со своим петькой?

От модератора: на сутки бан за слова нехорошие. а топик вообще лулзовый, если б не столько лулзов, давно бы закрыл уже

| Сообщение посчитали полезным: HandMill, zeppe1in, Dart Sergius, yanus0, DimitarSerg, Kylak

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

Создано: 03 ноября 2011 15:17
· Личное сообщение · #23

"нельзя попасть в ВУЗ, нагло игнорируя школьную программу"
Смею предположить что спецы если и готовы отвечать на вопросы но только не уровня "как прицепить секцию"
Максимум что бы у вас вышло с текущим уровнем знаний - снять sf с басик версии.

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

Ранг: 159.1 (ветеран), 7thx
Активность: 0.130
Статус: Участник

Создано: 03 ноября 2011 15:34 · Поправил: tempread
· Личное сообщение · #24

Calypso
Устройся на работу,поработай три-четыре месяца, возьмешь все зарплаты полные,и отдай человеку,который тебе сможет помочь со старом за консультации. Потому что на эти знания у людей,разобравших старфорс(не васик) потрачено намного больше человекочасов, чем 3-4 месяца. И не твоих нубских человекочасов, а времени хороших специалистов в реверсе. Думаю,крепко задумаешься,не лучше ли купить 100+ копий Петьки, чем отдавать такие деньги за "интерес" к снятию стара(который в твоем случае так и останется "интересом на взлом одной игры").

Отчасти из-за этого и пишут тебе
Jupiter пишет:
Насколько ты смешон, пытаясь "умно" отвечать, но это пройдёт.


Это не издевательство,это просто прямо тебе говорят как есть,без намерения обидеть.




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

Создано: 03 ноября 2011 16:00
· Личное сообщение · #25

Calypso, просто ты слишком рьяно пытаешься понять то, что твой мозг сейчас не осилит. И ты пытаешься узнать всё сразу, совершенно хаотично.
Если тебе очень интересно изучение программ, то начни с того же самого upx, потом сам без туторов попробуй Armadillo(хотя бы распаковать, а не закейгенить).
Просто ты кидаешься сразу на самое сложное, это тоже самое что ты бы в первом классе изучал n-мерные пространства, базисы и матрицы. ТЫ БЫ ЧТО-НИТЬ ПОНЯЛ БЫ? И то что тут происходит - это попытка объяснить новичку что и как и где работает, причём начиная сразу с таких вот матриц,и пространств.
Людей, которые знают как снять старика >=4,7 тут немало, но не каждый захочет объяснять самые простые вещи.



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

Создано: 03 ноября 2011 16:02
· Личное сообщение · #26

Разбор старичка это настолько наболевшая проблема, у некоторых сторожил возникает какоето презрение к человеку(особенно если это новичёк) который пытается разобратся в непростом проте,кроме флуда на семь страниц ничего ненабролось ну кроме двух постов где рассказывалось как убрать CRC(в отличии поиска мифического 7 кала) ну и дампа вм..
Jupiter пишет:
Ты пока не понимаешь, насколько ты смешон, пытаясь "умно" отвечать, но это пройдёт.

Ну ка я счас поднему твои превые посты .... без обид...
Calypso
Терпение мать учения,учитесь учитеьс и ещё раз учитесь через годикк другой глядишь и над нами будешь смеятся...




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

Создано: 03 ноября 2011 16:04
· Личное сообщение · #27

жаль что ТС нельзя редактировать свой топик.
НЕ хотите помогать ему - так и НЕ заглядывайте в эту тему

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

Ранг: 10.9 (новичок), 5thx
Активность: 0.060
Статус: Участник

Создано: 03 ноября 2011 16:04 · Поправил: ThugboyZ
· Личное сообщение · #28

Calypso
чувак тебе повезло у тебя уже есть дамп, есть восстановленный IAT, тебе даже сказали как дампить ВМ. Тебе осталось только сдампить секцию sforce3 и всю выделеную память приклеить её к petka.exe и импорт через IMPRec зафигачить всё! У тебя он будет работать тебе хватит цпуиди тебе нафиг-то фиксить если у тебя будет работать? По моему это и была изначальная цель, разве нет?
Dart Sergius пишет:
Armadillo

помоему заинлайнить ему будет проще
ps: а нахрен ему восстановливать джампы в ВМ если он её дампить собрался? по моему этого не надо делать.




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

Создано: 03 ноября 2011 16:50 · Поправил: Nightshade
· Личное сообщение · #29

r99 пишет:
жаль что ТС нельзя редактировать свой топик.НЕ хотите помогать ему - так и НЕ заглядывайте в эту тему

Не. Нам интереснее реверсить весело. Ему уже и так все разжевали, но он продолжает тупить.
Есть у кого Стар новый без виртуализованного кода? Желательно небольшого размера. Может запилю вам тутор по отлому и дампу вм. Желательно без sffs. Он тоже не проблема, но там иструменты чужие, которые не будут всем доступны.



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

Создано: 03 ноября 2011 17:46 · Поправил: Calypso
· Личное сообщение · #30

Вот нафлудили то,прям форум школяров какой-то.
r99 пишет:
НЕ хотите помогать ему - так и НЕ заглядывайте в эту тему

Абсолютно верно,читаете мои мысли. Сделайте так ,чтобы эту тему видели только те кому интересен Старфорс и его исследование, остальные пусть идут дрочат в кулачок
Nightshade пишет:
Ему уже и так все разжевали, но он продолжает тупить.

Да нет,я думаю вопросов ещё много не раскрытых. Если тему закроют,то юные читателя Кряклаба никогда не узнают на них ответы
ThugboyZ пишет:
нахрен ему восстановливать джампы в ВМ если он её дампить собрался? по моему этого не надо делать.

Сейчас я как раз на этом завис. Ты наверно не понимаешь как работает ВМ - у нее адреса постоянно меняются, если мы оставим джамп старый - он будет указывать на несуществующий адрес.
К примеру,попробуй определи на каком адресе будет располагаться код, на который прыгает:
004036E0 -E9 FDE8C601 JMP 02071FE2
Прыгать он будет на адрес,который вернет ВМ после работы. А его ещё надо вычислить. Тут ещё гемороя выше крыши




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

Создано: 03 ноября 2011 17:49
· Личное сообщение · #31

Юные читатели не должны трогать стар с виртуализованными функами. Пускай на бейсике тренируются.

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