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

 eXeL@B —› Основной форум —› molebox распакованная прога просит dll...
Посл.ответ Сообщение

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

Создано: 21 мая 2006 06:43
· Личное сообщение · #1

с молбоксом уже дело имел. но тут что то в тупик зашло.

клевая логическая игрушка от miniclip
www.miniclip.com/zenpuzzlegarden/zenpuzzlegarden.htm

ну там как обычно, все в одном файле. сам экзешник распаковал без проблем.
В imprec получилось, что всего грузятся 5 dll. Из них две типа mbx.

Сдампил две mbx@... dll-ки, которые грузятся в память кодом пакера (т.е. до перехода на OEP). у меня называются так:

mbx@1fc@9030a8.###
mbx@1fc@9030b8.###

настоящие названия были такие
SDL.DLL
SDL_MIXER.DLL

и те и другие положил в папку на всякий случай.


Но при загрузке распакованной проги в олли, сразу же вылетает

mbx@144@9330a0.### was not found

Тут я подумал, что это какая то третья dll, но в любом случае как двигаться дальше, если даже в олли распакованную прогу загрузить не получается.

Дальше я подумал, что может быть это надо одну из распакованных мной dll переименовать....
Но дело в том, что при попытке запустить распакованную прогу вообще без dll, она сначала требует мои две распакованные dll именно с теми именами mbx@1fc@9030a8.### и mbx@1fc@9030b8.###.


