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

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


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

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

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

 eXeL@B —› Софт, инструменты —› Code coverage tools
Посл.ответ Сообщение

Ранг: 0.9 (гость)
Статус: Участник

Создано: 31 декабря 2014 23:09 · Поправил: __silence New!
Цитата · Личное сообщение · #1

Добрый день!

Помогите пожалуйста, кто знает, найти хорошую утилиту для определения покрытия кода при
выполнении программы. Не source level. те. что бы просто выдавала промежутки адресов в
которых инструкции реально выполнялись процессором.
Есть вообще такие?


Ранг: 381.0 (мудрец)
Статус: Участник
_Вечный_Студент_

Создано: 31 декабря 2014 23:30 · Поправил: plutos New!
Цитата · Личное сообщение · #2

В смысле нужна программа, определяющая протектор, которым накрыт софт?

Если "да", то вот тот же RDG Packer Detector.
Можно взять здесь:https://exelab.ru/f/index.php?action=vthread&forum=3&topic=13256
Вот тут: http://www.woodmann.com/collaborative/tools/index.php/Category:Packer_Identifiers
их целая куча.

Ранг: 366.5 (мудрец)
Статус: Участник
"Тибериумный реверсинг"

Создано: 31 декабря 2014 23:35 New!
Цитата · Личное сообщение · #3

Если несколько точнее, то речь идет о --> взломе через покрытие <--?? или более --> законное русло <--?
В любом случае, есть Intel Coverage Tool, например
__silence пишет:
выдавала промежутки адресов в
которых инструкции реально выполнялись процессором

отладчик OllyDbg умеет помечать адреса, которые выполнялись при трассировке заданного участка кода.

Ранг: 0.9 (гость)
Статус: Участник

Создано: 31 декабря 2014 23:39 New!
Цитата · Личное сообщение · #4

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

те. мне нужно вот это:
https://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D0%BA%D1%80%D1%8B%D1%82%D0%B8%D0%B5_%D0%BA%D0%BE%D0%B4%D0%B0

с поправкой на то, что у меня есть только исполняемый файл, и нет исходного кода, куда можно вставить тесты


Ранг: 381.0 (мудрец)
Статус: Участник
_Вечный_Студент_

Создано: 31 декабря 2014 23:51 · Поправил: plutos New!
Цитата · Личное сообщение · #5

По вашей сслылке ясно написано:
Покры́тие ко́да — мера, используемая при тестировании программного обеспечения.
Она показывает процент, насколько исходный код программы был протестирован.

А раз нет исходного кода, то либо OllyDbg либо IDA PRO в помощь.
+ breakpoints на эти самые "определенные действия пользователя".


Ранг: 988.8 (! ! !)
Статус: Участник

Создано: 31 декабря 2014 23:53 New!
Цитата · Личное сообщение · #6

__silence пишет:
просто мне надо знать какие участки ее кода отрабатываются при определенных действиях с ей пользователя

просто даже мухи не летают, озвучьте цель

Ранг: 0.9 (гость)
Статус: Участник

Создано: 1 января 2015 00:06 New!
Цитата · Личное сообщение · #7

Да, речь идет именно о взломе через покрытие, какая программа извините, сказать не могу.

Я посмотрел Intel Compiler Coverage Tool, но там говорится про компилятор и ключи к нему,
а у меня повторюсь, только исполняемый файл.
Каких то специализированных средств кроме ольги для таких целей походу нет?


Ранг: 988.8 (! ! !)
Статус: Участник

Создано: 1 января 2015 00:11 New!
Цитата · Личное сообщение · #8

в современном мире этот работать не будет, разве что на ооочень ооочень простых защитах

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



Ранг: 381.0 (мудрец)
Статус: Участник
_Вечный_Студент_

Создано: 1 января 2015 00:15 New!
Цитата · Личное сообщение · #9

__silence пишет:
Каких то специализированных средств кроме ольги для таких целей походу нет?


Вы саму статью "взлом через покрытие" крис касперски ака мыщъх читали?
Ссылку на нее вам дал ELF_7719116 выше.
Если "нет", то прочитайте.
Там в разделе "выбор инструментария" крис очень все доходчиво обьясняет.


Ранг: 646.0 (!)
Статус: Участник
ALIEN Hack Team

Создано: 1 января 2015 00:44 New!
Цитата · Личное сообщение · #10

IDA Pro же! Ещё и цветом выделит в листинге, и трассу создаст, и условий, как трейсить, полно.

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


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

Создано: 1 января 2015 03:05 · Поправил: dosprog New!
Цитата · Личное сообщение · #11

reversecode пишет:
в современном мире этот работать не будет, разве что на ооочень ооочень простых защитах


Разновидность подхода со сравнением двух трасс. То тоже вовсе не панацея.

[offtop]
Вспомнилась чуть ли не единственная такая тулза для DOS, года ~1995-го, название её не помню (автор её утверждал, что еднственная).
Работала сидя на прерывании Int1 и имела карту адресов запущенного ею процесса, в которой каждый байт памяти процесса был представлен одним битом карты (памяти жрала, соответственно, 1/8 от остатка до конца 640Кб оперативной).
Пытался её когда-то заюзать, толку не вышло, громоздко и неудобно. Обошёлся другими средствами.
[/offtop]



