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

Курс видеоуроков «Программирование и взлом 2O18»
Обновлен 13 сентября 2O18 года
Свежие инструменты, новые видеоуроки!

  • 300+ видеоуроков
  • 800 инструментов
  • 100+ свежих книг и статей

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

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

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

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

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

Создано: 30 января 2009 16:33 · Поправил: crc1 New!
Цитата · Личное сообщение · #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

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


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

Создано: 31 августа 2012 18:35 New!
Цитата · Личное сообщение · #2

crc1 пишет:
отнимаю 48h от адреса отличия (что бы выровнять диpасм листинг).

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

crc1 пишет:
Ты хочешь что бы вывод дизасма начинался сразу с адреса отличия?

хотел, это бы в большинстве случаев исправляло ситуацию,
если в левом окне уже позиция выровнена на размер инструкции(она обозначена желтым цветом) - значит и в правом окне нужно по любому начинать дизассмить с этой инструкции

ситуацию при которой это бы заглючило я вроде не вижу, ошибаюсь?

ps сделай что бы окно cmpdisasm можно было ресайзить

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

Создано: 31 августа 2012 19:02 · Поправил: crc1 New!
Цитата · Личное сообщение · #3

reversecode
Глянь личку
reversecode пишет:
ps сделай что бы окно cmpdisasm можно было ресайзить

А че, нельзя?
crc1 пишет:
* 29 марта 2009 г. v 0.35

* Окно проги разворачивается на весь экран

и скажу больше, его можно таки ресайзить


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

Создано: 31 августа 2012 19:10 · Поправил: reversecode New!
Цитата · Личное сообщение · #4

crc1 пишет:
* Окно проги разворачивается на весь экран
и скажу больше, его можно таки ресайзить

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

crc1 пишет:
Проверил, все ресайзится (на xp и win7), висту фтопку

хорошо, спишем на баги винды
если все же у кого то есть виста - просьба проверить

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

Создано: 31 августа 2012 19:20 New!
Цитата · Личное сообщение · #5

reversecode пишет:
виндовс виста

Висты нету, но сейчас спецом проверю на семерке

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

Создано: 31 августа 2012 19:32 New!
Цитата · Личное сообщение · #6

Проверил, все ресайзится (на xp и win7), висту фтопку

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

Создано: 31 августа 2012 20:13 New!
Цитата · Личное сообщение · #7

reversecode высказал пожелание показывать дисасм листинг начиная с точки отличия. Я скомпилил такой вариант.
Попробуйте и выскажите свое мнение
Вариант будет называться CmpDisasmRC

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

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


Ранг: 503.0 (!)
Статус: Модератор

Создано: 1 сентября 2012 21:08 New!
Цитата · Личное сообщение · #8

crc1
Падает 076

EAX = 00000000 EBX = 00000000 ECX = 00000000 EDX = 00000000 ESI = 00000029 EDI = 00000000 EIP = 0046FECD ESP = 0018FE54 EBP = 0018FE58 EFL = 00010246

0046FEB0 add ecx,4
0046FEB3 mov dword ptr [ebp+8],ecx
0046FEB6 mov edx,dword ptr [ebp+0Ch]
0046FEB9 add edx,4
0046FEBC mov dword ptr [ebp+0Ch],edx
0046FEBF mov eax,dword ptr [ebp+10h]
0046FEC2 sub eax,4
0046FEC5 mov dword ptr [ebp+10h],eax
0046FEC8 jmp 0046FE9D
0046FECA mov ecx,dword ptr [ebp-4]
0046FECD mov byte ptr [ecx],0 << crash here
0046FED0 mov esp,ebp
0046FED2 pop ebp
0046FED3 ret 0Ch
0046FED6 int 3


> CmpDisasm076.exe!0046fecd()
[Frames below may be incorrect and/or missing, no symbols loaded for CmpDisasm076.exe]
CmpDisasm076.exe!0046fd58()
CmpDisasm076.exe!0042100f()
CmpDisasm076.exe!00409f2b()
CmpDisasm076.exe!00406d91()
CmpDisasm076.exe!00405480()
CmpDisasm076.exe!00402282()
kernel32.dll!755133ca()


