Сейчас на форуме: YDS, _MBK_, user99, ManHunter (+4 невидимых)

 eXeL@B —› Основной форум —› Трудности с распаковкой ASPack 2.12
. 1 . 2 . >>
Посл.ответ Сообщение

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

Создано: 28 ноября 2005 11:10
· Личное сообщение · #1

Приветствую всех!

Загружаю прогу в Olly, брякается (PEP) на 00507001___PUSHAD, далее ищу POPAD и нахожу (см. второй фрагмент кода), ставлю BP на последний RENT, запускаю прогу (по F9) и вижу OEP (004AE6C4), нажимаю F8, чтобы оказаться на OEP, и дамплю (Plugins -> OllyDump -> Dump Debugged process). Попутный вопрос, а надо ли в этом окне что-то изменять, а именно Start Address, Size, EP, Modify, Base of Code, Base of Data или Olly сама установит эти значения на верные? У меня поставлены галки Fix Raw ... и Rebuild Import.

А теперь о Rebuild Import. Использую второй метод, запускаю сдампленную программу и "Обнаружена ошибка. Приложение будет закрыто."А с использованием первого метода уже лучше, но всё же появляется вот такая ошибка "Access violation at address 00595DB8. Read of address 00595DB8". А потом запускается сама прога.

Пробовал дампить с помощью Lord PE & PE Tools, но не получилось восстановить импорт, Import Rec не распознал некоторые функции.

Подскажите, пожалуйста в чём здесь загвоздка.

PS: я уже снимал ASPack 2.12 с прог и всё было Ок, но здесь???
PPS: (2.14МБ) _http://www.zealotsoft.net/download/alljoiner.exe

00507000___NOP
00507001___PUSHAD <<<<<<<<<<<<<<<<<<<<<<<
00507002___VideoJoi.0050700A
00507007___JMP_____45AD74F7
0050700C___PUSH____EBP
0050700D___RETN


005073A9___MOV_____DWORD PTR SS:[EBP+3A8],EAX
005073AF___POPAD <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
005073B0___JNZ_____SHORT VideoJoi.005073BA
005073B2___MOV_____EAX,1
005073B7___RETN____0C
005073BA___PUSH____0
005073BF___RETN



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

Создано: 28 ноября 2005 11:14
· Личное сообщение · #2

дампь лордом, фикси иат импреком



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

Создано: 28 ноября 2005 11:56
· Личное сообщение · #3

Av0id пишет:
дампь лордом, фикси иат импреком

Так я же написал, что испробовал Lord PE и ничего не получилось.
Читать внимательнее надо



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

Создано: 28 ноября 2005 12:27
· Личное сообщение · #4

сорри, про lordpe не увидел, щас скачаю и гляну чё-там



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

Создано: 28 ноября 2005 12:31
· Личное сообщение · #5

Там все очень легко распаковывается ТЫЦ http://rapidshare.de/files/8272553/Dumped.rar.html . Теперь тебе только доломать осталось

-----
Само плывет в pуки только то, что не тонет.





Ранг: 420.3 (мудрец)
Активность: 0.240
Статус: Участник

Создано: 28 ноября 2005 12:45
· Личное сообщение · #6

IvanStepkin
Хватай импорт для импрека

35f1_tree.txt.zip

-----
Сколько ни наталкивали на мысль – все равно сумел увернуться





Ранг: 420.3 (мудрец)
Активность: 0.240
Статус: Участник

Создано: 28 ноября 2005 12:46
· Личное сообщение · #7

DrFits
Опередил...

-----
Сколько ни наталкивали на мысль – все равно сумел увернуться




Ранг: 384.1 (мудрец)
Активность: 0.250
Статус: Участник
www.int3.net

Создано: 28 ноября 2005 12:49
· Личное сообщение · #8

ValdiS
DrFits
Вы бы лучше рассказали человеку КАК, а результат тут на втором плане

-----
Подписи - ЗЛО! Нужно убирать!




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

Создано: 28 ноября 2005 12:51 · Поправил: IvanStepkin
· Личное сообщение · #9

DrFits пишет:
Там все очень легко распаковывается ТЫЦ