Ранг: 315.6 (мудрец)
Статус: Участник
born to be evil

Создано: 1 января 2015 09:46 New!
Цитата · Личное сообщение · #12

dosprog
Flow Analyzer. под винду что-то подобное видел, но не пытался юзать

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


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

Создано: 1 января 2015 15:45 · Поправил: dosprog New!
Цитата · Личное сообщение · #13

ajax пишет:
Flow Analyzer.

Точно.

Кстати,
[offlop]
ajax, завелась та штуковина. Правда, пока в конвертах.. Отложил её пока, там с импортами ещё возни
Спасибо за натырку.
[/offtop]

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

Создано: 1 января 2015 20:13 New!
Цитата · Личное сообщение · #14

dosprog Flow, я пмоню еще году этак в 98ом на хакерСД находил.. там она конечно простенькая была.. и работала ток на com файлах. принцип был простейший, ты в параметрах запуска даеш 2 адреса, начало и конец процедуры.. или участка кода. прога стартуя дочерний процес ставить свой перехватчик int 1 и записывает в файлик.. 64кб (макс обьем ком. файла) 1 чки, там где побывал IP. дальше этот файл, накладывается на дизасм иды, и имеем отфильтрованный код, который РЕАЛЬНО исполнялся. Для наших реаалий жизни, можно взять любую опенсорс (и не обязательно опенсорс) виртуальную машину, и вставить логироване в эмулятор процессорного модуля. для упрощения и уменьшения логов можно ловить только обработчики которые меняют линейность исполнения кода. jxx call ret (loot rep-опционально)

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

Создано: 1 января 2015 20:29 · Поправил: dosprog New!
Цитата · Личное сообщение · #15

VodoleY пишет:
Flow, я пмоню еще году этак в 98ом на хакерСД находил..


! Да, там её и видел. (Тот сидюк 1997 года выпуска. Чуть ранее датирована и та тулза).
Поскольку не попользовался ею (что-то меня сильно не устроило в ней), то детали помню смутно, больше принцип,
подумывал и себе такую штуку сделать, планировал детали реализации,
но потом прикинул, что игра не стОит свеч и решил не связываться ..

VodoleY пишет:
Для наших реаалий жизни, можно взять любую опенсорс (и не обязательно опенсорс) виртуальную машину, и вставить логироване в эмулятор процессорного модуля. для упрощения и уменьшения логов можно ловить только обработчики которые меняют линейность исполнения кода. jxx call ret (loot rep-опционально)

Может, и есть смысл, в WIN32 всё значительно проще,
хотя иногда пользовал просто сравнение трасс ODBG, большего удобства не захотелось

Меня печалит громоздкость таких вещей..
FLOW-то была примочка размером 959 байт



Статус: Пришелец

Создано: 1 января 2015 21:25 New!
Цитата #16

VodoleY пишет:
Для наших реаалий жизни, можно взять любую опенсорс (и не обязательно опенсорс) виртуальную машину, и вставить логироване в эмулятор


Уже все создано до нас.
Intel Pin, DynamoRIO... пишем tools и получаем профит.

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


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

Создано: 2 января 2015 10:19 · Поправил: VodoleY New!
Цитата · Личное сообщение · #17

dosprog пишет:
FLOW-то была примочка размером 959 байт

отджеж человек)) раскопал таки.. я тут познаниями блестнуть хотел и тут не дал


F_a_u_s_t пишет:
Уже все создано до нас.
Intel Pin, DynamoRIO... пишем tools и получаем профит.

возможно гдето не прав. этих тулз не видел, последнее что по этому поводу читал исследования Мышца. но считал что это все достаточно плотно прибито к процессору и не притендует на универсальность..

АДД.
http://www.dynamorio.org/
https://software.intel.com/en-us/articles/pintool-downloads
чтоб не искали.
http://dynamorio.org/docs/API_samples.html
(с)
The sample cbrtrace.c collects conditional branch execution traces and writes them into files.
The sample wrap.c demonstrates how to use the drwrap extension (see Function Wrapping and Replacing Extension).
Занятно.. надо будет попробовать.. если оно еще и работает.. так как и обещается.. то вообще отлично.. кстатить проэктить не так уж стар. 2 года от роду, и апдейты 2ух месечной давности всего


Статус: Пришелец

Создано: 2 января 2015 12:24 · Поправил: F_a_u_s_t New!
Цитата #18

VodoleY пишет: если оно еще и работает.. так как и обещается..

Оно вполне себе работает.
Проекты постоянно держатся в актуальном состоянии, релизы обычно совпадают с выходом нового компилятора.
В общем проекты живее всех живых, да и примеров написали на все случаи жизни.
Добавлю пару ссылок:
some-thoughts-about-code-coverage-measurement-with-pin
Taint-analysis-and-pattern-matching-with-Pin
 eXeL@B —› Софт, инструменты —› Code coverage tools

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

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