Сейчас на форуме: morgot, sashalogout, -Sanchez- (+3 невидимых)

 eXeL@B —› Софт, инструменты —› CmpDisasm - Утилита для сравнения PE файлов в дизассемблированном виде
<< 1 ... 9 . 10 . 11 . 12 . 13 . >>
Посл.ответ Сообщение

Ранг: 138.7 (ветеран), 135thx
Активность: 0.110
Статус: Участник

Создано: 30 января 2009 16:33 · Поправил: crc1
· Личное сообщение · #1

В HEX виде много разных утилей для сравнения файлов. В дизассемблированном не встречал. Наваял свою.
Баг-репорты приветствуются
******************************************
Выравнивания на длину инструкции НЕ БУДЕТ
******************************************
History:
* 30 января 2009 г. v 0.1
* Собственно первый глючный вариант

* 29 марта 2009 г. v 0.35
* Добавлен пункт меню "Copy address to clipboard" в контекстном меню
* Добавлена примочка "stay on top", запоминается в реестре.
* Окно проги разворачивается на весь экран
* Добавлена цветовая схема, цвет запоминается в реестре
* Открывает занятые файлы + возможность работать с этими файлами в других приложениях
* Добавлено отображение адреса VA, либо Offset. Менять можно через меню, либо щелкнув по шапке столбца адреса
* Добавлена информация о секциях, различия выделяются цветом

* 16 октября 2009 г. v 0.5
* Добавлены HEX дампы файлов
* Добавлена возможность сравнивать диапазоны файлов

* 20 января 2010 г. v 0.6
* Поставил ScintillaGadget для вывода HEX дампов
* Исправил некоторые баги
* Добавил выбор двух последних файлов

* 3 февраля 2010 г. v 0.65
* Добавил выбор двух последних файлов, после драг-дропа
* Убирал дублирующиеся записи в логе

* 5 марта 2011 г. v. 0.7
* Заменил двиг на beaengine x86-64 Можно сравнивать 64 битные файлы
* Исправил крешь при запуске на win7

* 6 апреля 2011 г. v. 0.71
* Изменил фейс главного окна
* Сделал выделение цветом различий в File Info в главном окне
* Добавил пункт меню Исключить PE Header из анализа
* Добавил пункт меню "Save differences as"

* 16 октября 2011 v. 0.75
* Добавил просмотр заголовков файлов
* Автоматическое переключение disasm\hex вкладок, в зависимости от код\данные
* Исправил обнаруженные баги

*30 августа 2012 v. 0.76
* Пофиксил баги

*17 декабря 2012 v. 0.77
* Пофиксил баги
* Проверил на win xp sp3, win 7 x32/x64 win 8 x64

*4 апреля 2013 v 0.79
*Изменил интерфейс (кнопки переместил в тулбар)
*По дефолту, заголовок выключен из сканирования
*Исправил баги которые были отправлены в ПМ и которые нашел сам
*Исправил грамматическую ашыпку
--> Link <--

* 13 апреля 2013 v 0.81
* Исправил ошибку при перетаскивании нескольких файлов драг-дропом и некоторые другие
* Добавил сравнение файлов вперед и назад
--> Link <--

* 8 декабря 2013 v 0.83
* Убрал ошибки
* Добавил импорт\экспорт
--> Link <--

* 25 января 2014 v. 0.84
* Добавил командную строку ; использовать: CmpDisasm.exe file1 file2

48de_25.01.2014_EXELAB.rU.tgz - CmpDisasm.rar



Ранг: 138.7 (ветеран), 135thx
Активность: 0.110
Статус: Участник

Создано: 16 декабря 2012 18:22
· Личное сообщение · #2

reversecode
Для этой утилитки, еще делать выравнивание инструкций o_O
Пусть будет как есть (оно того не стоит).
Протестировал на win xp sp3, win 7 x32/64, win 8 x64. У меня все работает
Кидайте в личку файлы где не работает\падает (токо чтоб отличий много не было)



Ранг: 138.7 (ветеран), 135thx
Активность: 0.110
Статус: Участник

Создано: 16 декабря 2012 19:17
· Личное сообщение · #3

reversecode пишет:
eversecode просил сделать диф на границу выровненой инструкции по дизасму длин

Думаю не стоит оно того

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

Ранг: 138.7 (ветеран), 135thx
Активность: 0.110
Статус: Участник

Создано: 07 февраля 2013 18:18
· Личное сообщение · #4

Кароче, парни я поставил себе (купил маму M6A97 CPU AMD FX-8320+64 + ОЗУ 16 гигов) сверху поставил win 7 х64 и всеработает

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

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

Создано: 20 февраля 2013 06:28
· Личное сообщение · #5

валится, при нажатии на любую кнопку...:*



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

Создано: 20 февраля 2013 10:22
· Личное сообщение · #6

