eXeLab
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС
выпущен 4 ноября!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

Русский / Russian English / Английский

Сейчас на форуме: _MBK_ (+2 невидимых)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS · SVN ·

 eXeL@B —› Софт, инструменты —› Tracer (by Yurichev)
Посл.ответ Сообщение

Ранг: 36.0 (посетитель)
Статус: Участник

Создано: 8 апреля 2019 08:26 New!
Цитата · Личное сообщение · #1

Довольно таки интересная вещь, вроде тут не обсуждалось. Может кому пригодится. Приведу описание от автора:

tracer (раннее generic tracer) это win32-отладчик командной строки для выполнения простых отладочных задач.
Главные возможности:

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

Более развернутое описание, сама программа и документация по ней на русском языке, по --> ссылке<--

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



Ранг: 316.3 (мудрец)
Статус: Участник

Создано: 8 апреля 2019 17:54 · Поправил: difexacaw New!
Цитата · Личное сообщение · #2

morgot

--> Link <--

Покажите как это работает на последнем семпле.

Ранг: 65.0 (постоянный)
Статус: Участник

Создано: 8 апреля 2019 19:27 New!
Цитата · Личное сообщение · #3

тулса DebugActiveProcess ergo anti debug eйноe валит

единственный прикол, пишет параметры фунок в комменты IDA в .idc

Ранг: 36.0 (посетитель)
Статус: Участник

Создано: 8 апреля 2019 23:17 New!
Цитата · Личное сообщение · #4

difexacaw
сейчас нет времени это все тестить, скачайте и попробуйте сами. Если он не трейсит, то это как бы вопрос не ко мне, а к автору.
С моими задачами он справляется, вполне неплохая вещь, чем сидеть в отладчике часами, проще запустить и посмотреть обращения к той или иной апи.


Ранг: 536.3 (!)
Статус: Участник
_Вечный_Студент_

Создано: 9 апреля 2019 04:18 New!
Цитата · Личное сообщение · #5

ну что вы, ребята, в самом деле: чуть что не так, набегаем толпой и ругаем.
Он что ли писал этот тул?
что не так, пишем автору, все вопросы к нему.
А морго выложил и спасибо, будем знать, что такая штука есть.

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


Ранг: 65.0 (постоянный)
Статус: Участник

Создано: 9 апреля 2019 15:36 New!
Цитата · Личное сообщение · #6

мы не ругаем, мы критикуем тулзу
для ее функционала нет места
xdbg трэйсит и прячется от антидебаг лучше
pin пишет idc comments

morgot example in xdbg:
Ctrl G - ApiName - F2 - Log Text: {x:[esp]}; Break Condition: 0; - F9 - ??? - Profit


Ранг: 316.3 (мудрец)
Статус: Участник

Создано: 9 апреля 2019 17:54 · Поправил: difexacaw New!
Цитата · Личное сообщение · #7

morgot

> скачайте и попробуйте сами.

А зачем мне это тестить, если я полностью механизмы знаю, в двух режимах ?

Выложив инструмент это вы должны показать на актуальных примерах как он себя ведёт.

А какой смысл взять какую то не рабочую сборку и выложить как что то важное; было бы понятно если бы вы каким то инструментом решили задачу и захотели поделиться. Но а это зачем ?


Ранг: 536.3 (!)
Статус: Участник
_Вечный_Студент_

Создано: 10 апреля 2019 00:10 New!
Цитата · Личное сообщение · #8

difexacaw пишет:
Выложив инструмент это вы должны показать на актуальных примерах как он себя ведёт.


С этим трудно спорить, может и так.
я ведь о чем: относиться друг к другу терпимо и с пониманием.

Ранг: 44.8 (посетитель)
Статус: Участник

Создано: 10 апреля 2019 00:51 · Поправил: SegFault New!
Цитата · Личное сообщение · #9

difexacaw
ты что совсем тупой? автор просто разметил объяву


Ранг: 227.3 (наставник)
Статус: Участник

Создано: 10 апреля 2019 02:01 New!
Цитата · Личное сообщение · #10

Если бы там было написано большими красными буквами "ULTIMATE TRACER" или "Решает Задачи, которые вы всем форумом не можете решить", это был бы повод не согласиться. А так - программа и программа, если кто не хочет - пусть не ест.

