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

ВИДЕОКУРС ВЗЛОМ
обновлён 2 декабря!


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

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

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

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

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

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

GPcH пишет:
сразу ставь 8.1 x64

Ткни носом откуда скачать, пусть даже без активации


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

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

crc1 пишет:
Ткни носом откуда скачать, пусть даже без активации

--> Тыц <--
Должен быть установлен торрент клиент, чтоб юзать магнеты для скачки.
Полезно для тестов иметь на виртуалке в любом случае, бывает, при реверсе чего либо, что не всегда одни и те же адреса в регистрах могут юзаться и т.д.

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

Создано: 15 декабря 2013 22:17 New!
Цитата · Личное сообщение · #4

crc1
Можно на дримспарке бесплатную подписку на год получить.


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

Создано: 16 декабря 2013 00:22 New!
Цитата · Личное сообщение · #5

crc1 пишет:
Ткни носом откуда скачать, пусть даже без активации


Выше дали ссыль. А так еще способ поставить 8.0, активировать и обновить бесплатно до 8.1. Активацию если покупать за полную цену дорого, можно по всяким акциям. Также ключи видел на aliexpress у продавцов с 99% фидбэком баксов по 10.


Статус: Пришелец

Создано: 16 декабря 2013 03:00 New!
Цитата #6

crc1 пишет: А она нужна ком. строка? Если еще пара, тройка человек отпишется, сделаю ком. строку.
Плюсую за командную строку.


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

Создано: 16 декабря 2013 03:58 New!
Цитата · Личное сообщение · #7

crc1 пишет:
Ткни носом откуда скачать, пусть даже без активации


Microsoft Windows 8.1 Rollup 1 RUS-ENG x64 -16in1- (AIO). Magnet: magnet:?xt=urn:btih:439DA0BDEF6FB328855ADA540C985E2F616DCCC3

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

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

GPcH
Я вспомнил, год назад я уже тестировал на Win 8 x64 и --> сообщил об этом на форуме <--
Сегодня установил 8.1 -->отсюда <--
Ошибок при работе не выявил

Так же просил товарища потестить на win 8.1 И так же проблем не возникло.
Проверь личное сообщение, попробуем по другому порешать эту проблему.

F_a_u_s_t пишет:
Плюсую за командную строку.

Принято


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

Создано: 17 декабря 2013 10:47 · Поправил: Kindly New!
Цитата · Личное сообщение · #9

crc1 пишет:
Сегодня установил 8.1 -->отсюда <--

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

ыы, оригинальный файл гружу, потом заинлайненый со своей секцией, даже не загрузило заинлайненый, выдало: --> ups <--
оригинальная винда 7x64 Ultimate

ну и так не сделал копирование hex байтов без дефиса и оффсетов


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

Создано: 17 декабря 2013 18:56 New!
Цитата · Личное сообщение · #10

crc1
Выслал в личку скрин ошибки дебаг версии.
У меня если что купленный Windows 8.1 Professional русская версия.

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

Создано: 17 декабря 2013 20:50 New!
Цитата · Личное сообщение · #11

--> Link <--
Win 8.1 x32

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

Создано: 21 декабря 2013 20:41 · Поправил: crc1 New!
Цитата · Личное сообщение · #12

Kindly пишет:
тестировать на перепатченых и обрезаных говносборках это моветон.

Kindly, ах так. Проверил на -->на этой 'говносборке' от Мелкософта <-- Ошибки не возникает.
(Проверил - это понимается несколько exe и dll разной разрядности)
Kindly пишет:
ыы
чем картинки постить выложи файлы

Kindly пишет:
ну и так не сделал копирование hex байтов без дефиса и оффсетов

Ну да, не сделал. Лениво там отсекать офсеты, аски коды от хекса. Если че скопировать в хексе надо, так на вкладке disasm есть в меню


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

Создано: 22 декабря 2013 00:14 New!
Цитата · Личное сообщение · #13

crc1 пишет:
чем картинки постить выложи файлы

лениво было выкладывать отдельно, это комплект.
http://rghost.ru/50777216
файл, который после патча, при загрузке валится

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

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

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

Kindly, ну тут всё по честному.
RAW Size в PE заголовке твоего файла говорит, что данных 002BA000 байт, а их в файле всего 0012B400, и это на все секции...


