Сейчас на форуме: bartolomeo, vasilevradislav, rmn, Magister Yoda (+7 невидимых) |
![]() |
eXeL@B —› Программирование —› CONTEXT |
Посл.ответ | Сообщение |
|
Создано: 09 июля 2008 19:06 · Личное сообщение · #1 |
|
Создано: 09 июля 2008 19:11 · Личное сообщение · #2 SEH struct ; начало описания структуры
или я не понял вопроса) ----- invoke OpenFire ![]() |
|
Создано: 09 июля 2008 19:21 · Личное сообщение · #3 |
|
Создано: 09 июля 2008 19:26 · Личное сообщение · #4 Да наверно коряво обьяснил , но мне понятно о чем речь вот что то типо этого установка сех ; install SEH
а вот это мне надо [esi+CONTEXT.Eip]
доступ из вызванного сеха к переменным Dr 0-7, это можно сделать выставив значения смещений из сех , так как в сехе доступна эта структура для изменения. Какие смещения должны быть , плиз на примере =) mov [ebx.CONTEXT.Dr7],eax еще один пример
----- RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube ![]() |
|
Создано: 09 июля 2008 19:32 · Личное сообщение · #5 Из сеха есть доступ к контексту. Вот его структура, посчитай нужное смещение и готово. typedef struct _CONTEXT { DWORD ContextFlags; DWORD Dr0; DWORD Dr1; DWORD Dr2; DWORD Dr3; DWORD Dr6; DWORD Dr7; FLOATING_SAVE_AREA FloatSave; DWORD SegGs; DWORD SegFs; DWORD SegEs; DWORD SegDs; DWORD Edi; DWORD Esi; DWORD Ebx; DWORD Edx; DWORD Ecx; DWORD Eax; DWORD Ebp; DWORD Eip; DWORD SegCs; // MUST BE SANITIZED DWORD EFlags; // MUST BE SANITIZED DWORD Esp; DWORD SegSs; BYTE ExtendedRegisters[MAXIMUM_SUPPORTED_EXTENSION]; } ![]() |
|
Создано: 09 июля 2008 19:35 · Поправил: Hellspawn · Личное сообщение · #6 я же скинул ссылку ![]() EXCEPTION_POINTERS +0 Указатель на структуру: EXCEPTION_RECORD +4 Указатель на структуру: CONTEXT EXCEPTION_RECORD +0 ExceptionCode +4 ExceptionFlag +8 NestedExceptionRecord +0C ExceptionAddress +10 NumberParameters +14 AdditionalData CONTEXT +0 context flags DEBUG REGISTERS +4 debug register #0 +8 debug register #1 +C debug register #2 +10 debug register #3 +14 debug register #6 ----- [nice coder and reverser] ![]() |
|
Создано: 09 июля 2008 19:36 · Личное сообщение · #7 |
|
Создано: 09 июля 2008 19:44 · Поправил: Hellspawn · Личное сообщение · #8 Информация, передаваемая внутрипоточным обработчикам При вызове внутрипоточного обработчика, ему в качестве параметров передаются указатели на три структуры данных. Эти указатели располагаются в стеке следующим образом: ESP+4 Указатель на структуру: EXCEPTION_RECORD ESP+8 Указатель на принадлежащую обработчику структуру ERR. ESP+C Указатель на структуру: CONTEXT ESP+10 Param ![]() ----- [nice coder and reverser] ![]() |
|
Создано: 09 июля 2008 19:53 · Личное сообщение · #9 |
|
Создано: 09 июля 2008 19:56 · Поправил: Hellspawn · Личное сообщение · #10 |
|
Создано: 09 июля 2008 19:59 · Личное сообщение · #11 |
|
Создано: 10 июля 2008 12:14 · Личное сообщение · #12 |
|
Создано: 10 июля 2008 12:44 · Личное сообщение · #13 |
![]() |
eXeL@B —› Программирование —› CONTEXT |