Сейчас на форуме: Slinger, Rio (+5 невидимых)

 eXeL@B —› Основной форум —› Поиск MagicJump в Armadillo v2.85 *
Посл.ответ Сообщение


Ранг: 529.0 (!), 110thx
Активность: 0.290.04
Статус: Участник
5KRT

Создано: 17 августа 2006 23:01
· Личное сообщение · #1

Ломаю SWFText 1.2, не могу найти MagicJump, пробовал скриптом, говорит всё ОК
Только место где я останавливаюсь не совсем похоже на MagicJump
Мож кто знает как зрительно выглядит заветный прыжок

И ещё про распаковку:

ArmStripper v0.1 beta 2
(c) by BiT-H@ck, 2006. Engine by Syd.

14:10:10 - starting c:\games\flyordie gemjam gold\gemjam.exe..
14:10:10 - Detecting Armadillo...
14:10:10 - Armdillo detected!
14:10:10 - Detecting protect options...
14:10:10 -
14:10:10 - Options used:
14:10:10 - Debug-Blocker
14:10:10 -
14:10:10 - <Backup Key Options>
14:10:10 - Variable Backup Keys
14:10:10 -
14:10:10 - <Compression Options>
14:10:10 - Best/Slowest Compression
CreateProcessW - 7c802332
EP in child - 004b7000
Previously break operation...
Service name patched! <----------- Нафига етот шаг, он нужен только для распаковщика?
Magic jump found
Magic jump patched
Trace to OEP...
OEP - 0044b890

Вручную распаковать не получается, процесс вылетает
Игра называется FlyOrDie GemJam Gold v1.21, версия Armadillo - 3.7x

-----
Research For Food




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

Создано: 18 августа 2006 00:44
· Личное сообщение · #2

daFix пишет:
Вручную распаковать не получается, процесс вылетает
Игра называется FlyOrDie GemJam Gold v1.21, версия Armadillo - 3.7x


Тутор по распаковке армы на днях самому помогли найти так что вот сцылка на видео тутор по анпаку армы этой версии + дебуг блокер ()

Брать Здесь http://tlgtut.mylivepage.ru/file/?fileid=149 {4.257кб}



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

Создано: 18 августа 2006 00:46 · Поправил: SeQuick
· Личное сообщение · #3

DAFIX пишет:
Service name patched! <----------- Нафига етот шаг, он нужен только для распаковщика?


Арма портит хеадер проги и из-за этого она вылетает, что бы не вылетала нуно оригинальный посмотреть и по-бинарному вставить =) ну вообщем в туторе фсё ето найдёшь дерзай!




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

Создано: 18 августа 2006 02:36
· Личное сообщение · #4

SeQuick пишет:
Брать Здесь


Честно говоря мне уже всё меньше и меньше нравиться этот свой тутор ну да фиг с ним

Ну а насчёт джампа вспоминаються два варианта - вот это юзаеться вроде как в копимеме и взят из реальной проги