crash_ пишет:
валится, при нажатии на любую кнопку...

тоже было пару раз такое на v.0.75 а v.0.7 нормально пашет



Ранг: 138.7 (ветеран), 135thx
Активность: 0.110
Статус: Участник

Создано: 04 апреля 2013 19:30 · Поправил: crc1
· Личное сообщение · #7

Собственно поправил немного
*4 апреля 2013 v 0.79
*Изменил интерфейс (кнопки переместил в тулбар)
*По дефолту, заголовок выключен из сканирования
*Исправил баги которые были отправлены в ПМ и которые нашел сам
http://rghost.ru/45041419

| Сообщение посчитали полезным: DimitarSerg, verdizela, Kindly, sendersu, linhanshi, KingSise, Gideon Vi, t0ShA, deepred


Ранг: 150.3 (ветеран), 175thx
Активность: 0.160.07
Статус: Участник

Создано: 04 апреля 2013 22:53 · Поправил: -=AkaBOSS=-
· Личное сообщение · #8

ошибка интерфейса: File Info > Entry Poit

плюс тот же баг: в лог старшая цифра адреса не пишется

673f_04.04.2013_EXELAB.rU.tgz - demo.7z

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

Ранг: 138.7 (ветеран), 135thx
Активность: 0.110
Статус: Участник

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

-=AkaBOSS=-
Зажми файлы раром и положи на rghost.ru
Че-то у меня тут





Ранг: 469.0 (мудрец), 100thx
Активность: 0.250
Статус: Участник
[www.AHTeam.org]

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

crc1 пишет:
Зажми файлы раром и положи на rghost.ru

http://rghost.net/45053822

-----
-=истина где-то рядом=-




Ранг: 138.7 (ветеран), 135thx
Активность: 0.110
Статус: Участник

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

KingSise спасибо
-=AkaBOSS=- пишет:
ошибка интерфейса: File Info > Entry Poit

Неправда ваша
Image Base(12345000) + Entry Point(1000) = 12346000
Что мы и наблюдаем
С логом бум разбираться




Ранг: 527.7 (!), 381thx
Активность: 0.160.09
Статус: Участник
Победитель турнира 2010

Создано: 05 апреля 2013 11:46
· Личное сообщение · #12

crc1 пишет:
Неправда ваша


Имелось в виду не значение, а "Entry Poit"

-----
127.0.0.1, sweet 127.0.0.1




Ранг: 138.7 (ветеран), 135thx
Активность: 0.110
Статус: Участник

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

упс

-=AkaBOSS=-
Ошибочку и лог-файл поправил
http://rghost.ru/45056833

| Сообщение посчитали полезным: -=AkaBOSS=-, stas_02

Ранг: 138.7 (ветеран), 135thx
Активность: 0.110
Статус: Участник

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

Еще одно обновление 0.81
Добавил я все таки сканирование файлов вперед-назад
ну и баги поправил, спасибо -=AkaBOSS=-
http://rghost.ru/45255648

| Сообщение посчитали полезным: deepred, DimitarSerg, -=AkaBOSS=-, zNob, Dazz


Ранг: 631.1 (!), 62thx
Активность: 0.370.01
Статус: Участник
Автор VB Decompiler

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

crc1
На Windows 8 x64 падает на том же файле в том же месте что писал тебе год назад.

-----
Никогда не делай то, что возможно. Стремись сделать то что невозможно впринципе!




Ранг: 138.7 (ветеран), 135thx
Активность: 0.110
Статус: Участник

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

GPcH
Хорошо, поставлю на виртуалку 8 x64 и внимательно посмотрю/потестю




Ранг: 275.9 (наставник), 340thx
Активность: 0.22=0.22
Статус: Участник
RBC

Создано: 13 апреля 2013 18:07 · Поправил: Kindly
· Личное сообщение · #17

crc1, добавь плиз возможность копирования байтов с hex-дампа без захвата адресов и ASCII дампа (только байты), и без "черточек" (опционально хотя бы).
Ну и:
mov al,1
retn
если сравнивается с началом оригинальной функи "кривит" в дизасме аж на 4 инструкции


reversecode пишет:
он этого делать не будет

ясно

-----
Array[Login..Logout] of Life





Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

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

Kindly пишет:
если сравнивается с началом оригинальной функи "кривит" аж на 4 инструкции

это выравниение на границу команд, уже говорили об этом, он этого делать не будет



Ранг: 512.7 (!), 360thx
Активность: 0.270.03
Статус: Модератор

Создано: 17 июля 2013 23:55
· Личное сообщение · #19

win7x64 0.81 версия падает (5 раз кнопку Next)
что интересно, дельта в секции ресурсов (шот1)


1bea_17.07.2013_EXELAB.rU.tgz - cmp-081-crashpics.zip




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 02 августа 2013 18:46 · Поправил: reversecode
· Личное сообщение · #20

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

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



