Сейчас на форуме: 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 48de_25.01.2014_EXELAB.rU.tgz - CmpDisasm.rar |
|
Создано: 31 августа 2012 18:35 · Личное сообщение · #2 crc1 пишет: отнимаю 48h от адреса отличия (что бы выровнять диpасм листинг). что это за значение? если от фонаря то оно может выровнять не на ту инструкцию, что в итоге и получаем crc1 пишет: Ты хочешь что бы вывод дизасма начинался сразу с адреса отличия? хотел, это бы в большинстве случаев исправляло ситуацию, если в левом окне уже позиция выровнена на размер инструкции(она обозначена желтым цветом) - значит и в правом окне нужно по любому начинать дизассмить с этой инструкции ситуацию при которой это бы заглючило я вроде не вижу, ошибаюсь? ps сделай что бы окно cmpdisasm можно было ресайзить |
|
Создано: 31 августа 2012 19:02 · Поправил: crc1 · Личное сообщение · #3 |
|
Создано: 31 августа 2012 19:10 · Поправил: reversecode · Личное сообщение · #4 crc1 пишет: * Окно проги разворачивается на весь экран и скажу больше, его можно таки ресайзить виндовс виста, можно ресайзить только вверх и вниз, вправо влево не ресайзится, хотя курсор меняется crc1 пишет: Проверил, все ресайзится (на xp и win7), висту фтопку хорошо, спишем на баги винды если все же у кого то есть виста - просьба проверить |
|
Создано: 31 августа 2012 19:20 · Личное сообщение · #5 |
|
Создано: 31 августа 2012 19:32 · Личное сообщение · #6 |
|
Создано: 31 августа 2012 20:13 · Личное сообщение · #7 reversecode высказал пожелание показывать дисасм листинг начиная с точки отличия. Я скомпилил такой вариант. Попробуйте и выскажите свое мнение Вариант будет называться CmpDisasmRC 3bff_31.08.2012_EXELAB.rU.tgz - CmpDisasmRC.rar | Сообщение посчитали полезным: SReg |
|
Создано: 01 сентября 2012 21:08 · Личное сообщение · #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() |
|
Создано: 01 сентября 2012 22:51 · Личное сообщение · #9 |
|
Создано: 03 сентября 2012 12:37 · Личное сообщение · #10 |
|
Создано: 03 сентября 2012 15:21 · Личное сообщение · #11 |
|
Создано: 03 сентября 2012 16:45 · Личное сообщение · #12 |
|
Создано: 04 сентября 2012 11:49 · Личное сообщение · #13 |
|
Создано: 04 сентября 2012 20:20 · Личное сообщение · #14 sendersu пишет: что еще заметил - 2ая версия та что должна показивать с начала дифф - иногда (редко, гдето 10%) все же надо скроллить вверх втурую часть Исправил 2c34_04.09.2012_EXELAB.rU.tgz - CmpDisasmRC.rar | Сообщение посчитали полезным: WildGoblin, tomac, igorca |
|
Создано: 14 сентября 2012 21:19 · Личное сообщение · #15 |
|
Создано: 16 сентября 2012 19:19 · Личное сообщение · #16 |
|
Создано: 17 сентября 2012 00:27 · Личное сообщение · #17 |
|
Создано: 17 сентября 2012 14:49 · Личное сообщение · #18 |
|
Создано: 17 ноября 2012 14:13 · Поправил: crc1 · Личное сообщение · #19 |
|
Создано: 21 ноября 2012 01:30 · Личное сообщение · #20 |
|
Создано: 21 ноября 2012 11:44 · Поправил: c7111981 · Личное сообщение · #21 |
|
Создано: 21 ноября 2012 21:04 · Личное сообщение · #22 crc1 Уже восьмерка месяц как оффициально вышла. Лучше бы сразу ее ставил. В восьмерке падает при нажатии кнопки Compare после выбора двух файлов: Необработанное исключение по адресу 0x77A4A94F (ntdll.dll) в CmpDisasmRC.exe: 0xC0000374: Куча была повреждена (параметры: 0x77A5E1E8). Причем если загрузить в отладчике и продолжить выполнение проги после эксепшена - далее все корректно выводится. Интересно что ты такое там делаешь что оно после падения работает ----- Никогда не делай то, что возможно. Стремись сделать то что невозможно впринципе! |
|
Создано: 21 ноября 2012 21:17 · Поправил: Модератор · Личное сообщение · #23 |
|
Создано: 22 ноября 2012 15:36 · Личное сообщение · #24 CTPaHHuk Поржал. После первого SP надо будет уже Windows 9 ставить а не проверять глючность прог на восьмерке ) Наверное до сих пор на XP, угадал? По факту соглашусь с арчером. Из всего набора необходимого мне софта ничего не глючит на восьмерке. Система работает даже стабильнее седьмой (нет memory leak'ов после двухнедельных гибернейтов, очистка памяти работает заметно лучше). А пуск легко возвращается бесплатной программой "Classic Start Menu" (которая в довесок еще и убирает левый нижний актив корнер). ----- Никогда не делай то, что возможно. Стремись сделать то что невозможно впринципе! |
|
Создано: 22 ноября 2012 18:02 · Личное сообщение · #25 |
|
Создано: 08 декабря 2012 16:37 · Личное сообщение · #26 |
|
Создано: 08 декабря 2012 17:32 · Личное сообщение · #27 ----- Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли. |
|
Создано: 09 декабря 2012 18:50 · Поправил: crc1 · Личное сообщение · #28 |
|
Создано: 11 декабря 2012 19:06 · Поправил: crc1 · Личное сообщение · #29 GPcH пишет: Причем если загрузить в отладчике и продолжить выполнение проги после эксепшена - далее все корректно выводится Поставил Windows8-64 по ссылке ClockMan,а на ВМварю Нормально работает без всякого отладчика Не могу воспроизвести ошибку evggrig пишет: А может быть такое что два одинаковых файла (пропатчено только пару команд), файловая инфа у обоих совпадает отказывается сравнивать пишет файлы разные? Не может, это означает что в файлах более двух сотен отличий. Проверь любым HEX сравнивателем add По просьбе sendersu потестировал его файлы на win8 x64. Нашел ошибку, исправил. Прошу проверить. Еще crc1 пишет: reversecode высказал пожелание показывать дисасм листинг начиная с точки отличия. Я скомпилил такой вариант. Попробуйте и выскажите свое мнениеВариант будет называться CmpDisasmRC Заметил, что этот вариант глючный, если изменения сделаны в середине инструкции. А вот так должно быть Так что выкладываю старый вариант отображения листинга с исправлениями багов 73b6_11.12.2012_EXELAB.rU.tgz - CmpDisasm.rar |
|
Создано: 13 декабря 2012 03:03 · Личное сообщение · #30 |
|
Создано: 13 декабря 2012 03:15 · Личное сообщение · #31 crc1 пишет: Заметил, что этот вариант глючный, если изменения сделаны в середине инструкции. потому что reversecode просил сделать диф на границу выровненой инструкции по дизасму длин, видимо этого выравнивания так и нет, поэтому оно дифает от начала первой разницы в байтах и если в средине инструкции тогда нето |
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 ... 12 . 13 . >> |
eXeL@B —› Софт, инструменты —› CmpDisasm - Утилита для сравнения PE файлов в дизассемблированном виде |