Ранг: 72.3 (постоянный)
Статус: Участник

Создано: 23 декабря 2013 05:58 New!
Цитата · Личное сообщение · #15

Идея в целом не плоха, но тестить нужно там, где будет юзаться - на апдейтах мс.

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

Создано: 14 января 2014 09:33 New!
Цитата · Личное сообщение · #16

Может никто не заметил, но временами, при поиске следующих различий, сбивается с инструкций.
Code:
  1. Ollydbg
  2. 0041FD8F       .  33ED                      XOR EBP,EBP 
  3. 0041FD91       .  FF15 FA651C01             CALL DWORD PTR [11C65FA]
  4. 0041FD97       .  8B5C24 28                 MOV EBX,DWORD PTR [ESP+28]
  5. 0041FD9B       .  837B 54 02                CMP DWORD PTR [EBX+54],2
  6.  
  7. CmpDisasm
  8. 0041FD95:  1C01  sbb al, 00000001h
  9. 0041FD97:  8B5C2428  mov ebx, dword ptr [esp+28h]
  10. 0041FD9B:  837B5402  cmp dword ptr [ebx+54h], 02h
  11.  
  12. Ollydbg
  13. 004B4383      |.  50                        PUSH EAX 
  14. 004B4384      |.  FF15 3E5F1C01             CALL DWORD PTR [11C5F3E] 
  15. 004B438A      |.  8B4C24 14                 MOV ECX,DWORD PTR [ESP+14]
  16. 004B438E      |.  8B2D 765F1C01             MOV EBP,DWORD PTR [11C5F76] 
  17. 004B4394      |.  83C1 09                   ADD ECX,9
  18.  
  19. CmpDisasm
  20. 004B4386:  3E5F  pop edi
  21. 004B4388:  1C01  sbb al, 00000001h
  22. 004B438A:  8B4C2414  mov ecx, dword ptr [esp+14h]
  23. 004B438E:  8B2D765F1C01  mov ebp, dword ptr [011C5F76h]


Статус: Пришелец

Создано: 14 января 2014 12:31 New!
Цитата #17

Без нормального анализатора проблема не решается. Это как раз то, что в OllyDbg и IDA хорошо (лучше всего во 2-ой ольке анализ), а везде плохо.


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

Создано: 14 января 2014 12:49 · Поправил: reversecode New!
Цитата · Личное сообщение · #18

4d1m сто раз по разу говорили. нету выравниание на длинну инструкции и сравниение
и фикситься это не будет

4d1m
так сказал, типа я в этом виноват
автору пишите

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

Создано: 15 января 2014 07:53 New!
Цитата · Личное сообщение · #19

Иными словами это просто хекс сравнение, а не дизасм сравнение, что следует из названия.
И не существует способа, правильно найти начало инструции???
Тогда удачи вам.

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

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

crc1, вопрос к вам. Есть ли возможность выводить не кусок различий, а все содержимое файла? Было бы удобнее просто пролистывать вниз, а не нажимать каждый раз кнопку.

Если я тоталкоммандером сравниваю 2 файла, то сразу отображаются оба, а здесь только кусками....

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

Создано: 25 января 2014 13:55 · Поправил: crc1 New!
Цитата · Личное сообщение · #21

Добавил командную строку ; использовать: CmpDisasm.exe file1 file2
--> CmpDisasm <--

4d1m пишет:
Иными словами это просто хекс сравнение, а не дизасм сравнение, что следует из названия.

А как вы себе представляете "дизасм сравнение" по буквам штоле
Выравнивания на длину инструкции НЕ БУДЕТ, ибо для такой утили это роскошь
Добавил в шапку темы
Sp0inT пишет:
Есть ли возможность выводить не кусок различий, а все содержимое файла?

Возможность есть, но сделано не будет, по причине, что это никому не нужно мотать километры одинакового кода
PS Кто на краклабе заведует разделом "Скачать", выговор ему. Обновите версию или удалите подраздел
ИМХО, возмите друго чела, кто будет заниматься разделом "Скачать"

| Сообщение посчитали полезным: v00doo, Dazz, SReg, dosprog, 4kusNick



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

Создано: 25 января 2014 19:10 New!
Цитата · Личное сообщение · #22