Ранг: 138.7 (ветеран), 135thx
Активность: 0.110
Статус: Участник

Создано: 07 сентября 2013 22:08 · Поправил: crc1
· Личное сообщение · #21

sendersu reversecode
Извините друзья, но абсолютно (катострофически) нету времени. Как появится, поправлю все ашипки



Ранг: 138.7 (ветеран), 135thx
Активность: 0.110
Статус: Участник

Создано: 08 декабря 2013 08:27
· Личное сообщение · #22

Какие ошибки осилил - поправил
Теперь можно посмотреть импорт\экспорт

| Сообщение посчитали полезным: nick8606, sendersu, SReg, zNob, icerix, Holtek, Jupiter, igorca


Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 13 декабря 2013 21:43
· Личное сообщение · #23

crc1
Спасибо за обновление.
Баг в обработке импорта. Проверь на файлах, у которых WSOCK32.dll в импорте.

7080_13.12.2013_EXELAB.rU.tgz - CmpDisasm_import_bug.png

-----
EnJoy!




Ранг: 138.7 (ветеран), 135thx
Активность: 0.110
Статус: Участник

Создано: 13 декабря 2013 23:31 · Поправил: crc1
· Личное сообщение · #24

Jupiter пишет:
Спасибо за обновление.Баг в обработке импорта. Проверь на файлах, у которых WSOCK32.dll в импорте.

Спасибо за баг реп. Этот баг возникал на x64 файлах, у которых импорт из модулей идет по ординалу. Недочет был в разрядности DWORD - QWORD. Еще не привык к х64
Поправил.
P.S. Разделом "Скачать" имхо Боров занимается. Пора бы версию подновить

05e0_13.12.2013_EXELAB.rU.tgz - CmpDisasm.rar




Ранг: 605.2 (!), 341thx
Активность: 0.470.25
Статус: Модератор
Research & Development

Создано: 14 декабря 2013 04:35
· Личное сообщение · #25

crc1
С импортом пофиксил багу, спасибо.
Но вот при открытии вкладки Export, показывает почему-то только для 1-го (левого) файла.

-----
EnJoy!




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

Создано: 14 декабря 2013 07:16 · Поправил: dosprog
· Личное сообщение · #26

crc1,
это не багрепорт как таковой, а просто пожелания/предложения:

1)
хорошо бы принимать имена сравниваемых файлов и из командной строки (если они там заданы).

2)
Также хорошо бы в режимах Asm,Hex,Imp,Exp при нажатии на Ctrl+<,Ctrl+> выполнять "сравнение со сдвижкой" второго файла на 10h байт, а по Ctrl+ArrowUP,Ctrl+ArrowDown - то же самое со сдвижкой на 1 байт (в HEХ моде) или на 10\1 инструкцию (в дизасм.моде). Т.е. смещение и тут же снова синхронизация уже с учётом этой сдвижки.
(Это к тому, о чём писал reversecode:
... сравнить два файла которые по разному скомпилены, вообще нельзя.. здесь наверное лучше подходит pediff, который и хеш мачинг делает и ищет функции даже если они смещены.
Да и раньше другие).
Сейчас - прекращение сравнения, если программа определила, что "это совсем разные файлы", а там весь код-то сдвинут на 3 байта... Нужно бы не прерывать сравнение, а дать юзеру возможность "подвигать" второй файл относительно первого.
Понятное дело, такая опция серьёзно все усложняет... Хотя...

3)
В опцию "Save differences in file" можно бы добавить "Сохранение в формате .CRK". (Хотя это можно делать и другими программами).
А в этом сохранении CRK - ещё опция "Сохранять с виртуальными адресами" - это было бы полезно.
Ну, например:

Сохранённый файл - обычный .CRK:
- - - - - - - - - - - - - - - - - - - ->8
SuperPuper v.223.002b

Make fully damaged file:
sppr.exe
00000001 4D FF
00000002 5A FF
0000074C FC 90
- - - - - - - - - - - - - - - - - - - ->8

Сохранённый файл - то же самое, но с виртуальными адресами:
- - - - - - - - - - - - - - - - - - - ->8
SuperPuper v.223.002b

Make fully damaged file:
sppr.exe
00000001 4D FF
00000002 5A FF
.040134C FC 90
- - - - - - - - - - - - - - - - - - - ->8

P.S.- если при этом ещё учитывать сказанное в 2) - начинается вообще что-то похожее на тёмный лес...


4)
А вот тут, похоже, небольшое упущение: в режиме сравнения "PE Header" отсутствует синхронизация прокрутки, которая есть в других режимах.

-- ADD --
К следующему посту:
crc1,
понятно.
В общем-то, всё вполне юзабельно и так. Просто смотря для чего.
В большинстве случаев приходится сравнивать просто два текста листингов.