Конечно, понятно, что легко. Но всё таки можно ли с небольшим описание, как делалось??? Плиз!!!!



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

Создано: 28 ноября 2005 13:10
· Личное сообщение · #10

nice пишет:
Вы бы лучше рассказали человеку КАК
- как-как, обычно, если извращатся, то:
1) стоя на OEP смотриш где 1-я функция лежит
004AE6FA |. E8 3D85F5FF CALL VideoJoi.00406C3C ; \FindWindowA <-идем сюда
00406C3C $-FF25 EC364B00 JMP DWORD PTR [4B36EC] ; user32.FindWindowA <- там (в 4B36EC) лежит адрес ф-ции
2) идем в 4B36EC и видим импорт, визуально определяем начало и конец, и вручную пишем это в импрек.
Нормальный способ:
почитай ТЫЦ , я вот (в аттаче) для себя скрипт наваял , можешь если хочешь глянуть

08f5_aspack.txt.zip

-----
Само плывет в pуки только то, что не тонет.




Ранг: 389.6 (мудрец)
Активность: 0.150
Статус: Участник

Создано: 28 ноября 2005 17:25
· Личное сообщение · #11

Быстрый выход на PUSH 0
Ctrl+B (search binary string) вбиваешь 00 00 00 00 С3 Enter и ты на PUSH 0. Ставишь F2 и жмешь F9. Все =))

-----
TBR




Ранг: 160.9 (ветеран), 1thx
Активность: 0.050
Статус: Участник

Создано: 28 ноября 2005 18:26
· Личное сообщение · #12

В свое время Dr.Golova выдовал такой листинг:


uINC

Дата: Июл 21, 2003 13:04:46 · Поправил: Dr.Golova


А по поводу аспака вот что я могу сказать для того рефокса что лежит на официальном сайте:

.compro:0069316F mov edi, [esi] ; section rva
.compro:00693171 add edi, [ebp+422h] ; image_base
.compro:00693177 mov esi, [ebp+152h] ; temp buffer
.compro:0069317D sar ecx, 2
.compro:00693180 rep movsd
.compro:00693182 mov ecx, eax
.compro:00693184 and ecx, 3
.compro:00693187 rep movsb
.compro:00693189 pop esi
.compro:0069318A push 8000h
.compro:0069318F push 0
.compro:00693191 push dword ptr [ebp+152h] ; temp buffer
.compro:00693197 call dword ptr [ebp+551h] ; VirtualFree
.compro:0069319D add esi, 8
.compro:006931A0 cmp dword ptr [esi], 0 ; next section rva
.compro:006931A3 jnz unpack_loop
.compro:006931A9 push 8000h
.compro:006931AE push 0
.compro:006931B0 push dword ptr [ebp+156h] ; huffman table
.compro:006931B6 call dword ptr [ebp+551h] ; VirtualFree



Соответсно сделав bpm 6931A9 x и сняв дампик тут мы получим распакованными все секции. Идем дельше.

.compro:006931CE mov edx, [ebp+422h] ; image base
.compro:006931D4 mov eax, [ebp+52Dh] ; original base
.compro:006931DA sub edx, eax
.compro:006931DC jz short reloc_done
.compro:006931DE mov eax, edx
.compro:006931E0 shr eax, 10h
.compro:006931E3 xor ebx, ebx
.compro:006931E5 mov esi, [ebp+539h] ; reloc table rva
.compro:006931EB add esi, [ebp+422h] ; image base
.compro:006931F1
.compro:006931F1 loc_6931F1:
.compro:006931F1 cmp dword ptr [esi], 0 ; page rva
.compro:006931F4 jz short reloc_done



Тут соответсно при необходимости получаем адрес таблицы релоков.

.compro:00693278 mov esi, 1B0000h ; import table rva
.compro:0069327D mov edx, [ebp+422h] ; image base
.compro:00693283 add esi, edx
.compro:00693285
.compro:00693285 loc_693285:
.compro:00693285 mov eax, [esi+0Ch] ; dll name rva
.compro:00693288 test eax, eax
.compro:0069328A jz loc_69339A
.compro:00693290 add eax, edx
.compro:00693292 mov ebx, eax
.compro:00693294 push eax
.compro:00693295 call dword ptr [ebp+0F4Dh] ; GetModuleHandleA



