Русский / Russian English / Английский

Сейчас на форуме: Mishar_Hacker (+5 невидимых)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS ·

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

Ранг: 244.1 (наставник)
Статус: Участник

Создано: 11 июля 2008 16:04 · Поправил: cppasm New!
Цитата · Личное сообщение · #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 (мудрец)
Статус: Участник
Only One!

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

cppasm

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

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

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

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

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

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

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

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


Ранг: 154.2 (ветеран)
Статус: Участник
REVENGE Crew

Создано: 11 июля 2008 17:53 · Поправил: kioresk New!
Цитата · Личное сообщение · #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.

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

Ранг: 244.1 (наставник)
Статус: Участник

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

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

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

Видеокурс ВЗЛОМ