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

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

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


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

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

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

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

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

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

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



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

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

morgot

--> Link <--

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



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

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

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

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




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

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

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




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

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

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

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


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

Создано: 09 апреля 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




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

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

morgot

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

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

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

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




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

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

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


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



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

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

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




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

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

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




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

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

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

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



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

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

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

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

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



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

Создано: 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). Это значит что такая инструкция при сервисном вызове гуя приведёт к выходу из под трассировки. По идеи это должно сработать на большинстве тулз, которые используют машинную трассировку.



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

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

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

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




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

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

hash87szf

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

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

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

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



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

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

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

> Это ядерный отладчик, он отношения соответственно к юм особо не имеет.
Debugging Tools for Windows (WinDbg, KD, CDB, NTSD)


 eXeL@B —› Софт, инструменты —› Tracer (by Yurichev)

Видеокурс ВЗЛОМ