CALL DWORD PTR DS:[EE00D4] ; kernel32.GetModuleHandleA
MOV ECX,DWORD PTR DS:[EEB774]
MOV DWORD PTR DS:[ESI+ECX],EAX
MOV EAX,DWORD PTR DS:[EEB774]
CMP DWORD PTR DS:[ESI+EAX],EBX
JNZ SHORT 00EB9C8A
LEA EAX,DWORD PTR SS:[EBP-14C]
PUSH EAX
CALL DWORD PTR DS:[EE00DC] ; kernel32.LoadLibraryA
MOV ECX,DWORD PTR DS:[EEB774]
MOV DWORD PTR DS:[ESI+ECX],EAX
MOV EAX,DWORD PTR DS:[EEB774]
CMP DWORD PTR DS:[ESI+EAX],EBX
JE 00EB9DCA <- Патчим на JMP первый JE после GetModuleHandleA
XOR ECX,ECX
MOV EAX,DWORD PTR DS:[EDI]
CMP DWORD PTR DS:[EAX],EBX
JE SHORT 00EB9CA6
INC ECX
ADD EAX,0C
JMP SHORT 00EB9C9C
MOV EBX,ECX
SHL EBX,2
PUSH EBX
CALL 00EDEFB8 ; JMP to msvcrt.??2@YAPAXI@Z
MOV ECX,DWORD PTR DS:[EEB76C]
MOV DWORD PTR DS:[ESI+ECX],EAX
PUSH EBX
CALL 00EDEFB8 ; JMP to msvcrt.??2@YAPAXI@Z
POP ECX
POP ECX
MOV ECX,DWORD PTR DS:[EEB770]
MOV DWORD PTR DS:[ESI+ECX],EAX
MOV EBX,DWORD PTR DS:[EDI]
MOV EAX,DWORD PTR DS:[EBX]
TEST EAX,EAX
JE 00EB9DAD
XOR EDI,EDI
PUSH 100
LEA ECX,DWORD PTR SS:[EBP-258]
PUSH ECX
PUSH EAX
CALL 00EB813B
ADD ESP,0C
LEA EAX,DWORD PTR SS:[EBP-258]
PUSH EAX
MOV EAX,DWORD PTR DS:[EEB774]
PUSH DWORD PTR DS:[ESI+EAX]
CALL DWORD PTR DS:[EE00D8] ; kernel32.GetProcAddress

ну и второй из минимума или стандарта - как в этом туторе ищем

POP ECX
POP ECX
TEST EAX, EAX
JNZ XXXXXX

хотя может и ещё варианты есть, особенно в такой древней версии...

-----
Люблю повеселиться, особенно пожрать





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

Создано: 18 августа 2006 03:06
· Личное сообщение · #5

Как ни странно нашёл я у себя на харде SWFText v1.2.0.1 - подробно пока не глядел, но тут вроде на самом деле ни один из двух вариантов не подходит...

самое интресное что джамп может быть и не так уж и нужен - у меня в импреке после Trace Level 1 все функции восстановились...

-----
Люблю повеселиться, особенно пожрать





Ранг: 299.6 (наставник)
Активность: 0.30
Статус: Участник
Armadillo Killer

Создано: 18 августа 2006 03:53
· Личное сообщение · #6

NEOPEX Кстати я эту прогу давно ломал еще когда в TLG был ...

daFix
глянь тут
www.hottabich.hotbox.ru/releases/s.htm




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

Создано: 18 августа 2006 03:58
· Личное сообщение · #7

Z0oMiK
Новости не читаешь ;) прикрыли хранилище давно =) ... и новое тоже =(

-----
Don_t hate the cracker - hate the code.





Ранг: 299.6 (наставник)
Активность: 0.30
Статус: Участник
Armadillo Killer

Создано: 18 августа 2006 07:28
· Личное сообщение · #8

mysterio Все я читаю и о том что Даунлод накрыли я тоже знаю ...




Ранг: 529.0 (!), 110thx
Активность: 0.290.04
Статус: Участник
5KRT

Создано: 18 августа 2006 09:17 · Поправил: daFix
· Личное сообщение · #9

SeQuick пишет:
Арма портит хеадер проги и из-за этого она вылетает, что бы не вылетала нуно оригинальный посмотреть и по-бинарному вставить =) ну вообщем в туторе фсё ето найдёшь дерзай!


Вылетает всмысле выдаёт сообщение:

Failed to execute target process
(Location XEB, error code 299)

Вчера читал тутор, там была такая фича:
CreateToolhelp32Snapshot, мож арма так и палит отладчик?


SeQuick пишет:
Тутор по распаковке армы на днях самому помогли найти так что вот сцылка на видео тутор по анпаку армы этой версии + дебуг блокер ()


У меня версия армы v2.85 *
Есть у меня этот тутор, там MagicJump выглядит так:

POP ECX
POP ECX
TEST EAX, EAX
JNZ XXXXXX

а здесь х.з.

NEOPEX пишет:
самое интресное что джамп может быть и не так уж и нужен - у меня в импреке после Trace Level 1 все функции восстановились...


Чё-то у меня Trace Level 1 не востановил ничего

-----
Research For Food





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

