Сейчас на форуме: UniSoft, laslo, bartolomeo (+5 невидимых)

 eXeL@B —› Программирование —› SEH +1
. 1 . 2 . >>
Посл.ответ Сообщение


Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 17 июля 2008 01:47
· Личное сообщение · #1

Вообщем трабла такая , у меня часто вызывается сех , это нужно програмно ! Когда выполняется первая АПИ функция , у меня прога падает , почему же ? ... потому что когда я попадаю на следующюю команду после АПИ то при исключении , прога попадает в нетот сех ! а следующий мой сех лежит чуть ниже, следующий после установленного не мной. Следовательно логика уже нарушина. Вопрос элементарный =) но я его не знаю. Нужно как то правильно обработать АПИ без добавления в стэк сех новой структуры. А лучше это чтобы выборочно как то было. Спасибо ...

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube




Ранг: 162.2 (ветеран)
Активность: 0.090
Статус: Участник

Создано: 17 июля 2008 10:12
· Личное сообщение · #2

mak
мысли свои вырази яснее, ничего не понятно Запретить апишке ставить свой сех выше твоего никак не получится.



Ранг: 40.0 (посетитель), 1thx
Активность: 0.030
Статус: Участник

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

Если винда XP или более поздняя то лучше VEH обработчик ставить (см. AddVectoredExceptionHandler в msdn).




Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 17 июля 2008 14:15 · Поправил: mak
· Личное сообщение · #4

asd понятно тем кто програмирует =)
dragon Я видел просто ранее такую реализацию. И точно знаю , что это возможно. Так что если не известно это другой вопрос.

код
тут определение стэка на нулевой и мой в начале проги.
.
.
.
push
push
push
push
call MessageBox
команда вызывающая исключение и попадающая не в мой сех

код

СЕх
xxx
xxx
xxx
xxx

СЕх

Стэк
указатель не на мой СЕХ ;вершина стэка на момент уже выполненой АПИ
указатель на мой СЕХ

Стэк

Но шас ту апи я гляну всеравно , но мне боле6 сех нужен

P.S. поправил

dragon Да в тему думаю ты всетаки прав. Просто там реализация где я смотрел была как то скрыта чтоли. Копаю далее.

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube





Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

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

=) а вот какое дело , оказывается если делать скажем поиск апи и потом месадж бокс вызывать Call eax , где в еах есть адрес апи , то почему то сех не устанавливается =) , тот чужой.

Может тогда в проге перерабатывать таблицу импотра в свою ??? хотя это наверно трудная реализация.

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube




Ранг: 162.2 (ветеран)
Активность: 0.090
Статус: Участник

Создано: 17 июля 2008 18:48
· Личное сообщение · #6

mak
Соверую поспать. Глюки обычно от этого. Апишка вообще по идее не может установить сех и не снять его, перед выходом. Т.к. этот сех будет при екзепшенах ловить непонятно чего из непонятно какого кода. Можешь ещё всякие перехватчики левые поискать.




Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 17 июля 2008 20:35
· Личное сообщение · #7

Да поспать это идея классная , как бы ты верно сказал , но оказывается что не так все просто =) , как не странно при вызове апи устанавливается сех новый , отрабатыввает апи и при возврате на след команду на вершине стэка , системный сех. Код простой там нет больше ничего что может так сделать.

Скажем, вы написали самый лучший в мире обработчик исключений. Когда происходит что-то плохое, ваш обработчик определяет причину, регистрирует необходимые детали, решает проблему мирового голода и за неделю отменяет назначенную встречу. Кроме того, вы помещаете ваш обработчик в WinMain, чтобы вся программа была охвачена. Теперь, в некотором месте вы вызываете внешний компонент, который никак не можете контролировать. Этот компонент также устанавливает обработчик. При первом же исключении, этот обработчик выходит из программы. Ваш обработчик никогда не получит шанса выполниться, потому что другой обработчик оказался первым в списке обработчиков. Короче говоря, прелести SEH ограничены тем фактом, что обработчики эффективны, пока кто-то глубже в цепи запросов не установил свой собственный обработчик.

www.wasm.ru/article.php?article=veh там все описано.