-- ADD2 --
К пункту 3)
Опцию "Save differences in file" можно было бы дополнить возможностью сохранять эти данные в формате скрипта .RPP для R!SC's Process Patcher'a.
Эти скрипты можно делать и вручную, но удобно было бы автоматизировать.
Если бы была возможность задавать аргументы в командной строке, тогда процесс генерации лоадера можно было бы выполнять вообще автоматически, с помощью .BAT-файла с вызовом CMPDISASM, а следом RPP.
Ну это так, просто пожелания. Нет - так нет. Время, которого нет, это деньги, которых тоже почти нет...



Ранг: 138.7 (ветеран), 135thx
Активность: 0.110
Статус: Участник

Создано: 14 декабря 2013 21:49
· Личное сообщение · #27

Jupiter пишет:
Но вот при открытии вкладки Export, показывает почему-то только для 1-го (левого) файла.

У меня обе показывает, при условии что открыты два файла
Отпишите у кого по другому
dosprog
1. А она нужна ком. строка? Если еще пара, тройка человек отпишется, сделаю ком. строку.
2. По пункту № 2, (тут каждый может крутить вертеть как бы все это было здорово ежели да кабы)
Еще раз для непонятливых оъясняю - это утилита (просто утилита, а не програмный коплекс) для сравнения PE файлов в дизассемблированном виде. Не буду я заморачиваться со сдвигами
dosprog пишет:
Сейчас - прекращение сравнения, если программа определила, что "это совсем разные файлы", а там весь код-то сдвинут на 3 байта... Нужно бы не прерывать сравнение, а дать юзеру возможность "подвигать" второй файл относительно первого.

Кому интересно - пишите сами. Идея проста как три копейки берете два файла и сравниваите их побайтово. Как нашли отличие, выводите на экран используя любой дисасм движок ну и паралельно внедряя все плюшки кому как хочется
3. Пунк №3 не понял
dosprog пишет:
А в этом сохранении CRK - ещё опция "Сохранять с виртуальными адресами" - это было бы полезно.Ну, например:

А сейчас разве не так. Или нужно сохранение с офсетами?
4. Смотри п.1 Если надо сделаю




Ранг: 1053.6 (!!!!), 1078thx
Активность: 1.060.81
Статус: Участник

Создано: 14 декабря 2013 22:45
· Личное сообщение · #28

crc1 пишет:
Кому интересно - пишите сами. Идея проста как три копейки берете два файла и сравниваите их побайтово. Как нашли отличие, выводите на экран используя любой дисасм движок ну и паралельно внедряя все плюшки кому как хочется

не все там так просто
нужно внедрять --> Link <--
и иметь стоп поинты окончания анализа
т.е. знать чем функции заканчиваются
а они не всегда заканчиваются retn
может быть оптимизация при которой retn будет внутри, а самый крайний будет jmp ведущий внутрь функци

ну итд




Ранг: 631.1 (!), 62thx
Активность: 0.370.01
Статус: Участник
Автор VB Decompiler

Создано: 15 декабря 2013 16:25
· Личное сообщение · #29

Эхх, чуда не случилось. Как оно падало в Win 8 x64, так и падает в Win 8.1 x64 при нажатии кнопки сравнения.

-----
Никогда не делай то, что возможно. Стремись сделать то что невозможно впринципе!




Ранг: 138.7 (ветеран), 135thx
Активность: 0.110
Статус: Участник

Создано: 15 декабря 2013 17:35
· Личное сообщение · #30

reversecode пишет:
не все там так просто

Ну а я про что.
Четыре года назад меня заинтересовал PE формат, я начал его постигать и наваял данную утилиту.
Дальше копать мне стало не интересно и как говорит тов. Drop, шекелей мне с нее не капает.
То что хотите вы, с PE форматом рядом не стояло (вернее стояло, но на ранних стадиях)
GPcH
Прошу прощения, так и не удосужился поставить Win 8 x64 на виртуалку
Скинь в ЛС проблемные файлы, в ближайшее время поставлю Win 8 x64 и попробую разобратся




Ранг: 631.1 (!), 62thx
Активность: 0.370.01
Статус: Участник
Автор VB Decompiler

Создано: 15 декабря 2013 19:04
· Личное сообщение · #31

crc1
У меня на разных файлах такое. Думаю проблема не в файлах а в какой то несовместимости с системой. И если таки найдешь на это время, на виртуалку сразу ставь 8.1 x64 (оригинальной восьмерки у меня уже нет чтобы проверить).

-----
Никогда не делай то, что возможно. Стремись сделать то что невозможно впринципе!



<< 1 ... 9 . 10 . 11 . 12 . 13 . >>
 eXeL@B —› Софт, инструменты —› CmpDisasm - Утилита для сравнения PE файлов в дизассемблированном виде
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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