Создано: 18 августа 2006 13:44 · Поправил: NEOPEX
· Личное сообщение · #10

Ну вообщем одолел я эту арму, но мэджик джамп там действительно нестандартный - уж больно дремучая версия...

Примерный порядок действий такой :

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

Рестартуем, первый раз прерываемся при заполнении секции мусором, а второй раз при заполнении тем чем нужно, т.е. мы прервемся вот в таком вот цикле заполнения импорта :

PUSH 1
POP EAX
TEST EAX,EAX
JE 00CA2299
AND DWORD PTR SS:[EBP-394],0
MOV EAX,DWORD PTR SS:[EBP-164]
MOVSX EAX,BYTE PTR DS:[EAX]
TEST EAX,EAX
JNZ SHORT 00CA2142
MOV EAX,DWORD PTR SS:[EBP-164]
INC EAX
MOV DWORD PTR SS:[EBP-164],EAX
JMP 00CA2299
MOV EAX,DWORD PTR SS:[EBP-164]
MOVZX EAX,BYTE PTR DS:[EAX]
CMP EAX,0FF
JNZ 00CA21FD
MOV EAX,DWORD PTR SS:[EBP-164]
INC EAX
MOV DWORD PTR SS:[EBP-164],EAX
MOV EAX,DWORD PTR SS:[EBP-164]
MOV AX,WORD PTR DS:[EAX]
MOV WORD PTR SS:[EBP-398],AX
MOV EAX,DWORD PTR SS:[EBP-164]
INC EAX
INC EAX
MOV DWORD PTR SS:[EBP-164],EAX
MOVZX EAX,WORD PTR SS:[EBP-398]
PUSH EAX
PUSH DWORD PTR SS:[EBP-378]
CALL 00C94B66
MOV DWORD PTR SS:[EBP-394],EAX
CMP DWORD PTR SS:[EBP-394],0
JNZ SHORT 00CA21FB
CALL DWORD PTR DS:[CAB0C4] ; ntdll.RtlGetLastWin32Error
CMP EAX,32
JNZ SHORT 00CA21B8
MOV DWORD PTR SS:[EBP-394],0C94B5B
CMP DWORD PTR SS:[EBP-394],0
JNZ SHORT 00CA21FB
MOV EAX,DWORD PTR SS:[EBP+8]
MOV EAX,DWORD PTR DS:[EAX]
MOV DWORD PTR DS:[EAX],3
CALL DWORD PTR DS:[CAB0C4] ; ntdll.RtlGetLastWin32Error
PUSH EAX
MOVZX EAX,WORD PTR SS:[EBP-398]
PUSH EAX
PUSH DWORD PTR SS:[EBP-390]
PUSH 0CAE5A4 ; ASCII "File "%s", ordinal %d (error %d)"
MOV EAX,DWORD PTR SS:[EBP+8]
PUSH DWORD PTR DS:[EAX+4]
CALL 00CA4EBC
ADD ESP,14
XOR EAX,EAX
JMP 00CA2752
JMP SHORT 00CA2277
MOV EAX,DWORD PTR SS:[EBP-164]
MOV DWORD PTR SS:[EBP-39C],EAX
PUSH 0
PUSH DWORD PTR SS:[EBP-164]
CALL 00CA4E00
POP ECX
POP ECX
INC EAX
MOV DWORD PTR SS:[EBP-164],EAX
PUSH DWORD PTR SS:[EBP-39C]
PUSH DWORD PTR SS:[EBP-378]
CALL 00C94B66 <- Идём в этот калл, т.к. джамп спрятан в нём...
MOV DWORD PTR SS:[EBP-394],EAX
CMP DWORD PTR SS:[EBP-394],0
JNZ SHORT 00CA2277
MOV EAX,DWORD PTR SS:[EBP+8]
MOV EAX,DWORD PTR DS:[EAX]
MOV DWORD PTR DS:[EAX],3
CALL DWORD PTR DS:[CAB0C4] ; ntdll.RtlGetLastWin32Error
PUSH EAX
PUSH DWORD PTR SS:[EBP-39C]
PUSH DWORD PTR SS:[EBP-390]
PUSH 0CAE580 ; ASCII "File "%s", function "%s" (error %d)"
MOV EAX,DWORD PTR SS:[EBP+8]
PUSH DWORD PTR DS:[EAX+4]
CALL 00CA4EBC
ADD ESP,14
XOR EAX,EAX
JMP 00CA2752
MOV EAX,DWORD PTR SS:[EBP-38C]
MOV ECX,DWORD PTR SS:[EBP-394]
MOV DWORD PTR DS:[EAX],ECX
MOV EAX,DWORD PTR SS:[EBP-38C] <- Здесь мы прервёмся
ADD EAX,4
MOV DWORD PTR SS:[EBP-38C],EAX
JMP 00CA2111


