Сейчас на форуме: Kybyx (+2 невидимых) |
eXeL@B —› Оффтоп —› syser - а он еще нужен? |
<< . 1 . 2 . 3 . 4 . 5 . 6 . |
Посл.ответ | Сообщение |
|
Создано: 26 декабря 2016 00:08 · Личное сообщение · #1 есть мысль себе в портфолио добавить хоть что то, что можно показать на паблик из всего что сделано или делается или будет делаться, почти ничего на паблик показывать нельзя вспомнил про Syser,его можно, могу восстановить соурсы ядра дебагера, которое общее для Ring3 и Ring0 (кто помнит у Syser два дебагера, ring3 и ring0, знают все только ring0, про ring3 мало наверное кто помнит, он был бесплатен) ну и сам Ring3 часть как рабочий дебагер, можно и всю Ring0, но мне это не интересно ну и все конечно на гитхаб собственно вопрос, а дальше это кому то интересно? подхватить,развивать итд, гуи дебагер для ядра еще живы ? |
|
Создано: 07 июня 2017 14:29 · Личное сообщение · #2 имееться ввиду легального доступа в ring3 к msr без дров, через апи а парсить команды на бранчи и останавливаться на них, да, сисер умеет, можно чуть чуть улучить это но это будет давать просадок производительности при выполнении, поскольку будет спотыкаться на почти каждой интрукци и проверять не бранч ли, что бы остановиться |
|
Создано: 07 июня 2017 20:49 · Личное сообщение · #3 reversecode пишет: имееться ввиду легального доступа в ring3 к msr без дров, через апи легального официального ничего нет. драйвер от windbg через реквест вызывает KdSystemDebugControl которая во многом аналогична старой NtSystemDebugControl времен виндоус хп. Сервис поддерживает чтение/запись в память ядра, доступ к мср SysDbgReadMsr/SysDbgWriteMsr. Плюсы что драйвер подписан и есть х64 версия, минус KdSystemDebugControl требует чтобы винда была в дебаг бут. |
|
Создано: 08 июня 2017 00:01 · Поправил: difexacaw · Личное сообщение · #4 reversecode Нет легального доступа. Перезапись мср открывает путь в ядро, это была бы уязвимость. Тот механизм фикса определённого мср если и получится завести, то это дичайший изврат. > это будет давать просадок производительности при выполнении Нет, вы ошибаетесь. Из всех механизмов, которые юзают отладчики, самый тормозной это доставка исключений через механизм портов. Это столь медленный механизм, что абсолютно не пригоден для трассировки. Это и будет происходить при срабатывании ловушки, не имеет значения какой, на ветвлениях тоже. При прямом исполнении профайл ~10 раз медленее прямого исполнения, причём при перезагрузке контекста на каждой инструкции и без оптимизаций. Если же выполнять поблочно, то профайл будет фактически реалтайм. Этот механизм трассировки я использую в визоре. Добавлено спустя 37 минут Снял тайминг(цикл RtlComputeCrc32(32)) при пакетном исполнении под визором - 1.8%2.2 раза задержка, по сравнению с прямым исполнением - реалтайм. ----- vx |
|
Создано: 31 марта 2020 01:59 · Поправил: reversecode · Личное сообщение · #5 spinz пишет: Еще до первой команды хэндлера - push 0Eh - где-то происходит уменьшение указателя стека на 4. так и есть день потратил и так и этак эти команды на тестах гоняю, то туда лишний дворд то туда.... оказывается до всех трапов ставиться push original_handler push new_handle retn это динамический буфер и я его видел еще тогда но не вникал зачем он нужен, потому что визуально не было понятно как его цепляют только при детальном разборе обнаружилось Добавлено спустя 4 минуты Последовательности вида 0х0F/0х3F/??/??, которые по неведомым причинам дизассемблер IDA обзывает vpcext, используются для внутренних нужд в VirtualPC( в частности в BIOS). конечно в вирутал pc и спецификации на фунции которые обрабатывает вирутал pc точно нет китаезы молодцы, разреверсили вирутал пс и нашли последовательность которая отвечает за рефреш экрана я пореверсил пару деньков и нашел десятки этих функций причем на весь хардвар что емулирует вирутал пс там не только функции управления экраном Добавлено спустя 11 минут reversecode пишет: пытался решить С++ дилему... и что то застрял есть два класса, в одинаковой по имени и параметрами вирт функцией нужно унаследовать от этих двух классов третий класс и в нем переопределить обе одинаковые функции.... не выходит каменный цветок... только если через интерфейсы делать... плюнул, переименовал одну функу хотя элегантное решение хотелось бы найти reversecode пишет: в сисере без неймспесов обошлись.... может конечно имена функций у них разные но по функционалу они одинаковые хочется что то типа такого, но не компилится Code:
постарел дядька не надо было каждую функции отдельно выводить Code:
функция переопределится для обоих классов |
|
Создано: 16 апреля 2020 23:33 · Личное сообщение · #6 spinz пишет: Т.е. сисер зачем-то трапит инструкцию, вызвавшую PF# Непонятно зачем. это был трейсер, на манипуляции с битом P в страницах трассирующего процесса это было в единичном релизе сисера в последующих этот функционал почему то убрали а его остатки я принял как что то из дев версии которую еще не выпустили |
|
Создано: 18 апреля 2020 07:20 · Личное сообщение · #7 |
|
Создано: 18 апреля 2020 16:30 · Личное сообщение · #8 |
|
Создано: 18 апреля 2020 17:45 · Поправил: difexacaw · Личное сообщение · #9 |
|
Создано: 18 апреля 2020 19:02 · Личное сообщение · #10 |
|
Создано: 19 апреля 2020 00:01 · Поправил: difexacaw · Личное сообщение · #11 |
|
Создано: 22 апреля 2020 11:17 · Личное сообщение · #12 |
<< . 1 . 2 . 3 . 4 . 5 . 6 . |
eXeL@B —› Оффтоп —› syser - а он еще нужен? |