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

 eXeL@B —› Вопросы новичков —› Star Force Forever
<< . 1 . 2 . 3 . >>
Посл.ответ Сообщение

Ранг: 62.5 (постоянный), 2thx
Активность: 0.050
Статус: Участник

Создано: 19 мая 2007 23:00
· Личное сообщение · #1

Привет всем, кто интересуется защитой стар форс
Я знаю, что здесь сидят умные люди которые могут помочь
вопрос такой не на счет эмуляции а на счет отладки стар форс
В инете я наткнулся на статьи AsMaxа по взлому стар форс
но ничего не получается т.к. не могу запустить старфорсный экзешник в отладчике
Если кто-нибудь запускал экзешник с protect.dll по AsMaxу
ОТЗОВИТЕСЬ!!!

P.S кто хочет почитать статьи введите в яндексе
восстановление импорта стар форс



Ранг: 138.7 (ветеран), 135thx
Активность: 0.110
Статус: Участник

Создано: 09 июня 2007 14:33
· Личное сообщение · #2

Rohan пишет:
В какую сторону копать?


Смотри ПМ



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

Создано: 10 июня 2007 14:58
· Личное сообщение · #3

Ковырял и продолжаю ковырять игрушку со старфорсом. Что нашел. Проверка на дебаггер производится до первой остановки в Olly (страшное ощущение, что при загрузке Olly просто переходит по jmp в protect.dll даже не останавливаясь на точке входа), далее protect.dll осуществляет проверку диска на валидность и полюбак прыгает в исходный экзешник (по адресу соответствующему OEP) , после чего происходит повторный jmp прыжок в protect.dll, где и осуществляется, при соблюдении условий, или распаковка исходного экзешника в память, или выдача ошибки, далее при валидности диска стоит еще одна интересная защита, суть работы которой до сих пор не пойму - помоему происходит выдача ошибки, при этом просто запущенная игра ее как-то нормально закрывает и запускает игру, а под отладчиком выдается эта ошибка и происходит "уничтожение" процесса.
Итог всего моего ковыряния - имеется нормальный распакованый экзешник (неизвестно пока правда, что там с таблицей импорта), но для запуска необходимо переопределить точку входа, допустим, что состояние стэка и регистров мы сможем подделать, но нужна OEP как ни крути, потомучто без ее смены мы прыгаем в экзешник, а оттуда все также от следующей команды после OEP прыгаем в protect.dll за проверкой диска, а нам этого как раз не надо.
Внимание вопрос: по каким признакам можно найти точку входа? Трассировка проделывает невероятное количество операций среди которых оооооочень трудно найти что-то нужное. Кто знает, пожалуйста, или сами напишите, или дайте ссылку где есть данная инфа. И еще вопрос есть: различается ли как-то ошибка связанная с таблицей импорта, допустим, от ошибки связаной с неправильной OEP? Надо знать где неполучится, чтобы знать где ковырять чтобы получилось...



Ранг: 62.5 (постоянный), 2thx
Активность: 0.050
Статус: Участник

Создано: 11 июня 2007 17:37
· Личное сообщение · #4

Кто сказал что Star Force нельзя запустить в Olly
да я сказал и беру свои слова обратно
Смотрите как это делается и думайте дальше как это делать
baumanets2007.narod.ru/sf.rar



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

Создано: 11 июня 2007 18:37
· Личное сообщение · #5

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



Ранг: 138.7 (ветеран), 135thx
Активность: 0.110
Статус: Участник

Создано: 13 июня 2007 10:50
· Личное сообщение · #6

GodFather пишет:
Смотрите как это делается и думайте дальше как это делать

Получить синий экран это не означает запустить SF под OllyDbg



Ранг: 62.5 (постоянный), 2thx
Активность: 0.050
Статус: Участник

Создано: 13 июня 2007 15:56
· Личное сообщение · #7

хотите прикол если после распаковки длл в отладчике
запустить его по F8 вываливается неизвестная ошибка,
а если по F9 все проверки обходятся и после передачи управления
EXEшнику вылетает синий экран
эта дурь как-то определяет каким макаром её дебажат