Ранг: 36.0 (посетитель)
Статус: Участник

Создано: 10 апреля 2019 02:04 New!
Цитата · Личное сообщение · #11

Инди, в первом посте есть хелп в формате пдф, там много примеров, как именно и где автор юзал свою программу. Откройте и почитайте, там есть есть - и как подменить аргументы функции, и код возврата, и обращение к ячейке памяти и много чего. Смысл это пересказывать?

"Актуальные примеры" у каждого свои. Разные специфические упаковщики/антиоткладчики тулза может и не брать, но я тут ничего не исправлю, и пишите автору / юзайте другие инструменты.

Ранг: -12.1 (нарушитель)
Статус: Участник

Создано: 10 апреля 2019 02:24 · Поправил: dma New!
Цитата · Личное сообщение · #12

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

Самое интересное, когда читал книжку Дениса Юричева, то как-то не обратил на него внимания, так как знания на тот момент были практически нулевые. Так что спасибо Марготу что напомнил про tracer v0.7.

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



Ранг: 316.3 (мудрец)
Статус: Участник

Создано: 30 апреля 2019 19:37 New!
Цитата · Личное сообщение · #13

hash87szf

> xdbg трэйсит и прячется от антидебаг лучше

Есть одна крайне важная при обычной(TF) трассировке фишка". Это обратные вызовы из гуя, тема старая --> Link <--

Я только недавно её вспомнил, так как возник косяк с такой обработкой(не TF). А суть вот в чём.

Поток в буфере выполняет системный теневой вызов, не суть важно как, пусть будет sysenter. Инструкция имеет размер два байта. В том же самом буфере исполняется поток инструкций, те сервисный вызов перетирается другим кодом. Но при этом при сервисном возврате из гуя ошибка не возникает, что странно, казалось бы должна. Причина в размере инструкции возврата - это либо такой же сервисный вызов(2b) или это прерывание(тоже 2b), если префиксы не использованы намеренно.

Далее я про трассировку и подумал. Аналогичным способом выполняется возврат из гуя при трейсе, только не на буфер, событие немного иное(останов), но не принципиально важно.

Сервисный вызов как и возврат нельзя эмулировать(смена мода), он должен быть сделан напрямую.

Получается вот что. TF переносится из сервисного вызова гуя в возврат из него. Тоесть вызван гуй с TF = 1 и возврат из него соотвественно с TF = 1 => трассировка далее. Но некоторые инструкции сбрасывают TF на одну инструкцию, нп POP SS/MOV SS(IA: 18.3.1.1). Это значит что такая инструкция при сервисном вызове гуя приведёт к выходу из под трассировки. По идеи это должно сработать на большинстве тулз, которые используют машинную трассировку.

Ранг: 65.0 (постоянный)
Статус: Участник

Создано: 30 апреля 2019 21:21 New!
Цитата · Личное сообщение · #14

Ну во первых большинство говнотулзов дохнут на rep stos... .. . xdbg ... .. .
А во вторых TF ведь на каждой инстракшн ставить надо, ты его убрал, визор :D его обратно поставил?

Windbg трэйсер callback'и патчит, точно помню в символах пробегало что то типа Nirvana::PatchExceptionDispatcher


Ранг: 316.3 (мудрец)
Статус: Участник

Создано: 30 апреля 2019 21:34 New!
Цитата · Личное сообщение · #15

hash87szf

Визоры не используют машинную трассировку.

> Windbg трэйсер callback'и патчит

Это ядерный отладчик, он отношения соответственно к юм особо не имеет.

Я думал ты внимательный и сразу увидишь подвох". Но увы к сожалению. Это не сработает.

Ранг: 65.0 (постоянный)
Статус: Участник

Создано: 30 апреля 2019 21:42 New!
Цитата · Личное сообщение · #16

мля обратно я тест провалил...

> Это ядерный отладчик, он отношения соответственно к юм особо не имеет.
Debugging Tools for Windows (WinDbg, KD, CDB, NTSD)
 eXeL@B —› Софт, инструменты —› Tracer (by Yurichev)

Оригинальный DVD-ROM: eXeL@B DVD !

Вы находитесь на форуме сайта EXELAB.RU
Проект ReactOS