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

 eXeL@B —› Софт, инструменты —› CmpDisasm - Утилита для сравнения PE файлов в дизассемблированном виде
. 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 ... 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



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

Создано: 30 января 2009 16:42
· Личное сообщение · #2

www.zynamics.com/page=bindiff
не оно?



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

Создано: 30 января 2009 16:45
· Личное сообщение · #3

SniperOK пишет:
не оно?

а х.з. может и оно, не видел. Сейчас посмотрю




Ранг: 312.0 (мудрец), 349thx
Активность: 0.460.65
Статус: Участник
Advisor

Создано: 30 января 2009 16:47
· Личное сообщение · #4

За...сь, давно чего-тотакого хотелось...
Раскрасить бы как-то это дело, шОб неоднообразно код смотрелсИ .....

-----
Чтобы юзер в нэте не делал,его всё равно жалко..




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

Создано: 30 января 2009 17:05
· Личное сообщение · #5

Bronco пишет:
Раскрасить бы как-то это дело

Это как



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

Создано: 30 января 2009 17:08
· Личное сообщение · #6

SniperOK пишет:
не оно?

хуясе
Single User License 900 € (1215 US$)




Ранг: 533.6 (!), 232thx
Активность: 0.450
Статус: Uploader
retired

Создано: 30 января 2009 17:10 · Поправил: borov
· Личное сообщение · #7

забавная вещичка, нужно сделать чтобы выдилялись измененое такой же длины как было в оригенали(как-то не понятно объяснил :s1
например в оригинале:
Code:
  1. 00495BF1   7525           JNE O495C1Ah


измененое:
Code:
  1. 00495BF1   90             NOP
  2. 00495BF2   90             NOP


и он выделяет только первую строку, а на самом деле измененые обе строки

Подумай над этим

crc1 пишет:
Bronco пишет:
Раскрасить бы как-то это дело
Это как

сделать подсветку синтаксиса

-----
Лучше быть одиноким, но свободным © $me





Ранг: 238.8 (наставник), 67thx
Активность: 0.20
Статус: Участник
CyberHunter

Создано: 30 января 2009 17:21
· Личное сообщение · #8

Скрол, имхо, должен двигаться сразу в обоих окнах! Т.е. если я двигаю вниз одно окно, то и во втором оно должно тоже передвигаться соответственно первому. То что различия должны выделятся - это факт!
Для примера глянь как сделано в HEXCMP.
P.S. Тулза полезная!

-----
Nulla aetas ad discendum sera





Ранг: 340.0 (мудрец), 22thx
Активность: 0.120
Статус: Участник
THETA

Создано: 30 января 2009 17:48 · Поправил: FrenFolio
· Личное сообщение · #9

О, отличная штука! Как раз думал о том, почему нет такой проги которая бы показывала отличия прямо в дизасме. А тут - вот тебе.

-----
Программист SkyNet





Ранг: 533.6 (!), 232thx
Активность: 0.450
Статус: Uploader
retired

Создано: 30 января 2009 18:08
· Личное сообщение · #10

crc1, а зачем ты длл прикрутил к ЕХЕ, нельзя было отдельно

-----
Лучше быть одиноким, но свободным © $me




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

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

borov пишет:
а зачем ты длл прикрутил к ЕХЕ, нельзя было отдельно

моно, прилепляю
Сцылка на сайт [url=http://web.vip.hr/inga.vip/test.htm
]http://web.vip.hr/inga.vip/test.htm
[/url]
прикрутил для удобства



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

Создано: 30 января 2009 18:39
· Личное сообщение · #12

чет не приклепилась

cef1_30.01.2009_CRACKLAB.rU.tgz - Disasm.dll




Ранг: 533.6 (!), 232thx
Активность: 0.450
Статус: Uploader
retired

Создано: 30 января 2009 18:44
· Личное сообщение · #13

та я ее сам уже давно отковырял

-----
Лучше быть одиноким, но свободным © $me




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

Создано: 30 января 2009 18:50
· Личное сообщение · #14

Flint пишет:
Скрол, имхо, должен двигаться сразу в обоих окнах!

Согласен, и HEXCMP видел. Но я же не коммерческий продукт выложил, а так утилиту. Главное чтобы правильно различия находила.
P.S. А как заскролить второе окошко. Нужно же учесть и просто скрол, потом нажатие на скроллбар, и просто нажатие на клаве стрелок




Ранг: 533.6 (!), 232thx
Активность: 0.450
Статус: Uploader
retired

Создано: 30 января 2009 19:54
· Личное сообщение · #15

crc1 пишет:
А как заскролить второе окошко. Нужно же учесть и просто скрол, потом нажатие на скроллбар, и просто нажатие на клаве стрелок

юзай сообщения LVN_BEGINSCROLL и LVN_ENDSCROLL

-----
Лучше быть одиноким, но свободным © $me




Ранг: 65.7 (постоянный)
Активность: 0.050
Статус: Участник

Создано: 30 января 2009 20:13
· Личное сообщение · #16

если у тебя LISTVIEW можно просто сравнивать 1 видимую строчку в правом и левом окне и там уже крутить
там есть функция, точнее сообщение:

The LVM_GETTOPINDEX message retrieves the index of the topmost visible item when in list or report view. You can send this message explicitly or by using the ListView_GetTopIndex macro.

LVM_GETTOPINDEX
wParam = 0;
lParam = 0;


Returns the index of the item if successful or zero if the list view control is in icon or small icon view.



Ранг: 271.5 (наставник), 12thx
Активность: 0.150
Статус: Участник
Packer Reseacher

Создано: 31 января 2009 16:41
· Личное сообщение · #17

crc1
посмотри на WinMerge и примерно сделай тоже самое, или на Perforse показыватель дифов

-----
My love is very cool girl.




Ранг: 481.4 (мудрец), 109thx
Активность: 0.180
Статус: Участник
Тот самый :)