Ранг: 62.5 (постоянный), 2thx
Активность: 0.050
Статус: Участник

Создано: 24 июля 2007 21:24
· Личное сообщение · #8

зацените как стар обходит олли



Ранг: 62.5 (постоянный), 2thx
Активность: 0.050
Статус: Участник

Создано: 24 июля 2007 21:25
· Личное сообщение · #9

прилагается архив с исходниками


fc25_24.07.2007_CRACKLAB.rU.tgz - loaddll.rar



Ранг: 59.9 (постоянный)
Активность: 0.040
Статус: Участник

Создано: 25 июля 2007 02:22 · Поправил: El_Diablo
· Личное сообщение · #10

запустить его по F8 вываливается неизвестная ошибка, [b]
это не запуск,а похаговое выполнение без захода в подпроцедуры
[b]зацените как стар обходит олли

он его черег ring0 обходит,так что Олли тут пасует =
эта дурь как-то определяет каким макаром её дебажат
и определяет тоже черег ring0



Ранг: 62.5 (постоянный), 2thx
Активность: 0.050
Статус: Участник

Создано: 25 июля 2007 20:36
· Личное сообщение · #11

El_Diablo мне влом писать пошаговое выполнение и поэтому я пишу покороче и придираться не надо


ты посмотри мои сорцы там стоит в dll обработчик
.if reason == DLL_PROCESS_ATTACH
в старе такой же в длл стоит он дальше проверяет на наличие отладчика
намного более крутыми методами чем я в своей проге
это главная фишка стара (с dll) он определяет олли в момент загрузки
обычно длл грузится LoadLibrary а тут в отличие от обычных
длл создает свой поток который не видит отладчик вопрос как его прибить
если его удастся прибить то мы облегчим себе участь в исследовании стара

а если не удастся то можно написать новый прот с этой фишкой

кстати проверки айса даже когда в системе стар не работает под айсом
он его детектит как минимум тремя методами
первый IsDebugPresent
второй GetModuleHandleA с параметрами
\.\NTICE
\.\WINICE
\.\SICE
кстати на wasm.ru про эти фишки написано но они не катят
т.е. сырцы которые там выложены про \.\NTICE \.\WINICE \.\SICE
не катят сам проверял
а у стара катят
плюс ко всему к этому ещё одна проверка сайса которую я не могу определить

почему разработчики стара боятся айса

да потому что только в нем можно стар побороть
нужно ещё разобраться как стар инты хучит
кстати в последней которая у меня есть версия стара 4,50 длл действительно
на нулувом кольце сидит и олли пасует
думайте как его побороть водиночку не справиться



Ранг: 59.9 (постоянный)
Активность: 0.040
Статус: Участник

Создано: 25 июля 2007 22:53
· Личное сообщение · #12

Ты бы хоть exe файл залил вместе с ДЛЛ.



Ранг: 62.5 (постоянный), 2thx
Активность: 0.050
Статус: Участник

Создано: 26 июля 2007 16:21
· Личное сообщение · #13

а ты с тем справился что я залил loaddll.rar?



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

Создано: 26 июля 2007 17:33 · Поправил: Amok
· Личное сообщение · #14

GodFather

Раз ICE детектится, попрбуй дебажить другим отладчиком нулевого кольца, например сиськой [url=http://sysersoft.com/download/download.php
]http://sysersoft.com/download/download.php
[/url]

Правда он ещё относительно молодой отладчик, поэтому частенько бсодит, запускать лучше под виртуальной машиной, например VMWare.



Ранг: 62.5 (постоянный), 2thx
Активность: 0.050
Статус: Участник

Создано: 28 июля 2007 18:15
· Личное сообщение · #15

оэтому частенько бсодит, запускать лучше под виртуальной машиной, например VMWare.
дай пож ссылку на VMWare



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

Создано: 28 июля 2007 19:03
· Личное сообщение · #16

GodFather
_http://forum.ru-board.com/topic.cgi?forum=35&topic=2822&start=1300
В самом начале увидишь ссылки на шестерку, почитай чуток форум, там постоянно кейген выкладывают.



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