Есть программы которые работают Без ВЕХ и не ставят новый сех. Поэтому вопрос актуален ... как это сделать

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube





Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 17 июля 2008 20:48
· Личное сообщение · #8

можно попробовать вот так сделать


callx macro __xxx
extrn __xxx:proc
call __xxx
endm

тоесть этот кол будет в пределе моего кода. Переход всмысле ... но тогда надо импортлиб. Подключать , что тоже не очень удобно. Как можно этот jmp поставить рядом с колом ?

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube





Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 22 июля 2008 23:16
· Личное сообщение · #9

Млин там не все так просто , после АПИ выполненой падает !!! Гляньте плиз видео я снял специально =)
инфа по востановлению добавлена. Спасибо )

d5c6_22.07.2008_CRACKLAB.rU.tgz - xxx.rar

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube





Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 22 июля 2008 23:37
· Личное сообщение · #10

mak дык это и так понятно, что после того как ты ставишь свой сех и апи и компоненты ставят свои обработчики и при исключении сами всё обрабатывают, тебе исключение дойдет если они посчитают что это не их ошибка. Если хочешь перехватывать все исключения, то нужно либо ставить VEH либо хукать KiUserExceptionDispatcher либо отлаживать самого себя. Всё, других вариантов нет.

-----
Yann Tiersen best and do not fuck





Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 23 июля 2008 00:19
· Личное сообщение · #11

=) понимаю такое мнение ... но я видел прогу которая работала в обход всего этого. Я попробую привинтить тогда вех всетаки .. но вариант другой всетаки я надеюсь кто то посоветует.

Судите али нет я видел точно !!! без отладки без KiUserExceptionDispatcher и без веха ...

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube





Ранг: 126.7 (ветеран)
Активность: 0.140
Статус: Участник
#CCh

Создано: 23 июля 2008 09:27
· Личное сообщение · #12

Каждая функция должна сама контролировать свои ошибки. Если при выполнениее АПИ произошла ошибка чтения памяти, которой нету или еще что-то, то почему она должна отдавать это исключение вызывающей программе? Подсистема же не знает, как ты там обработаешь эти ошибки и срабтает хэндлер в нтдлл, который и покажет тебе "отправлять, не отправлять отчет".

-----
invoke OpenFire





Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 23 июля 2008 19:40
· Личное сообщение · #13

Ктонить сталкивался с таким что ЕХЕ работает только в оле но не при запуске ???? ... чистый файл мессагу вызывает и впереди сброс трасировочного флага ... и не работает.

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube





Ранг: 126.7 (ветеран)
Активность: 0.140
Статус: Участник
#CCh

Создано: 21 августа 2008 05:52
· Личное сообщение · #14

mak это потому что SEH у тебя не правильный. ОЛька обрабатывает его, а хэндлер - нет. Посмотри че у тебя сех возвращает - должен еденичку в EAX перед retn.

-----
invoke OpenFire





Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 21 августа 2008 12:43
· Личное сообщение · #15

=) да с запуском я уже разобрался.

Тема старая , товарищ один поднял ее но его сообщения тут не вижу.

Code:
  1. push 0;MB_OK
  2. push offset AppName
  3. push offset AppName
  4. push 0
  5. mov eax,pdwUsrApiStruct
  6. call eax


тут будет колл в месаджбокс , если же сделать напрямую прога падает сразу , если же через еах то отрабатывает апи. И при возврате на следующую команду , которая опять должна вызвать исключение , она выполняется нормально , не вызывая исключения вообще никакого.

Все регистры как во время пошагового исключения выполнения Месаджбокса такие же как после выполнения АПи кроме флага стэка и сеха. Решив поэкспериментировать я поставил ТРАПФЛАГ фручную , и прога сразу заработала до следующего вызова АПИ. Хотя в последующих действиях и в течении первого месаджбокса трап флаг был в 0. Я так понял после выполнения АПИ сбрасывается пошаговое выполнение.

Как этому противостоять ? Файл номер 1 , где такой трюк не проходит. И файл номер 2 где выполняется все как надо по данной технике.

f941_21.08.2008_CRACKLAB.rU.tgz - xxx.rar

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube





Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 03 октября 2008 05:29
· Личное сообщение · #16