Создано: 01 февраля 2009 01:36
· Личное сообщение · #18

crc1 пишет:
хуясе
Single User License 900 € (1215 US$)

Есть ломанная версия
rapidshare.com/files/178972616/SABRE-BinDiff--v2.0.269.rar

-----
Реверсивная инженерия - написание кода идентичного натуральному





Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 01 февраля 2009 16:15
· Личное сообщение · #19

Если это древний слом, то там криво как-то поломали. Ограничение на большое число (блоков или функций, не помню точно) не снято.




Ранг: 213.0 (наставник), 4thx
Активность: 0.220
Статус: Участник
Тот ещё Lamer

Создано: 02 февраля 2009 00:58
· Личное сообщение · #20

я обычно просто два дизасма в winmerge сравниваю... там всё подсвечивается...

-----
Do Not Get Mad Get Money! ;)




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

Создано: 02 февраля 2009 06:33
· Личное сообщение · #21

Talula пишет:
я обычно просто два дизасма в winmerge сравниваю... там всё подсвечивается...


Подскажи, как ты получаешь в winmerge дизассемблированный код? Или ты просто находишь offset, где имеются смещения?




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

Создано: 02 февраля 2009 08:44
· Личное сообщение · #22

vnekrilov
видимо, Talula сравнивает листинги, предварительно отдизасмив файлы

-----
EnJoy!




Ранг: 271.5 (наставник), 12thx
Активность: 0.150
Статус: Участник
Packer Reseacher

Создано: 02 февраля 2009 12:34 · Поправил: theCollision
· Личное сообщение · #23

>>Подскажи, как ты получаешь в winmerge дизассемблированный код? Или ты просто находишь offset, где имеются смещения?
5 баллов ! ;))) пацтулом, остановиться от приступа смеха не могу )))

-----
My love is very cool girl.




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

Создано: 02 февраля 2009 12:45
· Личное сообщение · #24

theCollision пишет:
5 баллов ! ;))) пацтулом, остановиться от приступа смеха не могу )))