Создано: 28 июля 2007 23:16 · Поправил: huckfuck
· Личное сообщение · #17

Мой метод дампа StarForce 3.xx на OEP:

1. Запускаем игру, жмём ALT+TAB,запускаем OllyDbg, аттачимся к игре и ищем OEP, выходим из отладчика
2. Делаем лоадер, который будет патчить 2 первых байта OEP на EB FE (т.е. зациклит игру) - имхо лучше использовать DUP
3. Запускаем лоадер, если игра не грузится, но висит в диспетчере задач, всё ОК, игра зациклена и можно переходить к следующему шагу. Если игра грузится, значит, лоадер надо переделать (изменить задержки, перенести место патча дальше от OEP, например, до первого CALL и патчить начало этого CALL'a)
4. Запускаем отладчик и аттачимся к зацикленному процессу, нажимаем F2, восстанавливаем пропатченные байты и дампим процесс
5. Запускаем ImpRec, восстанавливаем импорт (если попадаются эмулированные старфорсом функции, необходимо привести их в читаемый вид, убирая весь бессмысленный мусорный код и ища этот код в Olly в той dll-ке, в которой ImpRec не смог их распознать, правда, код для kernel.dll можно искать и в ntdll.dll)
6. Фиксим дамп ImpRec'ом

Таким образом, например, распаковывается демо-версия Brothers In Arms: Earned In Blood



Ранг: 62.5 (постоянный), 2thx
Активность: 0.050
Статус: Участник

Создано: 31 июля 2007 22:09
· Личное сообщение · #18

huckfuck сорцы лоадера не дашь?
я в курсе что нужно на сигнатуре зациклить типа на
55 8B EC (C++)
если что в личку пиши



Ранг: 62.3 (постоянный)
Активность: 0.020
Статус: Участник

Создано: 03 августа 2007 12:09
· Личное сообщение · #19

huckfuck
5. Запускаем ImpRec, восстанавливаем импорт (если попадаются эмулированные старфорсом функции, необходимо привести их в читаемый вид, убирая весь бессмысленный мусорный код и ища этот код в Olly в той dll-ке, в которой ImpRec не смог их распознать, правда, код для kernel.dll можно искать и в ntdll.dll)

Вот это не верно, все функции из одной билиотеки, это имперек иногда ошибается по автотрайсе.



Ранг: 62.5 (постоянный), 2thx
Активность: 0.050
Статус: Участник

Создано: 07 августа 2007 20:22
· Личное сообщение · #20

Найдя OEP в старе я принялся руками восстанавливать импорт
зайдя во внутрь функции я встретился с куском кода

0105048E 68 35C4FF2A PUSH 2AFFC435
01050493 -E9 685BFB67 JMP PROTEKT.#1
ну и как дальше импорт восстанавливать когда вызов идёт вовнутрь своеобразного интерпретатора?



Ранг: 62.3 (постоянный)
Активность: 0.020
Статус: Участник

Создано: 08 августа 2007 06:43 · Поправил: Faza
· Личное сообщение · #21

Это вызов ВМ только вот в импорте я его не встречал... что копаешь? надо бы самому посмотреть на это.

Скорее всего ты нашел не верный OEP и смотришь не тот импорт.



Ранг: 62.5 (постоянный), 2thx
Активность: 0.050
Статус: Участник

Создано: 08 августа 2007 09:33
· Личное сообщение · #22

кстати OEP я правильно нашел и импорт тоже (to Faza)
решил я восстанавливать импорт и наткнулся на прикольную технику засирания

0061A000 . F4EADC77 DD ADVAPI32.RegCreateKeyExA
0061A004 . 1BC4DE77 DD ADVAPI32.RegOpenKeyA
0061A008 . 8378DC77 DD ADVAPI32.RegQueryValueExA
0061A00C . F06BDC77 DD ADVAPI32.RegCloseKey
0061A010 . AE130701 DD 010713AE <- перешел сюда
0061A014 . 4ACFDD77 DD ADVAPI32.RegEnumValueA
0061A018 . C1C8DE77 DD ADVAPI32.RegEnumKeyExA
0061A01C . E7EBDC77 DD ADVAPI32.RegSetValueExA

010713AE ^E9 A1FFFFFF JMP 01071354 <- перешел сюда

01071354 8BFF MOV EDI,EDI
01071356 53 PUSH EBX
01071357 8BDD MOV EBX,EBP
01071359 871C24 XCHG DWORD PTR SS:[ESP],EBX
0107135C 8BEC MOV EBP,ESP
0107135E 50 PUSH EAX
0107135F 8B45 0C MOV EAX,DWORD PTR SS:[EBP+C]
01071362 870424 XCHG DWORD PTR SS:[ESP],EAX
01071365 51 PUSH ECX
01071366 8B4D 08 MOV ECX,DWORD PTR SS:[EBP+8]
01071369 870C24 XCHG DWORD PTR SS:[ESP],ECX
0107136C 8D6424 FC LEA ESP,DWORD PTR SS:[ESP-4]
01071370 C70424 02000100 MOV DWORD PTR SS:[ESP],10002 ; UNICODE "::=::"
01071377 E8 00000000 CALL 0107137C
0107137C 870424 XCHG DWORD PTR SS:[ESP],EAX
0107137F 8D40 0F LEA EAX,DWORD PTR DS:[EAX+F]
01071382 870424 XCHG DWORD PTR SS:[ESP],EAX
01071385 68 EAD4DE77 PUSH 77DED4EA <- а это переход интересно куда
0107138A C3 RETN

77DED4EA FF25 1460E377 JMP DWORD PTR DS:[77E36014] ; ADVAPI32.77DED4F5
странно нет API по такому адресу

пролистаю отладчик чуть выше

77DED4C9 > 8BFF MOV EDI,EDI
77DED4CB 55 PUSH EBP
77DED4CC 8BEC MOV EBP,ESP
77DED4CE FF75 0C PUSH DWORD PTR SS:[EBP+C]
77DED4D1 FF75 08 PUSH DWORD PTR SS:[EBP+8]
77DED4D4 68 02000100 PUSH 10002 ; UNICODE "::=::"
77DED4D9 E8 0C000000 CALL ADVAPI32.77DED4EA стар типа спер кусок системной длл
77DED4DE 0FB6C0 MOVZX EAX,AL
77DED4E1 5D POP EBP
77DED4E2 C2 0800 RETN 8

вписываю 77DED4C9 вместо 010713AE

0061A010 . C9D4DE77 DD ADVAPI32.GetUserNameA

но это легкий пример сложный далее

возьмем

0061A05C . 516EF177 DD GDI32.CreateCompatibleBitmap
0061A060 . C59FF177 DD GDI32.GetDIBits
0061A064 . 3B6AF177 DD GDI32.DeleteObject
0061A068 . 105EF177 DD GDI32.CreateCompatibleDC
0061A06C . C06DF177 DD GDI32.BitBlt
0061A070 . 1E03ED00 DD 00ED031E <- переходим сюда
0061A074 . A66CF177 DD GDI32.DeleteDC
0061A078 . A059F177 DD GDI32.SelectObject


00ED031E 68 B5B84A08 PUSH 84AB8B5
00ED0323 -E9 D85C1368 JMP PROTEKT.#1

сколько тут переходов ничего себе как импорт засрат

00ED029A 68 4CF1B060 PUSH 60B0F14C
00ED029F -E9 5C5D1368 JMP PROTEKT.#1
00ED02A4 90 NOP
00ED02A5 90 NOP
00ED02A6 68 35C4FF2A PUSH 2AFFC435
00ED02AB -E9 505D1368 JMP PROTEKT.#1
00ED02B0 90 NOP
00ED02B1 90 NOP
00ED02B2 68 66400306 PUSH 6034066
00ED02B7 -E9 445D1368 JMP PROTEKT.#1
00ED02BC 90 NOP
00ED02BD 90 NOP
00ED02BE 68 33B014F0 PUSH F014B033
00ED02C3 -E9 385D1368 JMP PROTEKT.#1
00ED02C8 90 NOP
00ED02C9 90 NOP
00ED02CA 68 FF4A62BE PUSH BE624AFF
00ED02CF -E9 2C5D1368 JMP PROTEKT.#1
00ED02D4 90 NOP
00ED02D5 90 NOP
00ED02D6 68 429AB4B1 PUSH B1B49A42
00ED02DB -E9 205D1368 JMP PROTEKT.#1
00ED02E0 90 NOP
00ED02E1 90 NOP
00ED02E2 68 64C77F04 PUSH 47FC764
00ED02E7 -E9 145D1368 JMP PROTEKT.#1
00ED02EC 90 NOP
00ED02ED 90 NOP
00ED02EE 68 3684E4DE PUSH DEE48436
00ED02F3 -E9 085D1368 JMP PROTEKT.#1
00ED02F8 90 NOP
00ED02F9 90 NOP
00ED02FA 68 4083FE46 PUSH 46FE8340
00ED02FF -E9 FC5C1368 JMP PROTEKT.#1

и т.д.

переходим на PROTEKT.#1 (69006000)

а это чё за интерпретатор
может кто-нибудь объяснить

69006000 > $ EB 14 JMP SHORT PROTEKT.69006016
69006002 $ EB 04 JMP SHORT PROTEKT.69006008
69006004 . E8 F0 29 00 ASCII "ир)",0
69006008 > 50 PUSH EAX
69006009 . 8B4424 04 MOV EAX,DWORD PTR SS:[ESP+4]
6900600D . 874424 08 XCHG DWORD PTR SS:[ESP+8],EAX
69006011 . 894424 04 MOV DWORD PTR SS:[ESP+4],EAX
69006015 . 58 POP EAX
69006016 > 60 PUSHAD
69006017 . 9C PUSHFD
69006018 . FC CLD
69006019 . E8 00000000 CALL PROTEKT.6900601E
6900601E $ 5E POP ESI
6900601F . 8B56 E6 MOV EDX,DWORD PTR DS:[ESI-1A]
69006022 . 8D5416 E2 LEA EDX,DWORD PTR DS:[ESI+EDX-1E]
69006026 . 8B02 MOV EAX,DWORD PTR DS:[EDX]
69006028 . B9 00100000 MOV ECX,1000
6900602D . 3BC1 CMP EAX,ECX
6900602F . 76 0B JBE SHORT PROTEKT.6900603C
69006031 > 2BE1 SUB ESP,ECX
69006033 . 2BC1 SUB EAX,ECX
69006035 . 850424 TEST DWORD PTR SS:[ESP],EAX
69006038 . 3BC1 CMP EAX,ECX
6900603A .^77 F5 JA SHORT PROTEKT.69006031
6900603C > 2BE0 SUB ESP,EAX
6900603E . 8B0424 MOV EAX,DWORD PTR SS:[ESP]
69006041 . 8BFC MOV EDI,ESP
69006043 . 57 PUSH EDI
69006044 . 56 PUSH ESI
69006045 . 8BF2 MOV ESI,EDX
69006047 . 8B0A MOV ECX,DWORD PTR DS:[EDX]
69006049 . C1E9 02 SHR ECX,2
6900604C . F3:A5 REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS>
6900604E . 5E POP ESI
6900604F . 5F POP EDI
69006050 . 893F MOV DWORD PTR DS:[EDI],EDI
69006052 . 8D87 00040000 LEA EAX,DWORD PTR DS:[EDI+400]
69006058 . 8947 04 MOV DWORD PTR DS:[EDI+4],EAX
6900605B . 8D5E E2 LEA EBX,DWORD PTR DS:[ESI-1E]
6900605E . 895F 08 MOV DWORD PTR DS:[EDI+8],EBX
69006061 . 015F 1C ADD DWORD PTR DS:[EDI+1C],EBX
69006064 . 035F 14 ADD EBX,DWORD PTR DS:[EDI+14]
69006067 . FFE3 JMP EBX

кто-нибудь встеречался с таким засиранием импорта?
и как его обойти?
в олле не могу трассировать инты старом перехвачены



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

Создано: 08 августа 2007 22:48 · Поправил: huckfuck
· Личное сообщение · #23

В экзешнике демки "Смерть шпионам" (стар 4.7) нашёл байты выхода из ВМ:

00AFAA92 8D47 70 LEA EAX,DWORD PTR DS:[EDI+70]
00AFAA95 C7C2 D8A51D00 MOV EDX,1DA5D8
00AFAA9B E8 00000000 CALL PROTECT.00AFAAA0
00AFAAA0 59 POP ECX
00AFAAA1 3391 8074ECFF XOR EDX,DWORD PTR DS:[ECX+FFEC7480]
00AFAAA7 01FA ADD EDX,EDI
00AFAAA9 8B12 MOV EDX,DWORD PTR DS:[EDX]
00AFAAAB 8910 MOV DWORD PTR DS:[EAX],EDX
00AFAAAD FF67 70 JMP DWORD PTR DS:[EDI+70] // 009EA67C

009EA67C 58 POP EAX
009EA67D 03E0 ADD ESP,EAX
009EA67F 9D POPFD
009EA680 61 POPAD
009EA681 C3 RETN // здесь выход из колла, прыгающего в ВМ, или на ОЕП

Может, кому-нибудь пригодится

Искать их надо в protect.dll



Ранг: 62.3 (постоянный)
Активность: 0.020
Статус: Участник

Создано: 09 августа 2007 05:22
· Личное сообщение · #24

huckfuck
Он там пробежит раз сто по этому месту, вот и сообрази когда он на ВМ прыгнет а когда на ОЕP. Посмотри защ функции, там вообще весело.

GodFather

protect'ский импорт тебе не нужен ты веть дампить будешь, те длл тебе вообще не нужна будет, а с остальным я писал как боротся.



Ранг: 62.5 (постоянный), 2thx
Активность: 0.050
Статус: Участник

Создано: 09 августа 2007 10:52
· Личное сообщение · #25

Faza то есть кароче можно вообще вырезать импорт типа
00ED031E 68 B5B84A08 PUSH 84AB8B5
00ED0323 -E9 D85C1368 JMP PROTEKT.#1
из

0061A05C . 516EF177 DD GDI32.CreateCompatibleBitmap
0061A060 . C59FF177 DD GDI32.GetDIBits
0061A064 . 3B6AF177 DD GDI32.DeleteObject
0061A068 . 105EF177 DD GDI32.CreateCompatibleDC
0061A06C . C06DF177 DD GDI32.BitBlt
0061A070 . 1E03ED00 DD 00ED031E <- это можно вырезать?
0061A074 . A66CF177 DD GDI32.DeleteDC
0061A078 . A059F177 DD GDI32.SelectObject

я правильно понял

но тогда придется и из EXE эту хрень вырезать

у меня OEP

005C5869 > $ 6A 60 PUSH 60
005C586B . 68 A8CD6200 PUSH dumped_.0062CDA8
005C5870 . E8 671B0000 CALL dumped_.005C73DC
005C5875 . BF 94000000 MOV EDI,94
005C587A . 8BC7 MOV EAX,EDI
005C587C . E8 BFDAFFFF CALL dumped_.005C3340
005C5881 . 8965 E8 MOV DWORD PTR SS:[EBP-18],ESP
005C5884 . 8BF4 MOV ESI,ESP
005C5886 . 893E MOV DWORD PTR DS:[ESI],EDI
005C5888 . 56 PUSH ESI ; /pVersionInformation
005C5889 . FF15 10A16100 CALL DWORD PTR DS:[61A110] ; \GetVersionExA
005C588F . 8B4E 10 MOV ECX,DWORD PTR DS:[ESI+10]
005C5892 . 890D 04E39500 MOV DWORD PTR DS:[95E304],ECX
005C5898 . 8B46 04 MOV EAX,DWORD PTR DS:[ESI+4]
005C589B . A3 10E39500 MOV DWORD PTR DS:[95E310],EAX
005C58A0 . 8B56 08 MOV EDX,DWORD PTR DS:[ESI+8]
005C58A3 . 8915 14E39500 MOV DWORD PTR DS:[95E314],EDX
005C58A9 . 8B76 0C MOV ESI,DWORD PTR DS:[ESI+C]
005C58AC . 81E6 FF7F0000 AND ESI,7FFF
005C58B2 . 8935 08E39500 MOV DWORD PTR DS:[95E308],ESI
005C58B8 . 83F9 02 CMP ECX,2
005C58BB . 74 0C JE SHORT dumped_.005C58C9
005C58BD . 81CE 00800000 OR ESI,8000
005C58C3 . 8935 08E39500 MOV DWORD PTR DS:[95E308],ESI
005C58C9 > C1E0 08 SHL EAX,8
005C58CC . 03C2 ADD EAX,EDX
005C58CE . A3 0CE39500 MOV DWORD PTR DS:[95E30C],EAX
005C58D3 . 33F6 XOR ESI,ESI
005C58D5 . 56 PUSH ESI ; /pModule => NULL
005C58D6 . 8B3D 48A16100 MOV EDI,DWORD PTR DS:[61A148] ; |kernel32.GetModuleHandleA
005C58DC . FFD7 CALL EDI ; \GetModuleHandleA

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

НЕ ВЕРИШЬ Faza сам посмотри
godfather.jino-net.ru/TheIOfTheDragon.rar



Ранг: 62.3 (постоянный)
Активность: 0.020
Статус: Участник

Создано: 10 августа 2007 07:45
· Личное сообщение · #26

То что выложил просит диска, а пока проверка диска не пройдет стар не распакует прогу, те OEP ты не увидишь

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



Ранг: 62.5 (постоянный), 2thx
Активность: 0.050
Статус: Участник

Создано: 10 августа 2007 22:09
· Личное сообщение · #27

с этой штукой запускается?
если что приводы выруби


8328_10.08.2007_CRACKLAB.rU.tgz - Eye_of_a_dragon_NoCD_Images_Akella.rar



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

Создано: 11 августа 2007 10:15 · Поправил: huckfuck
· Личное сообщение · #28

GodFather пишет:
Найдя OEP в старе я принялся руками восстанавливать импорт
зайдя во внутрь функции я встретился с куском кода

0105048E 68 35C4FF2A PUSH 2AFFC435
01050493 -E9 685BFB67 JMP PROTEKT.#1
ну и как дальше импорт восстанавливать когда вызов идёт вовнутрь своеобразного интерпретатора?

Просто делаешь New origin here на место вызова функции импорта, дальше открываешь Memory map, находишь .text нужной dll-ки, нажимаешь F2, нажимаешь F9, брякнешься в dll-ке, смотришь, что за функция, восстанавливаешь в ImpRec, повторяешь, пока не восстановишь все функции импорта



Ранг: 62.5 (постоянный), 2thx
Активность: 0.050
Статус: Участник

Создано: 11 августа 2007 21:34
· Личное сообщение · #29

huckfuck ГЫ ГЫ а бряки не поставишь стар инты хучит
нажимаешь F2, нажимаешь F9 и получаешь клёвую синьку на экране



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

Создано: 11 августа 2007 22:41
· Личное сообщение · #30

GodFather пишет:
huckfuck ГЫ ГЫ а бряки не поставишь стар инты хучит
нажимаешь F2, нажимаешь F9 и получаешь клёвую синьку на экране

хз, в демоверсии "Смерть шпионам", наверно, не используются драйверы, поэтому там полегче



Ранг: 62.5 (постоянный), 2thx
Активность: 0.050
Статус: Участник

Создано: 13 августа 2007 22:19
· Личное сообщение · #31

решил я этот вызов вм перекопировать с точности с указанными адресами
а также две команды push-jmp#
чтобы можно было дебажить в другую прогу
в итоге вышло jmp ebx идет в какую-то левую память
в адрес D2350d0c
наверно в результате работы проги в стек ложатся какие-то данные
а ф-ция их читает и формируется адрес перехода
т.е банальное копирование кода ни к чему не приводит
даже если адреса команд в памяти сохранить прежними


<< . 1 . 2 . 3 . >>
 eXeL@B —› Вопросы новичков —› Star Force Forever
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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