Ранг: 627.6 (!)
Статус: Участник
Автор VB Decompiler

Создано: 1 сентября 2012 22:51 New!
Цитата · Личное сообщение · #9

crc1

В Windows 7 x64 тоже валится при попытке сравнить любые два корректных EXE

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

Создано: 3 сентября 2012 12:37 New!
Цитата · Личное сообщение · #10

sendersu
Выложи файлы на обменник
GPcH пишет:
В Windows 7 x64 тоже валится

Да я знаю, спасибо. Но все не могу поставить 7-ку x64 на VM


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

Создано: 3 сентября 2012 15:21 New!
Цитата · Личное сообщение · #11

crc1 пишет:
высказал пожелание показывать дисасм листинг начиная с точки отличия


а можно на выбор оставить оба варианта? У меня что-то не выходит понять, какой нравится больше


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

Создано: 3 сентября 2012 16:45 New!
Цитата · Личное сообщение · #12

на выбор они и оставлены,
оффициальный в шапке,
а мое имхо приклеили в теме)

Ранг: 503.0 (!)
Статус: Модератор

Создано: 4 сентября 2012 11:49 New!
Цитата · Личное сообщение · #13

crc1 пишет:
Выложи файлы на обменник

ушло
что еще заметил - 2ая версия та что должна показивать с начала дифф - иногда (редко, гдето 10%) все же надо скроллить вверх втурую часть

ПОЖЕЛАНИЕ

Счас ищет только вперед, можно сделать кнопулю - поиск диффа назад? (Back)

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

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

sendersu пишет:
что еще заметил - 2ая версия та что должна показивать с начала дифф - иногда (редко, гдето 10%) все же надо скроллить вверх втурую часть

Исправил


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

| Сообщение посчитали полезным: WildGoblin, tomac, igorca


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

Создано: 14 сентября 2012 21:19 New!
Цитата · Личное сообщение · #15

crc1 может где уже было. В семерке не работает. Валится при Log и Compare.

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

Создано: 16 сентября 2012 19:19 New!
Цитата · Личное сообщение · #16

NeoTall пишет:
может где уже было.

Да было, четыре поста выше


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

Создано: 17 сентября 2012 00:27 New!
Цитата · Личное сообщение · #17

В дополнение к багрепортам про падения на 7ке:
Попробовал под Win 8 x64 - Compare сработал нормально, но Log как и в 7ке - крашит приложение.
Всевозможные режимы совместимости не спасают.

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

Создано: 17 сентября 2012 14:49 New!
Цитата · Личное сообщение · #18

Хотелось бы добавить открытие файлов из командной строки

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

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

crc1 пишет:
Да я знаю, спасибо. Но все не могу поставить 7-ку x64 на VM [/i]

Сподобился я поставить на VMware win 7 x64. У меня cmpdisasm не падает, лог файл создается норм. я х.з.
У кого че, пишите, нокак воспроизвести?

Ранг: 503.0 (!)
Статус: Модератор

Создано: 21 ноября 2012 01:30 New!
Цитата · Личное сообщение · #20

crc1
закинул в ПМ

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

Создано: 21 ноября 2012 11:44 · Поправил: c7111981 New!
Цитата · Личное сообщение · #21

Не сравнивает НОПы, в случаях дополнительного кода.
Сори, я не тот файл для сравнения выбрал...


Ранг: 627.6 (!)
Статус: Участник
Автор VB Decompiler

Создано: 21 ноября 2012 21:04 New!
Цитата · Личное сообщение · #22

crc1
Уже восьмерка месяц как оффициально вышла. Лучше бы сразу ее ставил. В восьмерке падает при нажатии кнопки Compare после выбора двух файлов:

Необработанное исключение по адресу 0x77A4A94F (ntdll.dll) в CmpDisasmRC.exe: 0xC0000374: Куча была повреждена (параметры: 0x77A5E1E8).

Причем если загрузить в отладчике и продолжить выполнение проги после эксепшена - далее все корректно выводится. Интересно что ты такое там делаешь что оно после падения работает

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

