Сейчас на форуме: 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
Статус: Участник

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

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

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




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

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

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

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

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




Ранг: 19.7 (новичок), 14thx
Активность: 0.030
Статус: Участник

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

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




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

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

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


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

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




Ранг: 0.0 (гость)
Активность: 0.250
Статус: Участник

Создано: 16 декабря 2013 03:00
· Личное сообщение · #6

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




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

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

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


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



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

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

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

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

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

Принято




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

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

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

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

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

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

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





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

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

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

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




Ранг: 19.7 (новичок), 14thx
Активность: 0.030
Статус: Участник

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

--> Link <--
Win 8.1 x32



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

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

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

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

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

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




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

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

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

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

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

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




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

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

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




Ранг: 72.3 (постоянный), 133thx
Активность: 0.380
Статус: Участник

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

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



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

Создано: 14 января 2014 09:33
· Личное сообщение · #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]




Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 14 января 2014 12:31
· Личное сообщение · #17

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




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

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

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

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



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

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

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



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

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

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

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



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

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

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

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

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

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

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


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

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

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

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




Ранг: 315.1 (мудрец), 631thx
Активность: 0.30.33
Статус: Модератор
CrackLab

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

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

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



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

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

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

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

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





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

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

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




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

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

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

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




Ранг: 80.6 (постоянный), 194thx
Активность: 0.10.04
Статус: Участник

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

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



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

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

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



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

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

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

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



Ранг: 17.6 (новичок), 118thx
Активность: 0.02=0.02
Статус: Участник

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

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



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

Создано: 17 ноября 2014 17:24 · Поправил: dosprog
· Личное сообщение · #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 файлов в дизассемблированном виде
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


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