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

ВИДЕОКУРС ВЗЛОМ
выпущен 2 августа!


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

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

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

 eXeL@B —› Софт, инструменты —› diff_trace. Quick compare of two OllyDbg trace logs
Посл.ответ Сообщение

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

Создано: 10 марта 2013 13:12 · Поправил: ELF_7719116 New!
Цитата · Личное сообщение · #1

diff_trace v0.7 for OllyDbg - исправил с dump на trace во избежании путаницы!
SOURCES HERE!
Instantly find when you need to find the first difference in the addresses of the two trace-logs.
* Sync compare. Actually in synchronism with the beginning of the two logs are looking for differences in addresses.
* Async compare. We are looking for differences with the addresses of two arbitrary strings.
* Sync / async compare with exceptions. Specify the parts of the code (functions) that you want to skip the comparison (eg standard C++ atoi, strcmp, which cause false positives). Recursion is supported calls (deep).
* Log missed exceptions.
* Results can be written to a file.
* Support for long logs BIG size of ~ 500-750 MB (at this point - a specific size that is allocated dynamically VirtualAlloc)
* (0.73) Add Trace Viewer.

*** [RU] ***
Мгновенный поиск, когда нужно найти первое различие по адресам в двух трейслогах.
Предисловие:
надо было сравнить два лога трассировки OllyDbg и найти главный условный переход...ничего под руку не попалось... интернета не было...решил изобрести велосипед(как говорит ARHANGEL)...написал...нашел главный условный переход...удобно!...решил поделиться
Автор: ELF (т.е. я
Возможности:
* Синхронный поиск. Собственно синхронно с самого начала 2х логов ищем различия в адресах.
* Асинхронный трехфазный двигатель поиск. Ищем различия по адресам с двух произвольных строк.
* Синхронный/асинхронный с исключениями. Задаем участки кода(функции), которые нужно пропустить при сравнении(например стандартные С++ atoi, strcmp, которые вызывают ложные срабатывания). Поддерживается рекурсия вызовов(глубина).
* Журнал(лог) пропущенных исключений.
* Результаты можно писать в файл(а можно и не писать).
* поддержка длинных логов БОЛЬШОГО размера ~500-750 Мбайт (на данный момент - конкретный размер, выделяемый динамически VirtualAlloc)
* (0.73) Добавлен Trace Viewer(просмоторщик трейслогов) с подцветкой совпадающих адресов в двух listbox.
* (0.74) Добавлена возможность поиска по асм командам без учета адресов (asm string compare mode). см пост 27
(!)Граждане! Программа еще сырая, но работает! Если кому это нужно и кто-то хочет поучаствовать в разработке - я только ЗА! Исходники(сорцы, сырки) я также выкладываю в общий доступ (внизу прикреплены в одном архиве вместе с Release программой!) с единственным условием - если на основе моих кодов изобретете что покруче, не забудьте поделиться и прикрутить мой ник(чтоб активная общественность не забыла).

По крайней мере, основную разводную проверку на оригинальный диск в Sony DADC SecuROM нашел влет
Violence of SecuROM. More about here.

Последняя версия 0.74 [EN] в 28 посте.
The latest version 0.74 [EN] in 28 post.

| Сообщение посчитали полезным: hors, Gideon Vi, YDS, xDvKx, Alinator3500, gazlan, BAHEK, TLN, DenCoder



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

Создано: 10 марта 2013 14:17 New!
Цитата · Личное сообщение · #2

Может еще напишешь как этим пользоваться?


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

Создано: 10 марта 2013 16:18 New!
Цитата · Личное сообщение · #3

Извините, конечно, а на фото кто?

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

Создано: 10 марта 2013 17:20 · Поправил: ELF_7719116 New!
Цитата · Личное сообщение · #4

Nightshade пишет:
Может еще напишешь как этим пользоваться?

Сколотил обновленный ReadMe.pdf на скорую руку
ManHunter пишет:
на фото кто?

тутъ

{ Атач доступен только для участников форума } - diff_trace.pdf


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

Создано: 10 марта 2013 21:38 New!
Цитата · Личное сообщение · #5

То, что ты называешь дампами, на самом деле трейслоги.

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


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

Создано: 11 марта 2013 07:27 · Поправил: ELF_7719116 New!
Цитата · Личное сообщение · #6

Nightshade пишет:
То, что ты называешь дампами, на самом деле трейслоги.

поисправлял с dump НА trace. Trace logs.

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

Создано: 12 марта 2013 18:30 New!
Цитата · Личное сообщение · #7

Could you create English version?

Thanks

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

Создано: 12 марта 2013 19:33 New!
Цитата · Личное сообщение · #8

winndy пишет:
Could you create English version?

Yes of course! It will be done during the week.

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



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

Создано: 13 марта 2013 03:47 · Поправил: Gideon Vi New!
Цитата · Личное сообщение · #9

бгг, только что чуть было свой велосипед делать не начал.

Проверку в StarForce наверно хотел запатчить

А он ещё жив? Давненько уже не видел.

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

Создано: 13 марта 2013 07:33 · Поправил: ELF_7719116 New!
Цитата · Личное сообщение · #10

Gideon Vi пишет:
бгг, только что чуть было свой велосипед делать не начал.

Проверку в StarForce наверно хотел запатчить
Gideon Vi пишет:
А он ещё жив? Давненько уже не видел.

Я устрою праздник, если это говно загнется! Ибо как говорил PAKHAN, в статье про анпак старфорса, "А мне по душе SecuROM и SafeDisk". Вообще, судя по всему, старфорс уже загибается, т.к. учавствует в "освоении нанотехнологий". Потребности 54.5 млн.руб, ну ни хрена себе аппетит!

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

Создано: 17 марта 2013 19:48 · Поправил: ELF_7719116 New!
Цитата · Личное сообщение · #11

NEW VERSION - 0.72!

* NOW IN ENGLISH.
* Fix some errors.
* Optimization of the size of the allocated memory.

Planned to write a code module load for very large trace files (over 1 GB). Also sent a letter to developer Ollydbg asking you to enter a new format for saving trace files "only address" (for a more compact size of logs and avoid problems with large file sizes)

The OllyDbg author said that the best way to write a plugin: best of all, you create address log by yourself. OllyDbg adds new address to the log on every EXCEPTION_DEBUG_EVENT. On this event it also calls ODBG2_Pluginexception (), so you only need to declare this callback and gather data. The only caveat: one command may cause several events. If several consecutive events from the same thread have same EIP and ECX, you only need to keep the first in the sequence. Note that prun-> eip contains EIP from the previous event and prun-> ecx - value of ECX. (If you trace into the string command, like REP MOVSB, you will get may events with same EIP but different ECX))