Сам калл (C94B66) выглядит так :

PUSH EBP
MOV EBP,ESP
PUSH EBX
PUSH ESI
PUSH EDI
XOR EDI,EDI
XOR EBX,EBX
TEST WORD PTR SS:[EBP+E],0FFFF
JNZ SHORT 00C94B7B
MOV EBX,DWORD PTR SS:[EBP+C]
PUSH EDI
CALL DWORD PTR DS:[CAB0A4] ; kernel32.GetModuleHandleA
MOV ECX,DWORD PTR SS:[EBP+8]
CMP ECX,EAX
JNZ SHORT 00C94B90
MOV EAX,0CAD318
JMP SHORT 00C94BC0
CMP DWORD PTR DS:[CAD7D8],EDI
MOV EAX,0CAD7D8
JE SHORT 00C94BA9
CMP ECX,DWORD PTR DS:[EAX+8]
JE SHORT 00C94BBD
ADD EAX,0C
CMP DWORD PTR DS:[EAX],EDI
JNZ SHORT 00C94B9D
PUSH DWORD PTR SS:[EBP+C]
PUSH DWORD PTR SS:[EBP+8]
0CALL 00C94BF5
POP ECX
POP ECX
POP EDI
POP ESI
POP EBX
POP EBP
RETN 8
MOV EAX,DWORD PTR DS:[EAX+4]
CMP EAX,EDI
JE SHORT 00C94BA9
CMP DWORD PTR DS:[EAX+8],EDI
MOV ESI,EAX
JE SHORT 00C94BA9
CMP BX,DI
JE SHORT 00C94BD6
CMP BX,WORD PTR DS:[ESI+4]
JMP SHORT 00C94BE4
PUSH DWORD PTR DS:[ESI]
PUSH DWORD PTR SS:[EBP+C]
CALL 00CAA8E0
POP ECX
POP ECX
TEST EAX,EAX
JE SHORT 00C94BF0 <- Это и есть Magic Jump, ставим на него железный бряк, перезапускаемся и нопим его
ADD ESI,10
CMP DWORD PTR DS:[ESI+8],EDI
JNZ SHORT 00C94BCB
JMP SHORT 00C94BA9
MOV EAX,DWORD PTR DS:[ESI+8]
JMP SHORT 00C94BB6
PUSH EBP
MOV EBP,ESP
PUSH -1
PUSH 0CAB390
PUSH 0CA539C
MOV EAX,DWORD PTR FS:[0]
PUSH EAX
MOV DWORD PTR FS:[0],ESP
SUB ESP,40
PUSH EBX
PUSH ESI
PUSH EDI
MOV DWORD PTR SS:[EBP-18],ESP
AND BYTE PTR SS:[EBP-20],0
AND DWORD PTR SS:[EBP-1C],0

После этого прога запускаеться с нормальным импортом, ну а OEP найти там даром - CreateThread, CALL EDI и готово...

Ну а так как прога юзает армовскую защиту, то там уже и ничего ломать не надо будет

daFix пишет:
Чё-то у меня Trace Level 1 не востановил ничего


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

Z0oMiK пишет:
Кстати я эту прогу давно ломал еще когда в TLG был ...


По-моему она у меня на харде потому и валяется, что это ты что-то спрашивал про отломку армы, хотя может и не поэтому

-----
Люблю повеселиться, особенно пожрать





