Помогите понять как такое может быть есть у меня есть прога запакованная 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 библиотек но описание в статье почти не похоже на мой случай!
RSergey0311 Твоя dll запакована ASProtect и там установлена защита от отладки при помощи Structured Exception Handler.
Спасибо большое litrovith,значит UPX и ASProtect похожи получается а я всё это время думал что это UPX 1.90 покрайней мере это говорил PEID, сейчас поищю туторы по ASProtect и всё равно распакую её.
Обмануть PEID не проблема. Я определил что ето ASProtect при помощи плагина к PEID "Advanced Scan", и еще одна программа ето подтвердила. Полагаю что без SoftICE тебе не обойтись.
Как? Обьясни свой порядок действий пожалуйста? Может я приглючиваю или комп, ида её не видит а OllyDbg какую то фигню выдаёт и тормозит страшно когда трассируеш по F7! В любом случае не понятно странное поведение!
Почему у меня плугин PEID "Advanced Scan" тоже показал upx 1.24 \ 1.90? а про ASProtect не одна прога даже не у помянает. У меня сейчас точно крыша поедет с такой библиотекой и вобще что такого секретного тогда она в себе хранит что её так запаковали!
В общем: 1. Файл упакован UPX 2. Во внутренней структре UPX выставлена версия FF вместо 0D Чтобы распаковать: 1. После сигнатуры UPX! выставить 0D вместо FF 2. Распаковать файл с помощью UPX 3.0 Вот собсна и всё.
Ну вот те раз в конец запутался и что теперь делать он что мутирует что ли и как эту чуш распаковывать автоматические распаковщики виснут а olli глючит!
RSergey0311 хмм... снова стандартная ситуация. отвечаешь на вопрос - а человеку даже лень сделать два элементарных действия - изменить 1 (!!!) байт и распаковать файл командой upx -d DsResRU.dll Сергей, не поленись, открой файл DsResRU.dll в hex-редакторе, найди сигнатуру 'UPX!' и после неё вбей 0D вместо FF. Это элементарно! litrovith вместо того, чтобы делать скриншот и нести бред про ASProtect, проделал бы те же самые два элементарных действия: изменил 1 байт и распаковал файл стандарным upx -d
Сразу обьяснил бы что ты это делаеш в хекс редакторе а я то пытался плагином Uncover UPX для PE Tools хотя и в статье сказано что лучше это делать с помощью плагина, теперь попытаюсь с помощью хекса,просто в башке мяша из разных мыслей и сам не знаеш за что взятся!