{ Атач доступен только для участников форума } - diff_trace_EN_072.zip

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


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

Создано: 18 марта 2013 17:23 New!
Цитата · Личное сообщение · #12

ELF_771916

Thanks for your quick response.

BR

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


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

Создано: 14 апреля 2013 11:05 · Поправил: sivorog New!
Цитата · Личное сообщение · #13

ELF_7719116
прошу прощенья, а как так получается, что у меня ваша утилита сравнивает по одной строчке?
то есть, есть 2 лога. по ~200 Мб каждый. забил пути, светятся зеленые огоньки.
Загрузить. 6 зеленых огоньков (сверху). Жму Действие (синхронное сравнение, без исключений) - он пишет:
Прверено строк: 1. Еще раз жму на кнопку, Проверено строк: 2.
Просветите меня, неужто надо 2 миллиона раз на кнопку жать???
да, и не сохраняет он никакого ".ini" на диск.
работаю под Win XP SP3, x86
версия утилиты - 0.7 и 0.72, одинаково

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

Создано: 14 апреля 2013 20:13 · Поправил: ELF_7719116 New!
Цитата · Личное сообщение · #14

sivorog пишет:
то есть, есть 2 лога.

как три первые строчки в Ваших обоих трейс-логах начинаются ?
sivorog пишет:
да, и не сохраняет он никакого ".ini" на диск.

Вообще предварительно необходимо указать вручную или сгенерировать путь до файла и убедиться(пока вручную), что Ваши права в системе позволяют его создать. Если таковой не указан (в 0.72) должно окошко "Save As" выскакивать

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

Создано: 14 апреля 2013 20:53 · Поправил: sivorog New!
Цитата · Личное сообщение · #15

Address Thread Command Registers and comments
005DC801 Main MOV EBP,ESP EBP=0012FFC0
005DC803 Main ADD ESP,-10 FL=C, ESP=0012FFB0
005DC806 Main PUSH EBX ESP=0012FFAC
005DC807 Main MOV EAX,AngloKUR.005DC168 EAX=005DC168
005DC80C Main CALL AngloKUR.00C13D59 ESP=0012FFA8
00C13D59 Main JMP DWORD PTR DS:[1217504]
...
путь до файла я генерировал, и я являюсь админом. (единств. пользователь)

{ Атач доступен только для участников форума } - sample.txt

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

Создано: 14 апреля 2013 22:08 · Поправил: xDvKx New!
Цитата · Личное сообщение · #16

