Сейчас на форуме: morgot, sashalogout, -Sanchez- (+3 невидимых) |
![]() |
eXeL@B —› Софт, инструменты —› CmpDisasm - Утилита для сравнения PE файлов в дизассемблированном виде |
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 ... 12 . 13 . >> |
Посл.ответ | Сообщение |
|
Создано: 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 *Изменил интерфейс (кнопки переместил в тулбар) *По дефолту, заголовок выключен из сканирования *Исправил баги которые были отправлены в ПМ и которые нашел сам *Исправил грамматическую ашыпку ![]() * 13 апреля 2013 v 0.81 * Исправил ошибку при перетаскивании нескольких файлов драг-дропом и некоторые другие * Добавил сравнение файлов вперед и назад * 8 декабря 2013 v 0.83 * Убрал ошибки * Добавил импорт\экспорт * 25 января 2014 v. 0.84 * Добавил командную строку ; использовать: CmpDisasm.exe file1 file2 ![]() ![]() |
|
Создано: 25 января 2011 03:47 · Личное сообщение · #2 |
|
Создано: 26 января 2011 16:24 · Личное сообщение · #3 |
|
Создано: 11 февраля 2011 07:37 · Поправил: AKAB · Личное сообщение · #4 |
|
Создано: 11 февраля 2011 08:05 · Личное сообщение · #5 |
|
Создано: 13 марта 2011 17:07 · Поправил: crc1 · Личное сообщение · #6 |
|
Создано: 13 марта 2011 17:13 · Личное сообщение · #7 |
|
Создано: 13 марта 2011 17:16 · Поправил: [0utC4St] · Личное сообщение · #8 crc1 пишет: теперь мона сравнивать и x64 Это огромный + Но вот ![]() Уважаемый crc1, не могли бы вы доделать интерфейс, как предлагалось на предыдущей странице. Это было бы очень чудно. ----- z+7v+/Lq4CAtIO/l8OL76SD44OMg6iDv8O7i4OvzLiCpIMPu7OXwINHo7O/x7u0= ![]() |
|
Создано: 13 марта 2011 17:26 · Поправил: crc1 · Личное сообщение · #9 |
|
Создано: 13 марта 2011 17:27 · Поправил: [0utC4St] · Личное сообщение · #10 |
|
Создано: 13 марта 2011 17:33 · Поправил: crc1 · Личное сообщение · #11 |
|
Создано: 13 марта 2011 18:17 · Личное сообщение · #12 |
|
Создано: 13 марта 2011 18:48 · Личное сообщение · #13 |
|
Создано: 17 марта 2011 14:07 · Поправил: crc1 · Личное сообщение · #14 |
|
Создано: 17 марта 2011 14:20 · Поправил: [0utC4St] · Личное сообщение · #15 |
|
Создано: 27 марта 2011 22:38 · Личное сообщение · #16 |
|
Создано: 27 марта 2011 22:50 · Личное сообщение · #17 |
|
Создано: 27 марта 2011 22:56 · Личное сообщение · #18 |
|
Создано: 27 марта 2011 23:07 · Личное сообщение · #19 crc1, в том примере что я давал инлайн приращением (увеличением секции на 2000h). ...хотелось бы чтоб сабж предупреждал что файлы разного размера или хотя бы подсвечивал различи я в File Info над панелями... (ну это по части пожеланий). з.ы. Ну и конечно же хочется видеть адаптированный сабж под разрешение монитора кроме как 1920 на 1080. ----- z+7v+/Lq4CAtIO/l8OL76SD44OMg6iDv8O7i4OvzLiCpIMPu7OXwINHo7O/x7u0= ![]() |
|
Создано: 27 марта 2011 23:56 · Личное сообщение · #20 [0utC4St] пишет: или хотя бы подсвечивал различи я в File Info над панелями В Sections Information различия подсвечиваются, подсветку в File Info над панелями время будет, сделаю. [0utC4St] пишет: хочется видеть адаптированный сабж под разрешение монитора кроме как 1920 на 1080. Подскажи каким образом. На 3 или 4 странице этот вопрос уже обсуждали, путного никто не посоветовал. Уменьшать шрифт нельзя. Остается выкидывать или опкоды или инструкции. Твои варианты... ЗЫ. Или такой способ адаптации: сейчас нельзя изменить размеры окна меньше 1094х580. Я это дело уберу и пусть каждый подстраивает так, как ему надо. Так пойдет? ![]() |
|
Создано: 28 марта 2011 00:07 · Поправил: [0utC4St] · Личное сообщение · #21 crc1 пишет: Я это дело уберу и пусть каждый подстраивает так, как ему надо. Так пойдет? Наверно это оптимальный вариант. ( Каким образом подстраивать? ) Вот вариант для ленивых. Переместить кнопки ![]() з.ы. По-ходу повторяюсь.... ----- z+7v+/Lq4CAtIO/l8OL76SD44OMg6iDv8O7i4OvzLiCpIMPu7OXwINHo7O/x7u0= ![]() |
|
Создано: 28 марта 2011 00:32 · Личное сообщение · #22 |
|
Создано: 28 марта 2011 00:53 · Личное сообщение · #23 |
|
Создано: 02 апреля 2011 18:31 · Личное сообщение · #24 Два злобных замечания: 1. На кой там проверка валидности PE? А если хочется сравнить два откуда-то выдранных куска дампов? 2. При попытке сравнения двух достаточно разных файлов, уверяет: "No reason". Если пытаюсь это сделать, то значит "резоны" таки есть. Про остальное молчу, так как воспользоваться, когда была нужда, просто не удалось. Обошелся другими компараторами, без избытка AI. ![]() |
|
Создано: 03 апреля 2011 06:39 · Личное сообщение · #25 |
|
Создано: 03 апреля 2011 13:24 · Поправил: sys_dev · Личное сообщение · #26 >>1. На кой там проверка валидности PE? А если хочется сравнить два откуда-то выдранных куска дампов? А нафига сравнивать бинари? Для сравнения бинарей просто дофигища тулзов!!! К примеру: виндовый "fc" или unix-вая "cmp". Зачем бинарий сравнивать тулзой разработанной исключительно для PE-файлов? Или я чтото не так понял? ![]() |
|
Создано: 03 апреля 2011 18:57 · Личное сообщение · #27 sys_dev пишет: что-то не так понял? Угу. Для bin-compare средств, действительно, хватает. Но, иногда хочется сравнить именно два куска кода, которые заведомо не совпадают бинарно, но скорее всего, одинаковы. Скажем, использованы другие константы внутри кода или простенький полиморф, основанный на замене регистров итп. Например, так: Code:
или так: Code:
Или, требуется сравнить две различных версии одной программы, упакованных, к тому же, разными пакерами, но, предположительно, имеющих в некотором месте функционально идентичный, но бинарно различающийся код. Для этого нужно сравнивать именно дизассемблированный код - и только для этих двух интересующих фрагментов. Или, например, часть файла вообще исходно была зашифрована, код рипнут и дешифрован отдельно и его, опять-таки, хочется с чем-то сравнить - в исходном виде - без всякой привязки к файлу и валидации. Большей частью, все это приходится выполнять в два приема: 1. готовить листинги 2. сравнивать исходники. Не будь "лишних" проверок, в ряде случаев это можно было бы сделать "в один клик". ![]() |
|
Создано: 05 апреля 2011 03:23 · Поправил: ADMIN-CRACK · Личное сообщение · #28 |
|
Создано: 06 апреля 2011 13:00 · Личное сообщение · #29 Пожелания: 1. Возможность исключать заголовок (PE header) из анализа. 2. Возможность удобной и быстрой навигации по изменениям: список + кнопки "<" и ">" 3. Автоматическое именование файла с отчётом по имени файла слева вместо "CmpDisasm.txt": если загружен файл TargetApp.exe, то анализ будет сохранён в файл TargetApp_CmpDisasm.txt ----- EnJoy! ![]() |
|
Создано: 06 апреля 2011 20:52 · Личное сообщение · #30 gazlan Без коментариев. Название топика "Утилита для сравнения PE файлов в дизассемблированном виде" Привет Юпитер, еще раз сенкс за науку, но здесь я Вам повозвражаю: 1. Зачем иключать PE header из анализа. Пусть будет. Я сам часто пользовался заголовком PE что бы разместить там свой код. 2. Навигация... Давно уже думал об этом, но все руки не доходят. Сейчас выложу поправленую (пока без навигации) версию и если затестят нормально, буду ладить навигацию ![]() 3. Именование лог-файла уже обсуждался на третьей странице топа. Может на самом деле сделать "save as..." ![]() |
|
Создано: 06 апреля 2011 21:01 · Личное сообщение · #31 |
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 ... 12 . 13 . >> |
![]() |
eXeL@B —› Софт, инструменты —› CmpDisasm - Утилита для сравнения PE файлов в дизассемблированном виде |