Скоро надо будет переименовывать тему из взлом десятой версии в распаковку восьмой.
Как вы там говорите? Старфорс? Ну ладно.. Я по поводу этого сказать ниче не могу - у меня не детектирует. Может и старфорс.
Код:
005A40E7 o> 68 CCDC19A4 PUSH A419DCCC
005A40EC 68 3323265C PUSH 5C262333
005A40F1 60 PUSHAD
005A40F2 8D4424 24 LEA EAX,DWORD PTR SS:[ESP+24]
005A40F6 8B48 FC MOV ECX,DWORD PTR DS:[EAX-4]
005A40F9 F7D9 NEG ECX
005A40FB 2908 SUB DWORD PTR DS:[EAX],ECX
005A40FD FF00 INC DWORD PTR DS:[EAX]
005A40FF 8B00 MOV EAX,DWORD PTR DS:[EAX]
005A4101 40 INC EAX
005A4102 05 E7401A00 ADD EAX,1A40E7
005A4107 97 XCHG EAX,EDI
005A4108 B0 EB MOV AL,0EB
005A410A AA STOS BYTE PTR ES:[EDI]
энтри поинт. старфорс никогда не видела. вы уж извините.
Только не особо агрессивный он для старфорса (точнее вообще не агрессивный). Опять же. Мануалов я не читала.
Мда. Импорт я восстановила с помощью следующего самопального скрипта
Код:
var iat_begin
var iat_end
var element
var iat_end_
var retaddr
ask "Input iat begin"
mov iat_begin,$RESULT
cmp iat_begin,0
je fin
ask "Input iat end"
mov iat_end,$RESULT
mov iat_end_,$RESULT
cmp iat_end,0
je fin
mov element,iat_begin
mov eip,[element]
start:
findop eip,#C3#
mov retaddr,$RESULT
bphws retaddr,"x"
run
mov [element],[esp]
add esp,4
add element,4
cmp element,iat_end_
je fin
cmp [element],0
je add_
cmp [element],50000000
ja add_
mov eip,[element]
bphwc retaddr
jmp start
fin:
msg "Done"
ret
add_:
add element,4
cmp element,iat_end_
je fin
mov eip,[element]
bphwc retaddr
jmp start
Импорт весь изгажен (ну почти весь..... и скрипт это учитывает), все адреса указывают на выделенную память, но есть одна закономерность. Имеют вид
Код:
00BA0000 50 PUSH EAX
00BA0001 50 PUSH EAX
00BA0002 B8 4A195D09 MOV EAX,95D194A
00BA0007 870424 XCHG DWORD PTR SS:[ESP],EAX
00BA000A C10424 06 ROL DWORD PTR SS:[ESP],6
00BA000E B8 BF299A20 MOV EAX,209A29BF
00BA0013 310424 XOR DWORD PTR SS:[ESP],EAX
00BA0016 58 POP EAX
00BA0017 870424 XCHG DWORD PTR SS:[ESP],EAX
00BA001A C3 RETN
То есть очередной переходник. Доходим до рет, а этот самый рет используется для передачи управления функции. Но вы, конечно, это все уже знаете и, читая мою писанину усмехаетесь. Однако ж продолжу. Из этого следует что. Мне надо найти опкод команды рет это делает findop eip,#C3# . Потом поставить на него хардвар на исполнение
mov retaddr,$RESULT
bphws retaddr,"x"
Потом дойти до рет это у нас run... Остановицц0, забрать с верхушки стека правильный адрес и положить его в таблицу. Ну то, что я изначально запрашиваю адрес начала таблицы и адрес конца - про это вообще не говорю. Это ясно. Ну и хардвар убираем, увеличиваем адреса и идем дальше... Причем... Если встречаем 0 в таблице-перескакиваем, или правильный адрес... это у нас
cmp [element],0
je add_
cmp [element],50000000
ja add_
mov eip,[element]
Почему 50000000? Я намекаю на адрес системной библиотеки. Ну ладно. Вроде там скрипт элементарный.
OEP нашла
Код:
00469103 6A 60 PUSH 60
00469105 68 30795700 PUSH dumped__.00577930
0046910A E8 45720000 CALL dumped__.00470354
0046910F 8365 FC 00 AND DWORD PTR SS:[EBP-4],0
00469113 8D45 90 LEA EAX,DWORD PTR SS:[EBP-70]
00469116 50 PUSH EAX
00469117 FF15 38A45A00 CALL DWORD PTR DS:[<&kernel32.GetStartupInfoW>] ; kernel32.GetStartupInfoW
0046911D C745 FC FEFFFFFF MOV DWORD PTR SS:[EBP-4],-2
00469124 BF 94000000 MOV EDI,94
00469129 57 PUSH EDI
0046912A 6A 00 PUSH 0
0046912C 8B1D 3CA45A00 MOV EBX,DWORD PTR DS:[<&kernel32.GetProcessHeap>] ; kernel32.GetProcessHeap
00469132 FFD3 CALL EBX
00469134 50 PUSH EAX
00469135 FF15 40A45A00 CALL DWORD PTR DS:[<&kernel32.HeapAlloc>] ; ntdll.RtlAllocateHeap
0046913B 8BF0 MOV ESI,EAX
0046913D 85F6 TEST ESI,ESI
Естессно здесь уже все восстановлено. Единственное что там надо еще повозится с адресами, но это мне лень. Добавить секцию, сделать прививку (муторно очень)... Хотя мб я доделаю... Если доделаю, то выложу. Там несложно.
2EB_FE выкладывать ниче не надо ибо диз есть. Уж гугл-то юзать я умею. Только там не 9 метров, а 11. У меня не анлим, поэтому давайте по-человечески я постоянно десятки мегабайт трафика не могу выкачивать.
По поводу 10 версии. Я не больная (больная канешн, но не настолько). Там правда нет старфорса
Исполняемый файл. Смотрим и удивляемся.
http://slil.ru/24771918
Вопрос исчерпан.