eXeL@B —› Основной форум —› Отладка программ, взводящих флаг tf |
Посл.ответ | Сообщение |
|
Создано: 02 ноября 2013 15:14 · Личное сообщение · #1 Исследую программу (в ollydbg). Там через push ... popfd взводится флаг tf. При переходе на следующую инструкцию выбрасывает куда-то внутрь ntdll. Хотя по хорошему должно выбрасывать на seh-обработчик. Поставил хардварный бряк на все сех обработчики(там 2 штуки их) но он почему то не срабатывает. В чём может быть дело? Вроде бы сама олька для отладки не юзает же tf - он в ней всё время 0. |
|
Создано: 02 ноября 2013 15:39 · Личное сообщение · #2 |
|
Создано: 02 ноября 2013 15:41 · Личное сообщение · #3 |
|
Создано: 02 ноября 2013 15:46 · Личное сообщение · #4 |
|
Создано: 02 ноября 2013 15:57 · Личное сообщение · #5 |
|
Создано: 02 ноября 2013 16:20 · Личное сообщение · #6 |
|
Создано: 02 ноября 2013 16:21 · Поправил: DenCoder · Личное сообщение · #7 dova пишет: Вроде бы сама олька для отладки не юзает же tf В большинстве случаев олька(все версии) сбрасывает tf, но если извне(другой программой) посмотреть контекст отлаживаемого процесса, то всё может оказаться не так, как вы представляли себе Но это только как вступление! Code:
В 2.00 beta и в 1.10 по F8 ход останавливается на pop eax, дальнейшее выполнение которой выдаёт TF. Следовательно, TF юзается. На новой 2.01 этот код не показывает флаг TF в eax по F8. При этом зависает hwbp на pushfd и ход продолжается до первого бряка. Вместо TF временные hwbp Но странно, ни в той, ни в той ольке не кидает в хэндлер, на всех поставил бряки dova, а покажи конкретный код, немного ранее push и до popfd включительно, там несколько различных приёмов. ----- IZ.RU |
|
Создано: 02 ноября 2013 16:53 · Личное сообщение · #8 Code:
|
|
Создано: 02 ноября 2013 17:06 · Личное сообщение · #9 |
|
Создано: 02 ноября 2013 17:15 · Поправил: dova · Личное сообщение · #10 Хм. Меня не кидает. Ставлю бряк на самый первый обработчик (тот что по адресу FS:[0]+4). Ставил и Hardware breakpoint и обычный брякпоинт через F2(проверял на ollydbg 2.00 beta) Вот файл, там чуть протрейсить и будет то место. 0f06_02.11.2013_EXELAB.rU.tgz - current.exe |
|
Создано: 03 ноября 2013 00:19 · Поправил: Dr0p · Личное сообщение · #11 |
|
Создано: 03 ноября 2013 00:32 · Личное сообщение · #12 Ссылку на второй мотор не подскажете, не могу его найти чего-то (на сайте вашем там не даёт качнуть)? В первой видимо действительно ничего интересного нет - как я понял там просто взводится флаг TF , при переходе на следующую инструкцию вызывается обработчик, счётчик инструкций увеличивается на 1, снова взводится флаг tf, исполняется следующая инструкция функции и тд... Не очень годно хотя бы потому, что обычные проги флаг tf не взводят. |
|
Создано: 03 ноября 2013 00:36 · Поправил: Dr0p · Личное сообщение · #13 dova http://www.woodmann.com/forum/showthread.php?14923-AV-VM-BYPASS-ENGINE Первая версия древняя, я уже и не помню что именно она делает. Вторая труъ. > Не очень годно хотя бы потому, что обычные проги флаг tf не взводят. Это не годно из за safeseh. Да и вообще зачем фолты нужны. > на сайте вашем там не даёт качнуть Не даёт даже если зарегаться.) | Сообщение посчитали полезным: dova |
|
Создано: 03 ноября 2013 00:39 · Поправил: dova · Личное сообщение · #14 |
eXeL@B —› Основной форум —› Отладка программ, взводящих флаг tf |