=) Возвращаюсь к этой теме. У кого какие мнения ?

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube




Ранг: 47.7 (посетитель), 17thx
Активность: 0.090
Статус: Участник

Создано: 08 ноября 2011 16:20
· Личное сообщение · #17

mak
Не может быть пропущен ваш сех. Тут варианта три - либо его нет, либо вы пропустили фолт дальше, либо его обработал системный нижележащий сех. Выберите подходящий вариант.



Ранг: 617.3 (!), 677thx
Активность: 0.540
Статус: Участник

Создано: 08 ноября 2011 16:22
· Личное сообщение · #18

Некрофил

| Сообщение посчитали полезным: redlord


Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 08 ноября 2011 16:53
· Личное сообщение · #19

Хватит уже лазить по всему форуму, выискивая древние и никому не нужные топики. 1 раз может и не водолаз, но когда это такой лавиной, это явно лишнее.

| Сообщение посчитали полезным: redlord

Ранг: 47.7 (посетитель), 17thx
Активность: 0.090
Статус: Участник

Создано: 08 ноября 2011 16:54
· Личное сообщение · #20

Archer
Окей.



Ранг: 47.7 (посетитель), 17thx
Активность: 0.090
Статус: Участник

Создано: 08 ноября 2011 21:22
· Личное сообщение · #21

Archer
Зачем же вы мои посты то трёте. Старые - низя обсуждать. Когда в свежей теме написал что вы ответили некропост - трёте. Не годится такое




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 08 ноября 2011 21:34
· Личное сообщение · #22

Во-первых, тема, где писали пол года назад, не свежая. Во-вторых, толсто.
И оффтоп уже пора закончить.



Ранг: 47.7 (посетитель), 17thx
Активность: 0.090
Статус: Участник

Создано: 08 ноября 2011 21:47
· Личное сообщение · #23

Archer
Тоесть диктатура и арча бог ?




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 08 ноября 2011 22:53
· Личное сообщение · #24

Т.е. здравый смысл и модерация форума от ненужной информации.
Следующие посты не по теме буду стирать.



Ранг: 47.7 (посетитель), 17thx
Активность: 0.090
Статус: Участник

Создано: 08 ноября 2011 23:08
· Личное сообщение · #25

Archer
Я лишь хотел обсудить чтонибудь из раздела про коденг. Как это делаю на многих форумах. Но только тут я впервые увидел что вот это не актуально, то некро, а вот это не обсуждается.. вы так рискуете сделать второй аверлаб




Ранг: 681.5 (! !), 405thx
Активность: 0.420.21
Статус: Участник
ALIEN Hack Team

Создано: 08 ноября 2011 23:15
· Личное сообщение · #26

bowrouco
Шо за аверлаб?

-----
Stuck to the plan, always think that we would stand up, never ran.




Ранг: 47.7 (посетитель), 17thx
Активность: 0.090
Статус: Участник

Создано: 08 ноября 2011 23:18 · Поправил: bowrouco
· Личное сообщение · #27

ARCHANGEL
Васм же, тот который загнулся с уходом от туда всех людей. Остался хип и бегинерс. А началось всё с подобного как и тут отношения. На аспаках мир клином же не сошёлся.

| Сообщение посчитали полезным: HiEndsoft

Ранг: 237.0 (наставник), 20thx
Активность: 0.130
Статус: Участник
sysenter

Создано: 09 ноября 2011 00:06
· Личное сообщение · #28

bowrouco
+1

-----
продавец резиновых утёнков





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 09 ноября 2011 00:10
· Личное сообщение · #29

клерк у тебя уже есть собственный форум, вот и занимайся его развитием
обсуждай там что душе угодно
а вот то почему туда народ не охотно идёт и тебе там скучно, обдумай сам



Ранг: 47.7 (посетитель), 17thx
Активность: 0.090
Статус: Участник

Создано: 09 ноября 2011 00:45
· Личное сообщение · #30

reversecode
Ну он развивается, народу немного сложно туда попасть и мне не скучно. Какбэ мне иногда хочется обсудить чтото простое, а не только руткиты, морфы ядро етц. А вам всё не нравится.


. 1 . 2 . >>
 eXeL@B —› Программирование —› SEH +1
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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