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

 eXeL@B —› Основной форум —› Распаковка библиотеки, запакованной Armadillo 2.51 - 3.xx DLL Stub -> Silicon Realms Toolworks
Посл.ответ Сообщение

Ранг: 284.8 (наставник), 6thx
Активность: 0.150
Статус: Участник

Создано: 04 октября 2006 03:07
· Личное сообщение · #1

Есть проблема!!! Ну никак не могу распаковать такую dll-ку!
Peid показал Armadillo 2.51 - 3.xx DLL Stub -> Silicon Realms Toolworks
DilloDie 1.4 распаковывает, но криво....

Прочитал статью Pa$cal, но по его способу не могу даже OEP найти !!!
В остальных статьях по Армадилле распаковывают exe файлы, разницы особо большой нет, но.....
Даже скачал видео тутор ZOoMiK по поиску версии Армы, так вот прохожу все как в нем только в конце,
там где после поиска строки armversion> должнаыть версия армы, а у меня там

003B4605 armVersion>.... (и нет версии)

Может кто знает в чем фишка или где еще есть какие статьи по распаковке dll Армы этой версии???
Буду очень признателен за любую помощь!!!




Ранг: 199.9 (ветеран), 4thx
Активность: 0.120.02
Статус: Участник

Создано: 04 октября 2006 03:17
· Личное сообщение · #2

RSI
Dll-ку выложи



Ранг: 284.8 (наставник), 6thx
Активность: 0.150
Статус: Участник

Создано: 04 октября 2006 03:22
· Личное сообщение · #3

Я не знаю какие еще нужны файлы для ее работы, поэтому вот сайт этой проги

www.novapdf.com/download/setup/novapp.exe

весит ~3,64MB

dll находится в директории ( Это типа виртуальный принтер )

C:\WINDOWS\system32\spool\drivers\w32x86\3\novauip2.dll



Ранг: 284.8 (наставник), 6thx
Активность: 0.150
Статус: Участник

Создано: 04 октября 2006 03:23
· Личное сообщение · #4

Сорри novauip4.dll

novauip2.dll - это было в старой версии



Ранг: 516.1 (!), 39thx
Активность: 0.280
Статус: Участник

Создано: 04 октября 2006 09:40
· Личное сообщение · #5

пишем на фасме прогу:
invoke LoadLibrary,szNovauip4 ; "novauip4.dll"
invoke ExitProcess,NULL

компилим её, кидаем в папку с библиотекой (C:\WINDOWS\system32\spool\drivers\w32x86\3\), пихаем фасмовую прогу в олю

лезем внутрь LoadLibraryA до загрузки библиотеки, заходим в LoadLibraryExA, заходим в единственные вызов там (LoadLibraryExW) и уже там визуально ищем LdrLoadDll после этого вызова ставим бряк, запускаем фасмовую программу брякаемся, ALT+M, ставим бряк на '.text' (или секцию с кодом), запускаем... БАХ, мы на oep (можно просто сразу поставить бряк на LdrLoadDll)

дальше делаем всё как в стандартной арме (на dll'ках copymem'a и наномитов не видел, только code splicing и iat redirection)

ps. зачем писали программу? а чтобы не заморачиваться с восстановлением релоков



Ранг: 284.8 (наставник), 6thx
Активность: 0.150
Статус: Участник

Создано: 05 октября 2006 04:10
· Личное сообщение · #6

Av0id

Спасибо! Счас попробую...



Ранг: 284.8 (наставник), 6thx
Активность: 0.150
Статус: Участник

Создано: 05 октября 2006 05:14
· Личное сообщение · #7

Че-то неполучается че далаю неправильно???
Скомпилил прогу на fasm....
Ставлю бряк: ( на 7С801BB9)

7C801BB1 FF75 C0 PUSH DWORD PTR SS:[EBP-40]
7C801BB4 E8 E0C60000 CALL <JMP.&ntdll.LdrLoadDll>
7C801BB9 8BF0 MOV ESI,EAX

Запускаю прогу, сработал бряк. я его снимаю ставлю бряк на

Section=.text1
Contains=code

, и вываливаюсь в таком месте