crc1, привет, получал от меня личку? Неделю тишина просто

Ранг: 299.6 (наставник)
Статус: Модератор
CrackLab

Создано: 25 января 2014 19:18 New!
Цитата · Личное сообщение · #23

crc1 пишет:
Кто на краклабе заведует разделом "Скачать", выговор ему. Обновите версию или удалите подраздел
ИМХО, возмите друго чела, кто будет заниматься разделом "Скачать"

Полностью поддерживаю! Надо что-то делать.

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

Создано: 27 января 2014 02:41 · Поправил: dosprog New!
Цитата · Личное сообщение · #24

crc1,
1+) аргументы из командной строки вынимает нормально. Всё в порядке.
2-) На сравнении "назад" в дизассемблированном виде - валится по обращению к памяти - "Память не может быть read..." (Виндовая ошибка, не RTLная).
3-) При наличии ~30 патчей во втором файле Jx LONG -> NOP в разных местах секции, не подряд, отображаются только первые 5 фрагментов, до остальных просто не доходит сравнение (не отображается в главном окне).
При записи различия в файл - корректно записаны эти же 5 отличий, дальше пошла сбивка адреса назад(!) и несколько непонятно откуда взявшихся отличий. Котороче, глюк.

P.S. - А вот сейчас перепроверил опять те же файлы - п.п. и 2) и 3) отработали нормально. Мистика)).
Тестировалось на WinXP/SP2.

P.P.S - Да, с появлением аргументов ком.строки прямо-таки открылись новые возможности.


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

Создано: 2 марта 2014 22:13 New!
Цитата · Личное сообщение · #25

Что делать если прога выдаёт, что файлы слишком различаются, сравнение не имеет смысла? Где флаг force? Мне что патчить это надо, чтобы оно заработало?


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

Создано: 2 марта 2014 23:21 New!
Цитата · Личное сообщение · #26

Promix_17
писать свою, основанную на генетических алго

Ранг: 77.9 (постоянный)
Статус: Участник

Создано: 2 марта 2014 23:48 · Поправил: v00doo New!
Цитата · Личное сообщение · #27

Promix_17, ну если файлы так разнятся, то IDA и PatchDiff2 в помощь.
Ну или fc file.old file.new /b >> cmp.txt

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

Создано: 3 марта 2014 09:12 New!
Цитата · Личное сообщение · #28

Не, ну например, bsdiff выдаёт патч около 6% изменений. Вроде всё должно работать. Если автор меня слышит, то пусть, пожалуйста, уберёт эту ненужную проверку.

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

Создано: 13 марта 2014 19:53 · Поправил: crc1 New!
Цитата · Личное сообщение · #29

Привет всем, извините что долго не был в теме.
dosprog
Я по пукту 2 и 3 не смог воспроизвести ни на одном файле, выкладывайте сбойные файлы на обменник.
GPcH
Извиняюсь, у меня тут жизненная ситуация закружилась и не помню (если че, пиши в ПМ)
Promix_17 пишет:
выдаёт патч около 6% изменений Если автор меня слышит, то пусть, пожалуйста, уберёт эту ненужную проверку.

По моим скромным наблюдениям средняя прога состоит из ~ от 1 500 000 до 5 000 000 строчек дизасемблированного кода. 6% по минимуму составляет ~ 100 000 строк кода. Идите и расскажите в другом месте, что вы будите изучать эти сто тыщ строк
Add Promix_17, вы же крекер, запатчите эту проверку

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

Создано: 11 ноября 2014 23:11 New!
Цитата · Личное сообщение · #30

Would be nice if we could also have an option for 'Relative Virtual Address'

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

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

crc1 пишет:
Я по пукту 2 и 3 не смог воспроизвести ни на одном файле, выкладывайте сбойные файлы на обменник.


Ээх.. Давно уже нету той программы.

Ну ничего. При случае подберу примеры сбоящих файлов и вышлю репорт..


mrexodia пишет:
Would be nice if we could also have an option for 'Relative Virtual Address'

Если это об опции "RVA/File offset", тогда согласен. Yes, то-есть
<< 1 ... 9 . 10 . 11 . 12 . 13 . >>
 eXeL@B —› Софт, инструменты —› CmpDisasm - Утилита для сравнения PE файлов в дизассемблированном виде

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

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