Отсюда имеем rva таблицы импорта (а в уже снятом дампе она целенькая, так штаа про imprec можно забыть

.compro:0069339A mov eax, 1000h ; oep rva
.compro:0069339F push eax
.compro:006933A0 add eax, [ebp+422h] ; image base
.compro:006933A6 pop ecx
.compro:006933A7 or ecx, ecx
.compro:006933A9 mov [ebp+3A8h], eax ; patch push at 6933BAh
.compro:006933AF popa
.compro:006933B0 jnz short loc_6933BA
.compro:006933B2 mov eax, 1
.compro:006933B7 retn 0Ch
loc_6933BA:
.compro:006933BA push 0
.compro:006933BF retn



Вот собсно и все что нужно для регулярной половой жизни, все это я естесно посмотрел только в дизассемблере и проверять не стал - лениво =

в принципе для меня этого всегда было достаточно чтобы снять AsPack



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

Создано: 28 ноября 2005 18:34
· Личное сообщение · #13

Cigan - а в ссылке на статью не тоже самое написано??? Да и листинг можно было бы в файлик прикрепить, а то на пол топика

-----
Само плывет в pуки только то, что не тонет.




Ранг: 389.6 (мудрец)
Активность: 0.150
Статус: Участник

Создано: 28 ноября 2005 19:12
· Личное сообщение · #14

Распаковка ASpack за 20 телодвижений:

Ctrl+B -> 00 00 00 00 C3 -> ENTER -> F2 -> F9 -> F8 -> F8
Plugins -> OllyDump -> DumpDebuggedProcess -> Metod 2 -> Modify:Ctrl+C -> Dump
ImpRec -> AttachToProcess -> OEP:Ctrl+V -> IAT -> Ok -> GetImport -> FixDump

-----
TBR




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

Создано: 28 ноября 2005 19:24
· Личное сообщение · #15

А ресурсы у тебя все будут читаться после таких телодвижений?

-----
Само плывет в pуки только то, что не тонет.




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

Создано: 28 ноября 2005 19:35
· Личное сообщение · #16

hr esp-4, стандартно до oep, потом дампим и юзаем следующую инфу в импреке

oep: ae6c4
rva: b3190
size: 1000



Ранг: 389.6 (мудрец)
Активность: 0.150
Статус: Участник

Создано: 28 ноября 2005 19:44
· Личное сообщение · #17

DrFits пишет:
А ресурсы у тебя все будут читаться после таких телодвижений?

Проверь

-----
TBR




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

Создано: 28 ноября 2005 20:10 · Поправил: IvanStepkin
· Личное сообщение · #18

DrFits пишет:
1) стоя на OEP смотриш где 1-я функция лежит
004AE6FA |. E8 3D85F5FF CALL VideoJoi.00406C3C ; \FindWindowA <-идем сюда
00406C3C $-FF25 EC364B00 JMP DWORD PTR [4B36EC] ; user32.FindWindowA <- там (в 4B36EC) лежит адрес ф-ции
2) идем в 4B36EC и видим импорт, визуально определяем начало и конец, и вручную пишем это в импрек.

Ещё раз:
1. Перешёл на 004AE6FA___CALL___VideoJoi.00406C3C; JMP to user32.FindWindowA
2. Перехожу на 00406C3C___JMP___DWORD PTR DS:[4B36EC]; user32.FindWindowA
Близлежащий код:
00406C32___MOV___EAX,EAX
00406C34___JMP___DWORD PTR DS:[4B36F0]; user32.FillRect
00406C3A___MOV___EAX,EAX
00406C3C___JMP___DWORD PTR DS:[4B36EC]; user32.FindWindowA
00406C42___MOV___EAX,EAX
00406C44___JMP___DWORD PTR DS:[4B36E8]; user32.FindWindowExA
00406C4A___MOV___EAX,EAX

3. Если перейти на 004B36EC, то там следующее:
004B36EC___XOR___ESI,DWORD PTR DS:[ESI+6C1377D3]
004B36F2___SAL____DWORD PTR DS:[EDI+7C],CL
004B36F5___PUSH___6A7377D3
004B36FA___SAL____DWORD PTR DS:[EDI-46],CL

