Сейчас на форуме: 2nd, bedop66938, -Sanchez-, barsik (+6 невидимых)

 eXeL@B —› Крэки, обсуждения —› Не работает SEH в UPX-пакованом файле.
Посл.ответ Сообщение

Ранг: 251.3 (наставник), 81thx
Активность: 0.140.11
Статус: Участник

Создано: 11 июля 2008 16:04 · Поправил: cppasm
· Личное сообщение · #1

Привет.
Что имеем.
Имеем пакованный UPX-ом блокнот: http://www.perleandr.ho.com.ua/upload/files/vitaliy/seh.rar http://www.perleandr.ho.com.ua/upload/files/vitaliy/seh.rar
И в этой проге хотим всунуть свой SEH (именно в упакованой, поверх пакера).
Открываем в Olly и на EP пишем:

01015340 > E8 02000000 CALL seh.01015347
01015345 -EB FE JMP SHORT seh.01015345
01015347 64:67:FF36 0000 PUSH DWORD PTR FS:[0]
0101534D 64:67:8926 0000 MOV DWORD PTR FS:[0],ESP
01015353 0F0B UD2
01015355 90 NOP
01015356 90 NOP

По идее при выполнении прога должна зациклиться.
А она по какой-то причине просто завершается (не аварийно).
Подскажите что не так.
На чистой программе (не пакованной) всё работает, TLS нету...




Ранг: 462.8 (мудрец), 468thx
Активность: 0.280
Статус: Участник
Only One!

Создано: 11 июля 2008 17:07 · Поправил: DaRKSiDE
· Личное сообщение · #2

cppasm

Я так понял это у тебя типа ловушки?
У меня вообще на блокноте, даже не упакованном этот трик не катит... также завершается...
А вот на обычной проге со стандартной базой 400000 все работает...
Интересно...

У меня завершается с кодом С000001D

-----
aLL rIGHTS rEVERSED!




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

Создано: 11 июля 2008 17:32
· Личное сообщение · #3

Обнуляешь "Load Configuration Directory", и будет тебе счастье.



Ранг: 0.3 (гость)
Активность: 0=0
Статус: Участник

Создано: 11 июля 2008 17:52
· Личное сообщение · #4

Каким образом "Load Configuration Directory" влияет на SEH?




Ранг: 154.2 (ветеран), 66thx
Активность: 0.080
Статус: Участник
REVENGE Crew

Создано: 11 июля 2008 17:53 · Поправил: kioresk
· Личное сообщение · #5

За подробностями идем к майкрософту за спецификацией PE формата:
http://www.microsoft.com/whdc/system/platform/firmware/PECOFF.mspx http://www.microsoft.com/whdc/system/platform/firmware/PECOFF.mspx


Current versions of the Microsoft linker and Windows XP and later versions of Windows use a new version of this structure for 32-bit x86-based systems that include reserved SEH technology.

This provides a list of safe structured exception handlers that the operating system uses during exception dispatching. If the handler address resides in an image’s VA range and is marked as reserved SEH-aware (that is, IMAGE_DLLCHARACTERISTICS_NO_SEH is clear in the DllCharacteristics field of the optional header, as described earlier), then the handler must be in the list of known safe handlers for that image.

Otherwise, the operating system terminates the application.

This helps prevent the “x86 exception handler hijacking” exploit that has been used in the past to take control of the operating system.

В этом файле вообще много инфы полезной, кстати.



Ранг: 251.3 (наставник), 81thx
Активность: 0.140.11
Статус: Участник

Создано: 11 июля 2008 22:07
· Личное сообщение · #6

Спасибо, прояснилось.
DaRKSiDE пишет:
У меня вообще на блокноте, даже не упакованном этот трик не катит... также завершается...

Я просто на другой распакованной проге проверял - на блокноте не пробовал.


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


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