001FAF12 |. 8945 F4 MOV DWORD PTR SS:[EBP-C],EAX ; kernel32.7C800000
001FAF15 |. 837D F4 00 CMP DWORD PTR SS:[EBP-C],0
001FAF19 |. 74 4C JE SHORT novauip4.001FAF67
001FAF1B |. 68 70452200 PUSH novauip4.00224570 ; /ProcNameOrOrdinal = "IsDebuggerPresent"
001FAF20 |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C] ; |
001FAF23 |. 50 PUSH EAX ; |hModule
001FAF24 |. FF15 58402200 CALL DWORD PTR DS:[<&KERNEL32.GetProcAddress>] ; \GetProcAddress
001FAF2A |. 8945 F0 MOV DWORD PTR SS:[EBP-10],EAX
001FAF2D |. 837D F0 00 CMP DWORD PTR SS:[EBP-10],0
001FAF31 |. 74 34 JE SHORT novauip4.001FAF67
001FAF33 |. FF55 F0 CALL DWORD PTR SS:[EBP-10]
001FAF36 |. 85C0 TEST EAX,EAX
001FAF38 |. 74 2D JE SHORT novauip4.001FAF67
001FAF3A |. FF15 20412200 CALL DWORD PTR DS:[<&KERNEL32.GetCurrentProcessId>] ; [GetCurrentProcessId
001FAF40 |. 50 PUSH EAX ; /<%X>
001FAF41 |. 68 68452200 PUSH novauip4.00224568 ; |format = "%X:DAF"
001FAF46 |. 8D8D F0FEFFFF LEA ECX,DWORD PTR SS:[EBP-110] ; |
001FAF4C |. 51 PUSH ECX ; |s
001FAF4D |. FF15 50412200 CALL DWORD PTR DS:[<&MSVCRT.sprintf>] ; \sprintf
001FAF53 |. 83C4 0C ADD ESP,0C
001FAF56 |. 8D95 F0FEFFFF LEA EDX,DWORD PTR SS:[EBP-110]
001FAF5C |. 52 PUSH EDX ; /MutexName
001FAF5D |. 6A 00 PUSH 0 ; |InitialOwner = FALSE
001FAF5F |. 6A 00 PUSH 0 ; |pSecurity = NULL
001FAF61 |. FF15 88402200 CALL DWORD PTR DS:[<&KERNEL32.CreateMutexA>] ; \CreateMutexA
001FAF67 |> 68 FC951F00 PUSH novauip4.001F95FC
001FAF6C |. FF15 40412200 CALL DWORD PTR DS:[<&MSVCRT.?_set_new_handler@@YAP6AHI>; MSVCRT.?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z
001FAF72 |. 83C4 04 ADD ESP,4
001FAF75 |. E8 B2E6FFFF CALL novauip4.001F962C

Ну развеж ето OEP ????!!!!

Может надо какие-нить Exeptions выставить в Оле?



Ранг: 516.1 (!), 39thx
Активность: 0.280
Статус: Участник

Создано: 05 октября 2006 05:28
· Личное сообщение · #8

скажи мне пожалста, ты арму первый раз пытаешься снять? .text1 - это секция кода армы, нужно ставить бряк на .code или .text



Ранг: 284.8 (наставник), 6thx
Активность: 0.150
Статус: Участник

Создано: 05 октября 2006 05:37
· Личное сообщение · #9

Av0id

да первый раз! я подумал ты имел ввиду секцию которя по мнению оли содержит код!

я поставил на секцию .text и вываливаюсь на таком месте

009280D8 ED IN EAX,DX ; I/O command
009280D9 81FB 68584D56 CMP EBX,564D5868
009280DF 75 04 JNZ SHORT 009280E5
009280E1 C645 FF 01 MOV BYTE PTR SS:[EBP-1],1
009280E5 8A45 FF MOV AL,BYTE PTR SS:[EBP-1]
009280E8 5B POP EBX
009280E9 C9 LEAVE
009280EA C3 RETN
009280EB 55 PUSH EBP
009280EC 8BEC MOV EBP,ESP
009280EE 6A FF PUSH -1
009280F0 68 88059500 PUSH 950588
009280F5 68 40F19400 PUSH 94F140 ; JMP to MSVCRT._except_handler3
009280FA 64:A1 00000000 MOV EAX,DWORD PTR FS:[0]
00928100 50 PUSH EAX
00928101 64:8925 00000000 MOV DWORD PTR FS:[0],ESP
00928108 83EC 20 SUB ESP,20
0092810B 53 PUSH EBX
0092810C 56 PUSH ESI
0092810D 57 PUSH EDI
0092810E 8965 E8 MOV DWORD PTR SS:[EBP-18],ESP
00928111 33DB XOR EBX,EBX
00928113 381D B09A9500 CMP BYTE PTR DS:[959AB0],BL
00928119 75 42 JNZ SHORT 0092815D
0092811B 68 B84F9500 PUSH 954FB8 ; ASCII "rpcrt4.dll"
00928120 FF15 DC009500 CALL DWORD PTR DS:[9500DC] ; kernel32.LoadLibraryA
00928126 8BF8 MOV EDI,EAX
00928128 3BFB CMP EDI,EBX
0092812A 74 71 JE SHORT 0092819D
0092812C 68 A04F9500 PUSH 954FA0 ; ASCII "UuidCreateSequential"
00928131 57 PUSH EDI
00928132 8B35 D8009500 MOV ESI,DWORD PTR DS:[9500D8] ; kernel32.GetProcAddress

Вот в таком месте ZOoMiK предлагал посмотреть версию армы, но это не OEP!!!

Мож если ты распаковал, то сними коротенький видео тутор??? Былоб классно....



Ранг: 516.1 (!), 39thx
Активность: 0.280
Статус: Участник

Создано: 05 октября 2006 09:53
· Личное сообщение · #10

поставь игнор на все исключения и попробуй снова




Ранг: 260.9 (наставник)
Активность: 0.120
Статус: Участник
John Smith

Создано: 05 октября 2006 13:15 · Поправил: Rascal
· Личное сообщение · #11

Av0id пишет:
(на dll'ках copymem'a и наномитов не видел, только code splicing и iat redirection)

А ты попробуй для библы сделать второй процесс-отладчик ;)

ЗЫ: как и ожидал в начале подводит человека прямота рук. Рановато тебе армадилу снимать, если даже по тутору до оеп не дойти...

ЗЫЗЫ: не Pa$cal а Ra$cal

-----
Недостаточно только получить знания:надо найти им приложение




Ранг: 284.8 (наставник), 6thx
Активность: 0.150
Статус: Участник

Создано: 06 октября 2006 00:14
· Личное сообщение · #12

Av0id

Спасиб! Все получилось!!!

Rascal

Опечатка получилась, извени! Лучше чем придираться, мог бы и помочь...., но уже поздно!!!


 eXeL@B —› Основной форум —› Распаковка библиотеки, запакованной Armadillo 2.51 - 3.xx DLL Stub -> Silicon Realms Toolworks
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати