eXeL@B —› Основной форум —› Опрос: какие точки останова вы используете и как? |
<< . 1 . 2 . |
Посл.ответ | Сообщение |
|
Создано: 22 апреля 2012 04:58 · Личное сообщение · #1 Возник данный вопрос и хотелось бы спросить мнение у сообщества. Собственно варианты: 1. Аппаратные точки останова (hardware breakpoints). а) "не использую, палятся любым протектором" б) "если грамотно ставить и защищать DrX-регистры, то это хороший и мощный инструмент!" в) "хе-хе, я ARM-реверсер)))" 1.1. Для тех, кто выбрал "б". Нужна ли возможность context-specific (бряк только на один поток или на все сразу по выбору)? а) "я очень хочу использовать возможность context-specific бряков данного типа, мне интересно поймать нужное место в программе только на конкретном потоке" б) "возможность использовать на конкретном потоке считаю абсурдной, более того, важно чтобы в потоках, создаваемых после установки точки останова, она появилась и там" в) "в ольке все сделано как надо..." 2. Программные точки останова (software breakpoints/exception breakpoints) а) "использую, но очень не хватает возможности context-specific бряков данного типа, например, хочу иметь возможность поймать вызов GetWindowTextA в потоке окна инструментов отлаживаемой программы" б) "меня все устраивает, главное включить голову, а жалуются обычно не профессионалы" в) "бесит обнаружение бряков этого типа, мгновенно перейду на отладчик, где точки останова данного типа скрываются от программы в 3-ем кольце" 3. Точки останова на память (memory regions hook) а) "это чего такое вообще?" б) "реализовано криво, так что вообще не использую" в) "это очень нужная вещь, использую ольку хотя бы потому, что в ней есть этот тип точек останова" P.S. 1 июня будет "выкидыш", что это будет зависеть от результата проведения подобных опросов, моего времени и здоровья. Не буду говорить о том, на какой оно стадии. Также не хочется давать пустых обещаний. Но тем не менее: +поддержка x86 и x86_64 -нет PDK и не скоро будет, но OpenSource -user-mode only! sorry( -ELF-версия заморожена -GUI не готов, так что придется лепить на EDB, GDB или IDA (по совету разработчиков компании Parallels) -CLI (command line interface) заморожен, разработчик CLI ушел работать в Google +да, детка! эмулирующий! (опционально, только не обольщайтесь, вирусы на реальной машине этим дебажить не стоит - эмуляция только для ускорения, syscall'ы оно не эмулит) -анализатор пока сырой, ну да и черт с ним *глючить будет очень сурово, но пара месяцев баг-репортов со стороны сообщества и из этого что-то может получиться. | Сообщение посчитали полезным: ressa |
|
Создано: 04 мая 2012 23:41 · Поправил: ARCHANGEL · Личное сообщение · #2 int пишет: Я там не нашел Можешь рассказать, какая методика поиска? Та, конечно. У вас есть адрес базы ntoskrnl.exe, есть виртуальный адрес обработчика (чтение idt ядерным отладчиком, например), а далее всё просто : адрес - ImageBase = RVA, дальше ntoskrnl.exe грузим в IDA, там он, естественно, дизасмится с базой из заголовка. К этой базе плюсуем RVA и давим кнопочку G, вписываем значение, Enter и вот. На обработчики можно ставить бряки, главное пропускать первую интсрукцию и не ставить на _KiTrap03. pdb лучше не скачивать вручную с офф-сайта, а сделать это через windbg, т.к. вручную скачанные у меня почему-то половину символов не показывают, а через этот дебаггер качает и всё ок. Code:
Code:
----- Stuck to the plan, always think that we would stand up, never ran. |
<< . 1 . 2 . |
eXeL@B —› Основной форум —› Опрос: какие точки останова вы используете и как? |