программа работает с логами от второй версии Ollydbg, в ней сначало слово Main идет а потом адрес
для работы с первой олькой нужно выносить main в начало строки

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

Создано: 15 апреля 2013 09:59 New!
Цитата · Личное сообщение · #17

xDvKx
б...ь! ладно, попробую со второй олькой...
хотя нет, можно же пройтись чем-то по файлу лога...
как сделаю, отпишусь. спасибо за комментарий.

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

Создано: 15 апреля 2013 12:43 · Поправил: xDvKx New!
Цитата · Личное сообщение · #18

я в notepad++ выделял столбец с зажатым ALT и переносил, но если файл большой то это нереально

neomant пишет:
Что-то пропустил, но такие манипуляции пишутся за 10 минут на коленке на чём угодно.

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


Ранг: 164.6 (ветеран)
Статус: Участник
Волшебник

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

xDvKx пишет:
я в notepad++ выделял столбец с зажатым ALT и переносил, но если файл большой то это нереально

Что-то пропустил, но такие манипуляции пишутся за 10 минут на коленке на чём угодно.

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

Создано: 15 апреля 2013 17:31 New!
Цитата · Личное сообщение · #20

xDvKx пишет:
программа работает с логами от второй версии Ollydbg, в ней сначало слово Main идет а потом адрес

Вот таких не стыковок я опасался. В идеале (как было уже выше сказано) надо писать свой плагин, чтобы сохранялись только адреса. Можно затачивать собственно сам алгоритм под все возможные варианты - не лучшее решение. Есть идея еще - конструктор скелета логов (эдакий профиль) сделать и по нему работать.

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

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

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

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

Создано: 15 апреля 2013 20:16 New!
Цитата · Личное сообщение · #22

xDvKx пишет:
ну разница же только в первом столбце, это или адресс или слово main.

мож сделать построчное определение - по \r\n ... ?! Хочу спросить еще по данному поводу - есть ли разница в производительности, когда процессор работает с DWORD и когда с WORD? (Некогда читал, что вопрос из разряда философских)


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

Создано: 15 апреля 2013 22:04 New!
Цитата · Личное сообщение · #23

ELF_7719116
"x86-32 - лучше избегать word'ов. фактически будет сгенерирована аналогичная инструкция для dword'а, но будет добавлен префикс 66 (или 67), который заставит процессор обработать инструкцию, как если бы она была на x86-16" (c) один умный чел

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


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

Создано: 16 апреля 2013 07:49 New!
Цитата · Личное сообщение · #24

ajax
Следуя данному утверждению, получается BYTE выгодней WORD пользоваться, т.к. префикс отсутствует?!


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

Создано: 16 апреля 2013 09:55 New!
Цитата · Личное сообщение · #25

ELF_7719116
типа да

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

Создано: 20 февраля 2014 20:12 New!
Цитата · Личное сообщение · #26

NEW VERSION - 0.73!
* Add Trace logs viewer. Сonvenient viewing of two lists in files. Automatic mark of coinciding addresses in logs.
Known errors: When double compare two logs, out result - wrong link number, difference with real +1. But all addresses - true!

Следующая версия инструмента для быстрого и удобного сравнения двух трейс логов большого размера, полученных от отладчика OllyDbg 2.x
В этой версии добавлен просмоторщик трейслогов с навигацией по строкам и подсветкой совпадающих адресов выполненного кода.
Известные ошибки: в функции Cdiff_traceDlg::OnGO() , выполняющей сравнение, выходной результат - номер строки неточный, различается с реальным на величину инкремента +1. Однако адреса правильные.

{ Атач доступен только для участников форума } - diff_trace_v073.zip

| Сообщение посчитали полезным: SReg, Gideon Vi


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

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

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

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

Создано: 8 апреля 2014 17:25 · Поправил: ELF_7719116 New!
Цитата · Личное сообщение · #28

nocser6 пишет:
А в этой программе можно сравнить не по адресам, а по командам?

теперь можно Но на будущее-не забываем о сорцах

New version - 0.74 (test)
*(Add 0.74)(test) Compare asm strings without adress scan.
! Main "Release\diff_trace.exe" now compiled with Intel C++ (...и новым линкером)

diff_trace.exe Original checksum = 0x0004C30C


{ Атач доступен только для участников форума } - diff_trace_v074_test.zip

| Сообщение посчитали полезным: Gideon Vi, nocser6, zNob, mak

 eXeL@B —› Софт, инструменты —› diff_trace. Quick compare of two OllyDbg trace logs

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

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