Ранг: 529.0 (!), 110thx
Активность: 0.290.04
Статус: Участник
5KRT

Создано: 23 августа 2006 22:24
· Личное сообщение · #11

Спасибо Neopex, всё получилось, и всёж мож знаеш чё за прикол

Failed to execute target process
(Location XEB, error code 299)

Вроде только в третьих армах есть

P.S. Временно комп не работал, не мог вылезти на форум

-----
Research For Food





Ранг: 299.6 (наставник)
Активность: 0.30
Статус: Участник
Armadillo Killer

Создано: 24 августа 2006 00:13
· Личное сообщение · #12

NEOPEX Там с IAT есть замарочка ;)




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

Создано: 24 августа 2006 00:33
· Личное сообщение · #13

daFix пишет:
и всёж мож знаеш чё за прикол

Failed to execute target process
(Location XEB, error code 299)

Вроде только в третьих армах есть


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

Z0oMiK пишет:
Там с IAT есть замарочка ;)


Блин, и тебя не понял - ты хочешь сказать что я что-то упустил или что?

-----
Люблю повеселиться, особенно пожрать





Ранг: 299.6 (наставник)
Активность: 0.30
Статус: Участник
Armadillo Killer

Создано: 24 августа 2006 01:08
· Личное сообщение · #14

NEOPEX пишет:
JE SHORT 00C94BF0 <- Это и есть Magic Jump, ставим на него железный бряк, перезапускаемся и нопим его

Зачем же нопить то , когда можно просто поменять JE на JMP...

NEOPEX пишет:
Блин, и тебя не понял - ты хочешь сказать что я что-то упустил или что?

Там что то вроде IAT Elimination ... я с этой прогой сидел 3 часа гемероился пока полностью IAT не востановил




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

Создано: 24 августа 2006 08:44
· Личное сообщение · #15

Z0oMiK пишет:
Зачем же нопить то , когда можно просто поменять JE на JMP...


Вообще-то это противоположные вещи - после нопов арма никогда не будет прыгать, а у тебя она всегда будет прыгать...

Сам можешь посмотреть - когда арма пишет нормальный кусок импорта, то она выходит из цикла потому что джамп по адресу 00C94BEC не срабатывает, а если она пишет адрес переходника, то она выходит потому что джамп по адресу 00C94BE4 срабатывает - вот я решил его занопить...

00C94BCB CMP BX,DI
00C94BCE JE SHORT 00C94BD6
00C94BD0 CMP BX,WORD PTR DS:[ESI+4]
00C94BD4 JMP SHORT 00C94BE4
00C94BD6 PUSH DWORD PTR DS:[ESI]
00C94BD8 PUSH DWORD PTR SS:[EBP+C]
00C94BDB CALL 00CAA8E0
00C94BE0 POP ECX
00C94BE1 POP ECX
00C94BE2 TEST EAX,EAX
00C94BE4 JE SHORT 00C94BF0
00C94BE6 ADD ESI,10
00C94BE9 CMP DWORD PTR DS:[ESI+8],EDI
00C94BEC JNZ SHORT 00C94BCB
00C94BEE JMP SHORT 00C94BA9
00C94BF0 MOV EAX,DWORD PTR DS:[ESI+8]
00C94BF3 JMP SHORT 00C94BB6

Z0oMiK пишет:
Там что то вроде IAT Elimination


Вроде бы при IAT Elimination импорт должен быть перемешан? или не всегда? по крайней мере там всё идёт строго по порядку...

-----
Люблю повеселиться, особенно пожрать





Ранг: 299.6 (наставник)
Активность: 0.30
Статус: Участник
Armadillo Killer

Создано: 24 августа 2006 18:07
· Личное сообщение · #16

NEOPEX пишет:
Вообще-то это противоположные вещи - после нопов арма никогда не будет прыгать, а у тебя она всегда будет прыгать...

А это смотря как ты меняешь JE на JMP ;) ... Если например после JMP поставить NOP прыгать он не будет ;)


 eXeL@B —› Основной форум —› Поиск MagicJump в Armadillo v2.85 *
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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