Создано: 21 ноября 2012 21:17 · Поправил: Модератор New!
Цитата · Личное сообщение · #23

GPcH
на восьмерке почти всё глючно работает! после первого SP1 нужно проверять глючность прог!

От модератора: Archer: пиши прямыми руками без недокументированной мути, и всё будет работать. Если что, софт из топика не имел в виду.


Ранг: 627.6 (!)
Статус: Участник
Автор VB Decompiler

Создано: 22 ноября 2012 15:36 New!
Цитата · Личное сообщение · #24

CTPaHHuk

Поржал. После первого SP надо будет уже Windows 9 ставить а не проверять глючность прог на восьмерке ) Наверное до сих пор на XP, угадал?

По факту соглашусь с арчером. Из всего набора необходимого мне софта ничего не глючит на восьмерке. Система работает даже стабильнее седьмой (нет memory leak'ов после двухнедельных гибернейтов, очистка памяти работает заметно лучше). А пуск легко возвращается бесплатной программой "Classic Start Menu" (которая в довесок еще и убирает левый нижний актив корнер).

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

Создано: 22 ноября 2012 18:02 New!
Цитата · Личное сообщение · #25

А может быть такое что два одинаковых файла (пропатчено только пару команд), файловая инфа у обоих совпадает отказывается сравнивать пишет файлы разные?

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

Создано: 8 декабря 2012 16:37 New!
Цитата · Личное сообщение · #26

GPcH
Закиньте ссылочку в ПМ на дистрибутив Win8
На win7 x32 x64 все работает


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

Создано: 8 декабря 2012 17:32 New!
Цитата · Личное сообщение · #27

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

Создано: 9 декабря 2012 18:50 · Поправил: crc1 New!
Цитата · Личное сообщение · #28

ClockMan
Спасибо
PS Или я дурак или у нас на форуме появились новый смайлы

Ага, наверно видео у меня сглючило

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

Создано: 11 декабря 2012 19:06 · Поправил: crc1 New!
Цитата · Личное сообщение · #29

GPcH пишет:
Причем если загрузить в отладчике и продолжить выполнение проги после эксепшена - далее все корректно выводится

Поставил Windows8-64 по ссылке ClockMan,а на ВМварю
Нормально работает без всякого отладчика

Не могу воспроизвести ошибку
evggrig пишет:
А может быть такое что два одинаковых файла (пропатчено только пару команд), файловая инфа у обоих совпадает отказывается сравнивать пишет файлы разные?

Не может, это означает что в файлах более двух сотен отличий. Проверь любым HEX сравнивателем


add

По просьбе sendersu потестировал его файлы на win8 x64. Нашел ошибку, исправил. Прошу проверить.
Еще
crc1 пишет:
reversecode высказал пожелание показывать дисасм листинг начиная с точки отличия. Я скомпилил такой вариант. Попробуйте и выскажите свое мнениеВариант будет называться CmpDisasmRC

Заметил, что этот вариант глючный, если изменения сделаны в середине инструкции.


А вот так должно быть



Так что выкладываю старый вариант отображения листинга с исправлениями багов

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


Ранг: 627.6 (!)
Статус: Участник
Автор VB Decompiler

Создано: 13 декабря 2012 03:03 New!
Цитата · Личное сообщение · #30

crc1

Скинь мне пустое письмо на email: admin {@} vb-decompiler [dot] org - отправлю семплы для анализа. На восьмерке все равно падает. Восьмерка стоит основной системой x64, UAC включен.


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

Создано: 13 декабря 2012 03:15 New!
Цитата · Личное сообщение · #31

crc1 пишет:
Заметил, что этот вариант глючный, если изменения сделаны в середине инструкции.

потому что reversecode просил сделать диф на границу выровненой инструкции по дизасму длин,
видимо этого выравнивания так и нет, поэтому оно дифает от начала первой разницы в байтах
и если в средине инструкции тогда нето
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 ... 12 . 13 . >>
 eXeL@B —› Софт, инструменты —› CmpDisasm - Утилита для сравнения PE файлов в дизассемблированном виде

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

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