Сейчас на форуме: Rio, vsv1, site-pro (+7 невидимых)

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

Ранг: 419.0 (мудрец), 647thx
Активность: 0.460.51
Статус: Участник
"Тибериумный реверсинг"

Создано: 10 марта 2013 13:12 · Поправил: ELF_7719116
· Личное сообщение · #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


Ранг: 241.9 (наставник), 107thx
Активность: 0.140.01
Статус: Участник

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

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




Ранг: 104.9 (ветеран), 46thx
Активность: 0.040.02
Статус: Участник

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

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



Ранг: 419.0 (мудрец), 647thx
Активность: 0.460.51
Статус: Участник
"Тибериумный реверсинг"

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

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

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

тутъ

8b5a_11.03.2013_EXELAB.rU.tgz - diff_trace.pdf




Ранг: 241.9 (наставник), 107thx
Активность: 0.140.01
Статус: Участник

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

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

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

Ранг: 419.0 (мудрец), 647thx
Активность: 0.460.51
Статус: Участник
"Тибериумный реверсинг"

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

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

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



Ранг: 14.7 (новичок), 2thx
Активность: 0.010
Статус: Участник

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

Could you create English version?

Thanks



Ранг: 419.0 (мудрец), 647thx
Активность: 0.460.51
Статус: Участник
"Тибериумный реверсинг"

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

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

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

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


Ранг: 1131.7 (!!!!), 447thx
Активность: 0.670.2
Статус: Участник

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

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

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

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



Ранг: 419.0 (мудрец), 647thx
Активность: 0.460.51
Статус: Участник
"Тибериумный реверсинг"

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

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

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

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



Ранг: 419.0 (мудрец), 647thx
Активность: 0.460.51
Статус: Участник
"Тибериумный реверсинг"

Создано: 17 марта 2013 19:48 · Поправил: ELF_7719116
· Личное сообщение · #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))

8be4_17.03.2013_EXELAB.rU.tgz - diff_trace_EN_072.zip

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

Ранг: 14.7 (новичок), 2thx
Активность: 0.010
Статус: Участник

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

ELF_771916

Thanks for your quick response.

BR

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

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

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

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



Ранг: 419.0 (мудрец), 647thx
Активность: 0.460.51
Статус: Участник
"Тибериумный реверсинг"

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

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

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

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



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

Создано: 14 апреля 2013 20:53 · Поправил: sivorog
· Личное сообщение · #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]
...
путь до файла я генерировал, и я являюсь админом. (единств. пользователь)

b675_14.04.2013_EXELAB.rU.tgz - sample.txt



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

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

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



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

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

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



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

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

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

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

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




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

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

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

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

-----
Следуй за белым кроликом




Ранг: 419.0 (мудрец), 647thx
Активность: 0.460.51
Статус: Участник
"Тибериумный реверсинг"

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

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

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



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

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

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



Ранг: 419.0 (мудрец), 647thx
Активность: 0.460.51
Статус: Участник
"Тибериумный реверсинг"

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

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

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




Ранг: 337.6 (мудрец), 224thx
Активность: 0.210.1
Статус: Участник
born to be evil

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

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

-----
От многой мудрости много скорби, и умножающий знание умножает печаль


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

Ранг: 419.0 (мудрец), 647thx
Активность: 0.460.51
Статус: Участник
"Тибериумный реверсинг"

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

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




Ранг: 337.6 (мудрец), 224thx
Активность: 0.210.1
Статус: Участник
born to be evil

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

ELF_7719116
типа да

-----
От многой мудрости много скорби, и умножающий знание умножает печаль




Ранг: 419.0 (мудрец), 647thx
Активность: 0.460.51
Статус: Участник
"Тибериумный реверсинг"

Создано: 20 февраля 2014 20:12
· Личное сообщение · #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. Однако адреса правильные.

2932_20.02.2014_EXELAB.rU.tgz - diff_trace_v073.zip

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

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

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

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



Ранг: 419.0 (мудрец), 647thx
Активность: 0.460.51
Статус: Участник
"Тибериумный реверсинг"

Создано: 08 апреля 2014 17:25 · Поправил: ELF_7719116
· Личное сообщение · #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


9828_08.04.2014_EXELAB.rU.tgz - diff_trace_v074_test.zip

| Сообщение посчитали полезным: Gideon Vi, nocser6, zNob, mak
 eXeL@B —› Софт, инструменты —› diff_trace. Quick compare of two OllyDbg trace logs
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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