4. Но DS:[004B36EC]=77D3B633 (user32.FindWindowA), по адресу
77D3B633___XOR____EAX,EAX
77D3B635___PUSH___EAX
77D3B636___PUSH___DWORD PTR SS:[ESP+C]
77D3B63A___PUSH___DWORD PTR SS:[ESP+C]
77D3B63E___PUSH___EAX

И где тут импорт???



Ранг: 389.6 (мудрец)
Активность: 0.150
Статус: Участник

Создано: 28 ноября 2005 20:21
· Личное сообщение · #19

IvanStepkin пишет:
И где тут импорт???


DrFits пишет:
импорт, визуально определяем


=)))))))))))))))))))))))))

-----
TBR




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

Создано: 28 ноября 2005 20:30
· Личное сообщение · #20

Grey пишет:
ImpRec -> AttachToProcess -> OEP:Ctrl+V -> IAT -> Ok -> GetImport -> FixDump

Так после "GetImport" остаются неизвестные функции (в окне "Imported Functions Found"). И на этом всё. Больше ничего не сделать.



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

Создано: 28 ноября 2005 20:31
· Личное сообщение · #21

Grey пишет:
=)))))))))))))))))))))))))

А я в упор не вижу. Помогите, просто!




Ранг: 500.6 (!), 7thx
Активность: 0.260
Статус: Участник

Создано: 28 ноября 2005 22:07
· Личное сообщение · #22

IvanStepkin

В RAR-статьи загляни.



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

Создано: 28 ноября 2005 22:54
· Личное сообщение · #23

IvanStepkin
AvOid все разжевал же

oep: ae6c4
rva: b3190
size: 1000

От последней неопредилившейся отрезаешь и всё. (сам попробывал)



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

Создано: 29 ноября 2005 00:11
· Личное сообщение · #24

xDriver пишет:
AvOid все разжевал же

oep: ae6c4
rva: b3190
size: 1000

А как это было найдено RVA & Size???




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

Создано: 29 ноября 2005 05:22
· Личное сообщение · #25

IvanStepkin пишет:
А как это было найдено RVA & Size???

Читай что Цыган писал, его коменты. В тех местах где коменты смотри значения регистров в отладчике там эти значения.



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

Создано: 29 ноября 2005 07:04
· Личное сообщение · #26

IvanStepkin пишет:
3. Если перейти на 004B36EC, то там следующее:
004B36EC___XOR___ESI,DWORD PTR DS:[ESI+6C1377D3]
- нажми ctrl + A , может поможет .
Для тебя вижу , что только способ MozgC подойдет :
1) стоя на OEP смотриш адрес функции FindWindowA -> 77D5F3C6 (жмешь ctrl+G -> вводишь FindWindowA -> и ты на адресе FindWindow )
2) дампиш прогу
3) WinHex'ом в дампе ищешь эту строчку( C6F3D577 )
4) где видиш много инструкций вида ******77 и ******7С это и будет таблица импорта
P.S : читай статьи

-----
Само плывет в pуки только то, что не тонет.




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

Создано: 04 декабря 2005 23:20
· Личное сообщение · #27

Сейчас попробовал ещё одну прогу запакованную ASPack'ом и таже фигня
И вот вспомнил про метод видеокурса. Может кто-нибудь запишет видео про распаковку, пожалуйста, очень был бы признателен.




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

Создано: 04 декабря 2005 23:30
· Личное сообщение · #28

IvanStepkin
дык есть это уже www.ilyacr.narod.ru/




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

Создано: 05 декабря 2005 00:18
· Личное сообщение · #29

IvanStepkin
Распакованый файл нужен или мини тутор ?
Распакованый файл: ~363 kb rapidshare.de/files/8624857/VideoJoiner_unpacked.rar.html

P.S. Если что потом накатаю мини тутор (не видео =), авось для newbie пригодится.

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





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

Создано: 05 декабря 2005 00:25
· Личное сообщение · #30

Да чуть не забыл OEP VA 004AE6C4

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



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


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