Indy_, так посмотрите на заголовок темы. посмотрите в каком она разделе (не Vx) . Погуглите и узнаете, что пилить ничего не надо . И не надо находить строчку в блокноте. А нужно сделать трейс. Если мне нужно сделать трейс - у меня уже есть и драйвер написанный и много чего еще. Но для задачи - найти строчку в блокноте я не стану делать трассу вызовов ДЛЛ - просто перехвачу в отладчике обработчик ввода текста. Я думал вы внимательно темы читает, а вы оказывается все там же )
TermoSINteZ, > посмотрите в каком она разделе (не Vx) . Погуглите и узнаете, что пилить ничего не надо . И не надо находить строчку в блокноте. А нужно сделать трейс. Я не помню что бы упомянал виксы в данной теме. Вот вы говорите сделать трейс", но покажите как это сделать. > у меня уже есть и драйвер написанный и много чего еще. Но для задачи - найти строчку в блокноте я не стану делать трассу вызовов ДЛЛ - просто перехвачу в отладчике обработчик ввода текста Во первых получается что у вас есть какие то драйвера, но к ним есчо и интерфейс нужен. Не мне вам объяснять какие кривые такие интерфейсы. Но дело не в этом. Вы не решите ничего вашими драйверами(которых нет) быстрее и лучше чем я на данный момент(те у вас нет отработанных техник и инструментов). Могу с вами поспорить, конечно же вы это делать не будите, по очевидным причинам - кроме терминов у вас нет конкретной реализации. Покажите что я не прав. Я могу найти строку в апп не используя драйвера, но всё равно интересно как вы сделаете это использую км. --- Сообщение объединено, 6 фев 2019 --- TermoSINteZ, > просто перехвачу в отладчике обработчик ввода текста. Я вопрос с подвохом задал, ты же не думал что будет просто . Это распространённый вопрос по работе гуя. Вывод текста на контекст. На стороне юм собираются запросы в гуй. Затем при вызове любого теневого сервиса пакет обрабатывает ядро. При этом явного механизма нет - перехватывать нечего, нет апи или сервисов. Это пакетная обработка тенью. Параметры загружаются в локальное хранилище(TEB), при сервисной обрабтке ядром(до вызова соотвествующего сервиса) пакет обрабатывается. Поэтому ты выводимую строку не найдёшь патчем, тебе нужно отследить загрузку строки в хранилище(TEB), те выборку данных(DF).
TermoSINteZ, superakira, Друзья, ядро любой оси по сути своей и есмь визор, тч технология и того старше --- Сообщение объединено, 6 фев 2019 --- есть след. техники самозащиты кода.. 1. записываем все относительные смещения адресов вызова функций == просто так вставить свой call ужо не выйдет, пч он будет указывать на невалидное смещение. 2. делаем хэши для различных участков кода, то бишь легко будет сверить целостность искомого кода. 3. счётчики (самый лёгкий способ отлова дебаг моуда, хорош и против железного дебагера). 4. хот-патч == прога может восстанавливать себя к искомому виду на лету. ====== Indy_ и етЬ тока юм, а с дравером совсем туго
по сабжу а пин не пойдет на каждый колл/жмп вне модуля? или гипервизор UbIvItS пилят китайцы это для ллвм-обфа, но закрыли в коммерс
дельно вообще это(пин). к семплу 3 строчки добавил, запуск цмд, например. с аргументами не разбирался, но там довольно гибко всё. потому как помню юзали пин для валидации регистров на EP криптора и перед переходом на анпакнутый пейлоад. пс таких апей даж не видел --- Сообщение объединено, 27 фев 2019 --- ** наврал. вкуриваю, это статы сбор. кстати смотрю и smc детекты есть с колбаками --- Сообщение объединено, 27 фев 2019 --- иии вот шо нужно: C:\pin-3-7-msvc\source\tools\SimpleExamples\calltrace.cpp прям збс трейсит, только все треды в кучу. но и с тредами там тоже норм
А если серьезно, то хорошо, что подняли эту тему. Много, по-моему, чего можно в ней обсудить и многим она будет интересна. Нужно переодически ее поднимать, если у кого-то будут появляться новости по теме. sn0w, а вы PIN использовали в своем проекте (в смысле, что имеются исходники)? Если да, то интересны подробности. Вроде бы PIN можно к Visual Studio подключать в качестве отладчика (если я ничего не путаю). В ИДЕ еще его используют. Интересно где больше всего оправдано его применение? Или все зависит от задач и результата который хотят получить? PIN, по-моему, может быть одинаково полезен как при реверсинге чужих бинарников(exe), так и про использовании в своих проектах, в той же Visual Studio. Кто-нибудь кто в теме - может поделиться своими мыслями на это счет?
sty да, использовали, только разработкой той части занимался другой человек и всё у него, поэтому сейчас придётся запиливать самому.
Ну как допилите, с нами то, надеюсь, поделитесь своим мнением по поводу PIN? А то вдруг, в итоге, не понравится. Ведь сколько людей, столько и мнений.
Windbg x dllname!* Дальше скриптом или макрообработчиком превращаем каждую строчку вывода в bu dllname!procname ".echo procname; dd esp; k <-- это по желанию;g" и вбиваем обратно в виндбг и не нужно париться ни с пинами, ни с апимониторами