Если переименовать первую (то есть mbx@1fc@9030a8.### в mbx@144@9330a0.###) , то при запуске вылетает
failed to initialize properly (0xC0000005)

если вторую, то

the procedure entry point SDL_RWFromFP could not be located in the dynamic link library...



Больше идей нету. Делитесь своими
ПОнятно, что там еще ресурсы зашиты в экзешник. Их я потом достану - уже опыт есть (см. мои посты про arcalands)
Но сначала надо в олли суметь загрузить дамп...

Подозреваю, что третья длл вызывается одной из распакованных двух. Как бы ее достать...



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

Создано: 21 мая 2006 09:46
· Личное сообщение · #2

voodoo69 пишет:
клевая логическая игрушка от miniclip
www.miniclip.com/zenpuzzlegarden/zenpuzzlegarden.htm

Они предлагают лоадер поставить - я в такие игры не играю. Лучше с осла скачаю сломанные




Ранг: 332.0 (мудрец)
Активность: 0.180
Статус: Участник
•Pr0tEcToRs KiLLeR•

Создано: 21 мая 2006 09:54
· Личное сообщение · #3

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



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

Создано: 22 мая 2006 10:55
· Личное сообщение · #4

tundra37 пишет:
Они предлагают лоадер поставить

А он как-то и не ставиться



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

Создано: 22 мая 2006 12:06
· Личное сообщение · #5

2 tundra37

www.miniclip.com/zenpuzzlegarden/zen_demo.exe
я тоже люблю с осла

Да, моль заменяет переходники функций типа createfile, readfile и т.д. на свои. Надо узнать на какие. Затем надо вручную найти список всех файлов и таблицу указателей на имена файлов. Затем организовать цикл по чтению файлов в память с помощью молевских апи и сразу же дампить в файл на диск.

Mario555

Можно ли так достать mbx@#%&$.xxx dll?

Всем

Кажется я понял, в чем ошибка. Как я уже сказал две dll я достал. Я думал, что есть 3-я но ее нет! Просто имя длл всегда разное - случайно задается. Неслучайна там только буква a или b в названии.
Во второй из распакованных длл импортируются функции из первой (а вовсе не из какой-то третьей). Но экзешник и длл я распаковал по очереди, поэтому для одной и той же длл экзешник требует одно имя, а длл другое.

вообщем нужно поменять название длл внутри другой длл (ну или в экзешнике, тогда сам файл длл тоже переименовать). Пошел тестировать...




Ранг: 332.0 (мудрец)
Активность: 0.180
Статус: Участник
•Pr0tEcToRs KiLLeR•

Создано: 22 мая 2006 22:38
· Личное сообщение · #6

voodoo69 пишет:
Можно ли так достать mbx@#%&$.xxx dll?

да



Ранг: 1045.7 (!!!!), 31thx
Активность: 0.570
Статус: Участник

Создано: 23 мая 2006 16:50
· Личное сообщение · #7

voodoo69
Ты переиминуй их в SDL.DLL SDL_MIXER.DLL и путатся не будешь, импорт переправь!
Там еще косяки с релоками будут в SDL_MIXER.DLL ! но это не большая проблема!



Ранг: 1045.7 (!!!!), 31thx
Активность: 0.570
Статус: Участник

Создано: 23 мая 2006 17:06
· Личное сообщение · #8

voodoo69 ты пишешь
Если переименовать первую (то есть mbx@1fc@9030a8.### в mbx@144@9330a0.###) , то при запуске вылетает
failed to initialize properly (0xC0000005)
Вот это как раз! Поробуй сменить Imfge base в SDL_MIXER.DLL на оригинальную ту что в молли, и прога нормально загрузится!



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

Создано: 25 мая 2006 04:47
· Личное сообщение · #9

pavka

спасибо! загрузить в олли получилось. но теперь прога вылетает по другой причине.

Гружу файл в олли. Получается такая вот лабуда. Сначала вызывается createfilea

0041888F |. E8 FCB40000 CALL <JMP.&kernel32.CreateFileA> ; \CreateFileA




нажимаем F7 оказываемся здесь. Вроде все хорошо. Адрес 004B72A4 действительно содержит 7C801A24 т.е переход на createfile!

00423D90 $-FF25 A4724B00 JMP DWORD PTR DS:[<&kernel32.CreateFileA>] ; kernel32.CreateFileA




Однако после очередного F7 попадаем на совершенно другой адрес.


7C801ACC 90 NOP
7C801ACD 90 NOP
7C801ACE 90 NOP
7C801ACF 90 NOP
7C801AD0 > 8BFF MOV EDI,EDI
7C801AD2 55 PUSH EBP
7C801AD3 8BEC MOV EBP,ESP
7C801AD5 FF75 14 PUSH DWORD PTR SS:[EBP+14]
7C801AD8 FF75 10 PUSH DWORD PTR SS:[EBP+10]
7C801ADB FF75 0C PUSH DWORD PTR SS:[EBP+C]
7C801ADE FF75 08 PUSH DWORD PTR SS:[EBP+8]
7C801AE1 6A FF PUSH -1
7C801AE3 E8 75FFFFFF CALL kernel32.VirtualProtectEx
7C801AE8 5D POP EBP
7C801AE9 C2 1000 RETN 10


это отчего так? вроде даже память просканировал нигде нету этого адреса 7C801ACC.
Откуда ж он берется то?



Ранг: 1045.7 (!!!!), 31thx
Активность: 0.570
Статус: Участник

Создано: 25 мая 2006 05:07
· Личное сообщение · #10

Вот сюда выходит!
7C801A24 > 8BFF MOV EDI,EDI
7C801A26 55 PUSH EBP
7C801A27 8BEC MOV EBP,ESP
7C801A29 FF75 08 PUSH DWORD PTR SS:[EBP+8]
7C801A2C E8 73C80000 CALL kernel32.7C80E2A4
7C801A31 85C0 TEST EAX,EAX
7C801A33 74 1E JE SHORT kernel32.7C801A53
7C801A35 FF75 20 PUSH DWORD PTR SS:[EBP+20]
7C801A38 FF75 1C PUSH DWORD PTR SS:[EBP+1C]
7C801A3B FF75 18 PUSH DWORD PTR SS:[EBP+18]
7C801A3E FF75 14 PUSH DWORD PTR SS:[EBP+14]
7C801A41 FF75 10 PUSH DWORD PTR SS:[EBP+10]
7C801A44 FF75 0C PUSH DWORD PTR SS:[EBP+C]
7C801A47 FF70 04 PUSH DWORD PTR DS:[EAX+4]
7C801A4A E8 27EF0000 CALL kernel32.CreateFileW
7C801A4F 5D POP EBP
7C801A50 C2 1C00 RETN 1C
и возврат
00418894 |. 8BF0 MOV ESI,EAX
00418896 |. 83F8 FF CMP EAX,-1
00418899 |. 75 2B JNZ SHORT Uzen_dem.004188C6
0041889B |. E8 68B50000 CALL <JMP.&kernel32.GetLastError> ; [GetLastError
и дальше в том же духе
004015C4 |. 83C1 04 ADD ECX,4
004015C7 |> 83C1 03 ADD ECX,3
004015CA |. 51 PUSH ECX ; /Arg4
004015CB |. 6A 08 PUSH 8 ; |Arg3 = 00000008
004015CD |. 68 E0010000 PUSH 1E0 ; |Arg2 = 000001E0
004015D2 |. 68 80020000 PUSH 280 ; |Arg1 = 00000280
004015D7 |. E8 003B0100 CALL Uzen_dem.004150DC ; \Uzen_dem.004150DC <------запускается
004015DC |. 83C4 10 ADD ESP,10
004015DF |. E8 64520000 CALL Uzen_dem.00406848
004015E4 |. E8 8F6E0000 CALL Uzen_dem.00408478



Ранг: 1045.7 (!!!!), 31thx
Активность: 0.570
Статус: Участник

Создано: 26 мая 2006 05:02
· Личное сообщение · #11

может кому сгодится, свежая статья по мольке
omega.intechhosting.com/~access/ARTeam/tutorials/file_info/download1.php?file=Unpacking_MoleBox_Pro_v2.5_by_MaDMAn_H3rCuL3s.rar



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

Создано: 26 мая 2006 10:19
· Личное сообщение · #12

THX!

ПРодолжая копать игруху, пытаюсь достать ресурсный файл zen.dat. Нигде нет его размера, поэтому застрял. Сама прога читает его по частям по 512 байт. Обращений очень много, поэтому вычислить общий размер файла не получается. Уже с горя думаю сделат цикл, который будет гонять readfile и прибавлять размер по одному байту пока ошибка не вылетит...



Ранг: 1045.7 (!!!!), 31thx
Активность: 0.570
Статус: Участник

Создано: 26 мая 2006 16:44
· Личное сообщение · #13

Хм..? С чего ты решил что он ресурсный? Это служебный какой то файл создается и в распакованой
в каталоге с прогой! При закрытии только непонятно создает какой то екзешник в темповой папке Х/з
зачем


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


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