Не понял, в чем причина приступов смеха???




Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 02 февраля 2009 16:10 · Поправил: Isaev
· Личное сообщение · #25

Flint пишет:
Скрол, имхо, должен двигаться сразу в обоих окнах!

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

+1

А ещё бы сделать,
- чтобы файлы можно было мышкой закидывать
- чтобы показывала в каком сегменте изменения
- кнопки следующее/предыдущее
- какое нибудь сохранение всех изменений (в txt хотя бы)
- combobox для переключения между сегментами
- и окно разворачивалось на весь экран

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh





Ранг: 673.3 (! !), 400thx
Активность: 0.40.31
Статус: Участник
CyberMonk

Создано: 02 февраля 2009 18:30 · Поправил: mak
· Личное сообщение · #26

crc1 на чем писал ?

А ещё бы сделать,
1.Изменение кода, редактирование кода вообщем.
2.Поиск по сигнатурам
3. Эмулирование выполнения программ (тоесть прогонять кусок кода скажем , если он обфусцирован , то эмуляцией можно узнать различия , может не так дизасмнул , и таким образом , видеть наш код бывший и тот что лишний.


Почему бы и нет , будет тогда достаточно универсальная утилита , облегчающая анализ. Конечно самое важное это сравнение , но как дополнение к этому мне бы такое понадобилось.


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

-----
RE In Progress [!] Coding Hazard [!] Stay Clear of this Cube





Ранг: 213.0 (наставник), 4thx
Активность: 0.220
Статус: Участник
Тот ещё Lamer

Создано: 02 февраля 2009 21:27
· Личное сообщение · #27

vnekrilov, Jupiter пишет:
сравнивает листинги, предварительно отдизасмив файлы


-----
Do Not Get Mad Get Money! ;)




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

Создано: 03 февраля 2009 06:32
· Личное сообщение · #28

Talula пишет:
сравнивает листинги, предварительно отдизасмив файлы


Спасибо, я так и понял.



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

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

CmpDisasm 0.2b
Учел некоторые пожелания
1. Сделал синхронную прокрутку окошек (правда криво, только колесом и притормаживает мальца)
2. Показывает в какой секции изменения (если секция имеет имя)
3. Сохранение всех изменений в файл CmpDisasm.txt в текущей папке
4. Добавлено контекстное меню в окошки
5. Поправил ошибки
Пока фсе
Isaev пишет:
- чтобы файлы можно было мышкой закидывать

Дык вроде было уже в первом варианте

mak пишет:
А ещё бы сделать,
1.Изменение кода, редактирование кода вообщем.
2.Поиск по сигнатурам
3. Эмулирование выполнения программ

Редактировать можно где угодно, в той же Оле. А че искать по сигнам? там дизассемблируется по 40 строчек кода. Про эмулирование - это что?, вторую IDA кодить
На счет приклееной dll, еще раз повторюсь, прилепил для удобства. В about'е есть сцылка на сайт с описанием и прмерами. На счет плугина с выбором дизасм модулей, тоже не понятно. У каждого дизасм движка свой интерфейс...? И вообще, я только один нормальный нашел. Остальные либо платные, либо кривые.
ПыСы. У кого есть грамотно реализованный исходник с использованием API по синхронной прокрутке окошек, прошу поделиться (коментарии в исходнике приветствуются




Ранг: 756.3 (! !), 113thx
Активность: 0.610.05
Статус: Участник
Student

Создано: 05 февраля 2009 16:34 · Поправил: Isaev
· Личное сообщение · #30

в файле изменений
Code:
  1. 00400261  0000 ADD BYTE PTR [EAX],AL      |      00400261  90  NOP

Если правится 2 байта, то и справа 2 байта должно быть (аналогично при выделении)

-----
z+Dw7uLu5+jqLCDq7vLu8PvpIPHs7uMh



. 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 ... 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 » Выход » ЛС
   Для печати Для печати