Сейчас на форуме: -Sanchez-, Alf, Adler, Rio (+6 невидимых)

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


Ранг: 69.9 (постоянный), 82thx
Активность: 0.140.73
Статус: Участник

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

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

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

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

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

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


Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

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

morgot

--> Link <--

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

-----
vx




Ранг: 64.9 (постоянный), 47thx
Активность: 0.120.02
Статус: Участник

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

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

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




Ранг: 69.9 (постоянный), 82thx
Активность: 0.140.73
Статус: Участник

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

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




Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

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

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

-----
Give me a HANDLE and I will move the Earth.


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

Ранг: 64.9 (постоянный), 47thx
Активность: 0.120.02
Статус: Участник

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

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

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




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

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

morgot

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

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

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

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

-----
vx





Ранг: 622.6 (!), 521thx
Активность: 0.330.89
Статус: Участник
_Вечный_Студент_

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

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


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

-----
Give me a HANDLE and I will move the Earth.




Ранг: 44.8 (посетитель), 19thx
Активность: 0.040
Статус: Участник

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

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




Ранг: 271.2 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

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

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

-----
2 оттенка серого





Ранг: 69.9 (постоянный), 82thx
Активность: 0.140.73
Статус: Участник

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

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

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



Ранг: -12.6 (нарушитель), 11thx
Активность: 0.050.03
Статус: Участник

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

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

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

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


Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

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

hash87szf

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

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

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

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

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

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

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

-----
vx




Ранг: 64.9 (постоянный), 47thx
Активность: 0.120.02
Статус: Участник

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

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

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




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

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

hash87szf

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

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

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

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

-----
vx




Ранг: 64.9 (постоянный), 47thx
Активность: 0.120.02
Статус: Участник

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

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

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


 eXeL@B —› Софт, инструменты —› Tracer (by Yurichev)
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати