непонятный upx

Тема в разделе "WASM.BEGINNERS", создана пользователем RSergey0311, 8 июл 2007.

  1. RSergey0311

    RSergey0311 Сергей

    Публикаций:
    0
    Регистрация:
    4 июл 2007
    Сообщения:
    7
    Помогите понять как такое может быть есть у меня есть прога запакованная UPX с использованием неизвестного скрамблера не на UPX-SCRAMBLER и HidePX не похож но всё равно плагин Uncover UPX для PE Tools справился с этой гадостью но я так и несмог понять как!
    при распоковке пробовал разные способы Quick_Unpack_v1_0rc1 вылетает в синий экран,сам UPX ругался и вообще непонятные глюки творились с компом.
    Но дело не в проге,у неё есть ещё 2 дллки тоже запакованые UPX и в них ещё непонятнее их вообще не чего не берёт все инструменты или слетают либо виснут кроме олли и ида но и они мне нечего вразумительного сказать не могут а может я понять не могу!

    Вот этот кусок кода
    10054AE0 >/$ 807C24 08 01 CMP [BYTE SS:ESP+8], 1 ;пришёл сюда из функции LoadLibrary
    10054AE5 |. 0F85 F1000000 JNZ dsresru.10054BDC
    10054AEB |. 60 PUSHAD
    10054AEC |. BE 00C00310 MOV ESI, dsresru.1003C000
    10054AF1 |. 8DBE 0050FCFF LEA EDI, [DWORD DS:ESI+FFFC5000]
    10054AF7 |. 57 PUSH EDI
    10054AF8 |. 83CD FF OR EBP, FFFFFFFF
    10054AFB |. EB 0D JMP SHORT dsresru.10054B0A
    10054AFD | 90 NOP
    10054AFE | 90 NOP
    10054AFF | 90 NOP
    10054B00 |> 8A06 MOV AL, [BYTE DS:ESI]
    10054B02 |. 46 INC ESI
    10054B03 |. 8807 MOV [BYTE DS:EDI], AL
    10054B05 |. 47 INC EDI
    10054B06 |> 01DB ADD EBX, EBX
    10054B08 |. 75 07 JNZ SHORT dsresru.10054B11
    10054B0A |> 8B1E MOV EBX, [DWORD DS:ESI]
    10054B0C |. 83EE FC SUB ESI, -4
    10054B0F |. 11DB ADC EBX, EBX
    10054B11 |>^72 ED JB SHORT dsresru.10054B00
    10054B13 |. B8 01000000 MOV EAX, 1
    10054B18 |> 01DB /ADD EBX, EBX
    10054B1A |. 75 07 |JNZ SHORT dsresru.10054B23
    10054B1C |. 8B1E |MOV EBX, [DWORD DS:ESI]
    10054B1E |. 83EE FC |SUB ESI, -4
    10054B21 |. 11DB |ADC EBX, EBX
    10054B23 |> 11C0 |ADC EAX, EAX
    10054B25 |. 01DB |ADD EBX, EBX
    10054B27 |. 73 0B |JNB SHORT dsresru.10054B34
    10054B29 |. 75 28 |JNZ SHORT dsresru.10054B53
    10054B2B |. 8B1E |MOV EBX, [DWORD DS:ESI]
    10054B2D |. 83EE FC |SUB ESI, -4
    10054B30 |. 11DB |ADC EBX, EBX
    10054B32 |. 72 1F |JB SHORT dsresru.10054B53
    10054B34 |> 48 |DEC EAX
    10054B35 |. 01DB |ADD EBX, EBX
    10054B37 |. 75 07 |JNZ SHORT dsresru.10054B40
    10054B39 |. 8B1E |MOV EBX, [DWORD DS:ESI]
    10054B3B |. 83EE FC |SUB ESI, -4
    10054B3E |. 11DB |ADC EBX, EBX
    10054B40 |> 11C0 |ADC EAX, EAX
    10054B42 |.^EB D4 \JMP SHORT dsresru.10054B18
    10054B44 |> 01DB ADD EBX, EBX
    10054B46 |. 75 07 JNZ SHORT dsresru.10054B4F
    10054B48 |. 8B1E MOV EBX, [DWORD DS:ESI]
    10054B4A |. 83EE FC SUB ESI, -4
    10054B4D |. 11DB ADC EBX, EBX
    10054B4F |> 11C9 ADC ECX, ECX
    10054B51 |. EB 52 JMP SHORT dsresru.10054BA5
    10054B53 |> 31C9 XOR ECX, ECX
    10054B55 |. 83E8 03 SUB EAX, 3
    10054B58 |. 72 11 JB SHORT dsresru.10054B6B
    10054B5A |. C1E0 08 SHL EAX, 8
    10054B5D |. 8A06 MOV AL, [BYTE DS:ESI]
    10054B5F |. 46 INC ESI
    10054B60 |. 83F0 FF XOR EAX, FFFFFFFF
    10054B63 |. 74 75 JE SHORT dsresru.10054BDA
    10054B65 |. D1F8 SAR EAX, 1
    10054B67 |. 89C5 MOV EBP, EAX
    10054B69 |. EB 0B JMP SHORT dsresru.10054B76
    10054B6B |> 01DB ADD EBX, EBX
    10054B6D |. 75 07 JNZ SHORT dsresru.10054B76
    10054B6F |. 8B1E MOV EBX, [DWORD DS:ESI]
    10054B71 |. 83EE FC SUB ESI, -4
    10054B74 |. 11DB ADC EBX, EBX
    10054B76 |>^72 CC JB SHORT dsresru.10054B44
    10054B78 |. 41 INC ECX
    10054B79 |. 01DB ADD EBX, EBX
    10054B7B |. 75 07 JNZ SHORT dsresru.10054B84
    10054B7D |. 8B1E MOV EBX, [DWORD DS:ESI]
    10054B7F |. 83EE FC SUB ESI, -4
    10054B82 |. 11DB ADC EBX, EBX
    10054B84 |>^72 BE JB SHORT dsresru.10054B44
    10054B86 |> 01DB /ADD EBX, EBX
    10054B88 |. 75 07 |JNZ SHORT dsresru.10054B91
    10054B8A |. 8B1E |MOV EBX, [DWORD DS:ESI]
    10054B8C |. 83EE FC |SUB ESI, -4
    10054B8F |. 11DB |ADC EBX, EBX
    10054B91 |> 11C9 |ADC ECX, ECX
    10054B93 |. 01DB |ADD EBX, EBX
    10054B95 |.^73 EF |JNB SHORT dsresru.10054B86
    10054B97 |. 75 09 |JNZ SHORT dsresru.10054BA2
    10054B99 |. 8B1E |MOV EBX, [DWORD DS:ESI]
    10054B9B |. 83EE FC |SUB ESI, -4
    10054B9E |. 11DB |ADC EBX, EBX
    10054BA0 |.^73 E4 \JNB SHORT dsresru.10054B86
    10054BA2 |> 83C1 02 ADD ECX, 2
    10054BA5 |> 81FD 00FBFFFF CMP EBP, -500
    10054BAB |. 83D1 02 ADC ECX, 2
    10054BAE |. 8D142F LEA EDX, [DWORD DS:EDI+EBP]
    10054BB1 |. 83FD FC CMP EBP, -4
    10054BB4 |. 76 0E JBE SHORT dsresru.10054BC4
    10054BB6 |> 8A02 /MOV AL, [BYTE DS:EDX]
    10054BB8 |. 42 |INC EDX
    10054BB9 |. 8807 |MOV [BYTE DS:EDI], AL
    10054BBB |. 47 |INC EDI
    10054BBC |. 49 |DEC ECX
    10054BBD |.^75 F7 \JNZ SHORT dsresru.10054BB6
    10054BBF |.^E9 42FFFFFF JMP dsresru.10054B06
    10054BC4 |> 8B02 /MOV EAX, [DWORD DS:EDX]
    10054BC6 |. 83C2 04 |ADD EDX, 4
    10054BC9 |. 8907 |MOV [DWORD DS:EDI], EAX
    10054BCB |. 83C7 04 |ADD EDI, 4
    10054BCE |. 83E9 04 |SUB ECX, 4
    10054BD1 |.^77 F1 \JA SHORT dsresru.10054BC4
    10054BD3 |. 01CF ADD EDI, ECX
    10054BD5 |.^E9 2CFFFFFF JMP dsresru.10054B06
    10054BDA |> 5E POP ESI
    10054BDB |. 61 POPAD ;вот попа
    10054BDC 31C0 XOR EAX, EAX ;
    10054BDE 40 INC EAX ;
    10054BDF \. C2 0C00 RETN 0C ;но после неё нету джумпа а идёт рет и попадаеш в NTDLL

    помогите пожалуйста кто сможет и не ругайтесь я честно искал подобные темы но так и не нашёл,кроме статьи Автора GPcH Учимся распаковке DLL библиотек но описание в статье почти не похоже
    на мой случай!
     
  2. litrovith

    litrovith Member

    Публикаций:
    0
    Регистрация:
    20 июн 2007
    Сообщения:
    509
    RSergey0311
    Твоя dll запакована ASProtect и там установлена защита от отладки при помощи Structured Exception Handler.
     
  3. RSergey0311

    RSergey0311 Сергей

    Публикаций:
    0
    Регистрация:
    4 июл 2007
    Сообщения:
    7
    Спасибо большое litrovith,значит UPX и ASProtect похожи получается а я всё это время думал что это UPX 1.90 покрайней мере это говорил PEID,
    сейчас поищю туторы по ASProtect и всё равно распакую её.
     
  4. litrovith

    litrovith Member

    Публикаций:
    0
    Регистрация:
    20 июн 2007
    Сообщения:
    509
    Обмануть PEID не проблема. Я определил что ето ASProtect при помощи плагина к PEID "Advanced Scan", и еще одна программа ето подтвердила. Полагаю что без SoftICE тебе не обойтись.
     
  5. void_

    void_ New Member

    Публикаций:
    0
    Регистрация:
    15 май 2007
    Сообщения:
    13
    litrovith
    Все прекрасно распаковываецо OllyDbg
     
  6. RSergey0311

    RSergey0311 Сергей

    Публикаций:
    0
    Регистрация:
    4 июл 2007
    Сообщения:
    7
    Как?
    Обьясни свой порядок действий пожалуйста?
    Может я приглючиваю или комп,
    ида её не видит а OllyDbg какую то фигню выдаёт и тормозит страшно когда трассируеш по F7!
    В любом случае не понятно странное поведение!
     
  7. RSergey0311

    RSergey0311 Сергей

    Публикаций:
    0
    Регистрация:
    4 июл 2007
    Сообщения:
    7
    Почему у меня плугин PEID "Advanced Scan" тоже показал upx 1.24 \ 1.90?
    а про ASProtect не одна прога даже не у помянает.
    У меня сейчас точно крыша поедет с такой библиотекой и вобще что такого секретного тогда она в себе хранит что её так запаковали!
     
  8. Jupiter

    Jupiter Jupiter

    Публикаций:
    0
    Регистрация:
    12 авг 2004
    Сообщения:
    532
    Адрес:
    Russia
    В общем:
    1. Файл упакован UPX
    2. Во внутренней структре UPX выставлена версия FF вместо 0D

    Чтобы распаковать:
    1. После сигнатуры UPX! выставить 0D вместо FF
    2. Распаковать файл с помощью UPX 3.0

    Вот собсна и всё.
     
  9. RSergey0311

    RSergey0311 Сергей

    Публикаций:
    0
    Регистрация:
    4 июл 2007
    Сообщения:
    7
    UPX 3.0 Говорит UNPackedException!
     
  10. litrovith

    litrovith Member

    Публикаций:
    0
    Регистрация:
    20 июн 2007
    Сообщения:
    509
     
  11. RSergey0311

    RSergey0311 Сергей

    Публикаций:
    0
    Регистрация:
    4 июл 2007
    Сообщения:
    7
    Ну вот те раз в конец запутался и что теперь делать он что мутирует что ли и как эту чуш распаковывать автоматические распаковщики виснут а olli глючит!
     
  12. Jupiter

    Jupiter Jupiter

    Публикаций:
    0
    Регистрация:
    12 авг 2004
    Сообщения:
    532
    Адрес:
    Russia
    RSergey0311
    хмм... снова стандартная ситуация. отвечаешь на вопрос - а человеку даже лень сделать два элементарных действия - изменить 1 (!!!) байт и распаковать файл командой upx -d DsResRU.dll

    Сергей, не поленись, открой файл DsResRU.dll в hex-редакторе, найди сигнатуру 'UPX!' и после неё вбей 0D вместо FF. Это элементарно!

    litrovith
    вместо того, чтобы делать скриншот и нести бред про ASProtect, проделал бы те же самые два элементарных действия: изменил 1 байт и распаковал файл стандарным upx -d
     
  13. RSergey0311

    RSergey0311 Сергей

    Публикаций:
    0
    Регистрация:
    4 июл 2007
    Сообщения:
    7
    Сразу обьяснил бы что ты это делаеш в хекс редакторе а я то пытался плагином Uncover UPX для PE Tools хотя и в статье сказано что лучше это делать с помощью плагина,
    теперь попытаюсь с помощью хекса,просто в башке мяша из разных мыслей и сам не знаеш за что взятся!