Сейчас на форуме: morgot, sashalogout, -Sanchez- (+3 невидимых) |
eXeL@B —› Софт, инструменты —› CmpDisasm - Утилита для сравнения PE файлов в дизассемблированном виде |
<< 1 ... 9 . 10 . 11 . 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 48de_25.01.2014_EXELAB.rU.tgz - CmpDisasm.rar |
|
Создано: 16 декабря 2012 18:22 · Личное сообщение · #2 |
|
Создано: 16 декабря 2012 19:17 · Личное сообщение · #3 reversecode пишет: eversecode просил сделать диф на границу выровненой инструкции по дизасму длин Думаю не стоит оно того | Сообщение посчитали полезным: JMPer |
|
Создано: 07 февраля 2013 18:18 · Личное сообщение · #4 |
|
Создано: 20 февраля 2013 06:28 · Личное сообщение · #5 |
|
Создано: 20 февраля 2013 10:22 · Личное сообщение · #6 |
|
Создано: 04 апреля 2013 19:30 · Поправил: crc1 · Личное сообщение · #7 Собственно поправил немного *4 апреля 2013 v 0.79 *Изменил интерфейс (кнопки переместил в тулбар) *По дефолту, заголовок выключен из сканирования *Исправил баги которые были отправлены в ПМ и которые нашел сам | Сообщение посчитали полезным: DimitarSerg, verdizela, Kindly, sendersu, linhanshi, KingSise, Gideon Vi, t0ShA, deepred |
|
Создано: 04 апреля 2013 22:53 · Поправил: -=AkaBOSS=- · Личное сообщение · #8 ошибка интерфейса: File Info > Entry Poit плюс тот же баг: в лог старшая цифра адреса не пишется 673f_04.04.2013_EXELAB.rU.tgz - demo.7z | Сообщение посчитали полезным: crc1 |
|
Создано: 05 апреля 2013 09:55 · Личное сообщение · #9 |
|
Создано: 05 апреля 2013 10:31 · Личное сообщение · #10 |
|
Создано: 05 апреля 2013 11:33 · Поправил: crc1 · Личное сообщение · #11 |
|
Создано: 05 апреля 2013 11:46 · Личное сообщение · #12 |
|
Создано: 05 апреля 2013 11:58 · Поправил: crc1 · Личное сообщение · #13 упс -=AkaBOSS=- Ошибочку и лог-файл поправил http://rghost.ru/45056833 | Сообщение посчитали полезным: -=AkaBOSS=-, stas_02 |
|
Создано: 13 апреля 2013 15:40 · Личное сообщение · #14 Еще одно обновление 0.81 Добавил я все таки сканирование файлов вперед-назад ну и баги поправил, спасибо -=AkaBOSS=- http://rghost.ru/45255648 | Сообщение посчитали полезным: deepred, DimitarSerg, -=AkaBOSS=-, zNob, Dazz |
|
Создано: 13 апреля 2013 15:59 · Личное сообщение · #15 |
|
Создано: 13 апреля 2013 16:54 · Личное сообщение · #16 |
|
Создано: 13 апреля 2013 18:07 · Поправил: Kindly · Личное сообщение · #17 crc1, добавь плиз возможность копирования байтов с hex-дампа без захвата адресов и ASCII дампа (только байты), и без "черточек" (опционально хотя бы). Ну и: mov al,1 retn если сравнивается с началом оригинальной функи "кривит" в дизасме аж на 4 инструкции reversecode пишет: он этого делать не будет ясно ----- Array[Login..Logout] of Life |
|
Создано: 13 апреля 2013 18:13 · Личное сообщение · #18 |
|
Создано: 17 июля 2013 23:55 · Личное сообщение · #19 win7x64 0.81 версия падает (5 раз кнопку Next) что интересно, дельта в секции ресурсов (шот1) 1bea_17.07.2013_EXELAB.rU.tgz - cmp-081-crashpics.zip |
|
Создано: 02 августа 2013 18:46 · Поправил: reversecode · Личное сообщение · #20 наличие чек боксов в информации о секциях где можно выбрать секцию .data и отменить секцию .text не работает, все равно сравнивается все если повтороно открыть это окно, то чекбоксы не сохраняются полагаю эти пункты не работают вообще? но задумывались сравнить два файла которые по разному скомпилены, вообще нельзя.. здесь наверное лучше подходит pediff, который и хеш мачинг делает и ищет функции даже если они смещены |
|
Создано: 07 сентября 2013 22:08 · Поправил: crc1 · Личное сообщение · #21 |
|
Создано: 08 декабря 2013 08:27 · Личное сообщение · #22 |
|
Создано: 13 декабря 2013 21:43 · Личное сообщение · #23 crc1 Спасибо за обновление. Баг в обработке импорта. Проверь на файлах, у которых WSOCK32.dll в импорте. 7080_13.12.2013_EXELAB.rU.tgz - CmpDisasm_import_bug.png ----- EnJoy! |
|
Создано: 13 декабря 2013 23:31 · Поправил: crc1 · Личное сообщение · #24 Jupiter пишет: Спасибо за обновление.Баг в обработке импорта. Проверь на файлах, у которых WSOCK32.dll в импорте. Спасибо за баг реп. Этот баг возникал на x64 файлах, у которых импорт из модулей идет по ординалу. Недочет был в разрядности DWORD - QWORD. Еще не привык к х64 Поправил. P.S. Разделом "Скачать" имхо Боров занимается. Пора бы версию подновить 05e0_13.12.2013_EXELAB.rU.tgz - CmpDisasm.rar |
|
Создано: 14 декабря 2013 04:35 · Личное сообщение · #25 |
|
Создано: 14 декабря 2013 07:16 · Поправил: dosprog · Личное сообщение · #26 crc1, это не багрепорт как таковой, а просто пожелания/предложения: 1) хорошо бы принимать имена сравниваемых файлов и из командной строки (если они там заданы). 2) Также хорошо бы в режимах Asm,Hex,Imp,Exp при нажатии на Ctrl+<,Ctrl+> выполнять "сравнение со сдвижкой" второго файла на 10h байт, а по Ctrl+ArrowUP,Ctrl+ArrowDown - то же самое со сдвижкой на 1 байт (в HEХ моде) или на 10\1 инструкцию (в дизасм.моде). Т.е. смещение и тут же снова синхронизация уже с учётом этой сдвижки. (Это к тому, о чём писал reversecode: ... сравнить два файла которые по разному скомпилены, вообще нельзя.. здесь наверное лучше подходит pediff, который и хеш мачинг делает и ищет функции даже если они смещены. Да и раньше другие). Сейчас - прекращение сравнения, если программа определила, что "это совсем разные файлы", а там весь код-то сдвинут на 3 байта... Нужно бы не прерывать сравнение, а дать юзеру возможность "подвигать" второй файл относительно первого. Понятное дело, такая опция серьёзно все усложняет... Хотя... 3) В опцию "Save differences in file" можно бы добавить "Сохранение в формате .CRK". (Хотя это можно делать и другими программами). А в этом сохранении CRK - ещё опция "Сохранять с виртуальными адресами" - это было бы полезно. Ну, например: Сохранённый файл - обычный .CRK: - - - - - - - - - - - - - - - - - - - ->8 SuperPuper v.223.002b Make fully damaged file: sppr.exe 00000001 4D FF 00000002 5A FF 0000074C FC 90 - - - - - - - - - - - - - - - - - - - ->8 Сохранённый файл - то же самое, но с виртуальными адресами: - - - - - - - - - - - - - - - - - - - ->8 SuperPuper v.223.002b Make fully damaged file: sppr.exe 00000001 4D FF 00000002 5A FF .040134C FC 90 - - - - - - - - - - - - - - - - - - - ->8 P.S.- если при этом ещё учитывать сказанное в 2) - начинается вообще что-то похожее на тёмный лес... 4) А вот тут, похоже, небольшое упущение: в режиме сравнения "PE Header" отсутствует синхронизация прокрутки, которая есть в других режимах. -- ADD -- К следующему посту: crc1, понятно. В общем-то, всё вполне юзабельно и так. Просто смотря для чего. В большинстве случаев приходится сравнивать просто два текста листингов. -- ADD2 -- К пункту 3) Опцию "Save differences in file" можно было бы дополнить возможностью сохранять эти данные в формате скрипта .RPP для Эти скрипты можно делать и вручную, но удобно было бы автоматизировать. Если бы была возможность задавать аргументы в командной строке, тогда процесс генерации лоадера можно было бы выполнять вообще автоматически, с помощью .BAT-файла с вызовом CMPDISASM, а следом RPP. Ну это так, просто пожелания. Нет - так нет. Время, которого нет, это деньги, которых тоже почти нет... |
|
Создано: 14 декабря 2013 21:49 · Личное сообщение · #27 Jupiter пишет: Но вот при открытии вкладки Export, показывает почему-то только для 1-го (левого) файла. У меня обе показывает, при условии что открыты два файла Отпишите у кого по другому dosprog 1. А она нужна ком. строка? Если еще пара, тройка человек отпишется, сделаю ком. строку. 2. По пункту № 2, (тут каждый может крутить вертеть как бы все это было здорово ежели да кабы) Еще раз для непонятливых оъясняю - это утилита (просто утилита, а не програмный коплекс) для сравнения PE файлов в дизассемблированном виде. Не буду я заморачиваться со сдвигами dosprog пишет: Сейчас - прекращение сравнения, если программа определила, что "это совсем разные файлы", а там весь код-то сдвинут на 3 байта... Нужно бы не прерывать сравнение, а дать юзеру возможность "подвигать" второй файл относительно первого. Кому интересно - пишите сами. Идея проста как три копейки берете два файла и сравниваите их побайтово. Как нашли отличие, выводите на экран используя любой дисасм движок ну и паралельно внедряя все плюшки кому как хочется 3. Пунк №3 не понял dosprog пишет: А в этом сохранении CRK - ещё опция "Сохранять с виртуальными адресами" - это было бы полезно.Ну, например: А сейчас разве не так. Или нужно сохранение с офсетами? 4. Смотри п.1 Если надо сделаю |
|
Создано: 14 декабря 2013 22:45 · Личное сообщение · #28 crc1 пишет: Кому интересно - пишите сами. Идея проста как три копейки берете два файла и сравниваите их побайтово. Как нашли отличие, выводите на экран используя любой дисасм движок ну и паралельно внедряя все плюшки кому как хочется не все там так просто нужно внедрять и иметь стоп поинты окончания анализа т.е. знать чем функции заканчиваются а они не всегда заканчиваются retn может быть оптимизация при которой retn будет внутри, а самый крайний будет jmp ведущий внутрь функци ну итд |
|
Создано: 15 декабря 2013 16:25 · Личное сообщение · #29 |
|
Создано: 15 декабря 2013 17:35 · Личное сообщение · #30 reversecode пишет: не все там так просто Ну а я про что. Четыре года назад меня заинтересовал PE формат, я начал его постигать и наваял данную утилиту. Дальше копать мне стало не интересно и как говорит тов. Drop, шекелей мне с нее не капает. То что хотите вы, с PE форматом рядом не стояло (вернее стояло, но на ранних стадиях) GPcH Прошу прощения, так и не удосужился поставить Win 8 x64 на виртуалку Скинь в ЛС проблемные файлы, в ближайшее время поставлю Win 8 x64 и попробую разобратся |
|
Создано: 15 декабря 2013 19:04 · Личное сообщение · #31 crc1 У меня на разных файлах такое. Думаю проблема не в файлах а в какой то несовместимости с системой. И если таки найдешь на это время, на виртуалку сразу ставь 8.1 x64 (оригинальной восьмерки у меня уже нет чтобы проверить). ----- Никогда не делай то, что возможно. Стремись сделать то что невозможно впринципе! |
<< 1 ... 9 . 10 . 11 . 12 . 13 . >> |
eXeL@B —› Софт, инструменты —› CmpDisasm - Утилита для сравнения PE файлов в дизассемблированном виде |