Сейчас на форуме: 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 |
|
Создано: 11 октября 2009 22:30 · Личное сообщение · #2 SVLab пишет: Courier New 7 должен влезть. Влазит, но нихрена не читабельно, очень мелко. Пока выложу друг над другом, а потом есть мысли. Bronco я тестил на разных файлах, адресация у меня не сбивается, просто обычно в данных меняют надписи и т.д., поэтому в дсизасм листинге отображается не пойми чего. Но адресация на месте. Проверь в Оле. |
|
Создано: 12 октября 2009 02:28 · Личное сообщение · #3 |
|
Создано: 17 ноября 2009 11:48 · Личное сообщение · #4 |
|
Создано: 05 декабря 2009 23:37 · Поправил: crc1 · Личное сообщение · #5 theCollision пишет: проект умер Скорее жив, чем мертв Выкладываю версию 0.5 Add * Добавлены HEX дампы файлов * Добавлена возможность сравнивать диапазоны файлов Del * Выкинул dll (но двиг из нее) Добавлен выбор шрифта для HEX дампа. На одном ноутбуке при тестировании столкнулся с такой траблой. В контролы для HEX дампа упорно не хотел грузиться шрифт Courier New, а грузился Arial или х.з. какой. Естественно дампы отображались не красиво. Причину не выяснил, на других компах все нормально. Помогла замена на шрифт Lucida Console. Так что если у кого будут проблемы со шрифтом, юзайте Lucida Console. Настройки шрифта сохранятся в реестре... Теперь дальше, причину я всетаки выяснил. Оказалось на обоих ноутбуках (а и их уже стало два) не устанавливаются шрифты в RichTextBox. Причем не важно где скомпилен exe. Проверял на делфях и на VB. На обоих буках установлена win XP SP3 сборки Zver Так, что у кого HEX дампы отображаютя криво все вопросы к Зверю. Тестировал на win XP SP2; win XP SP3(чистой); win7 |
|
Создано: 06 декабря 2009 00:13 · Личное сообщение · #6 |
|
Создано: 06 декабря 2009 00:22 · Личное сообщение · #7 |
|
Создано: 06 декабря 2009 00:46 · Личное сообщение · #8 |
|
Создано: 06 декабря 2009 01:03 · Личное сообщение · #9 crc1 пишет: * Добавлены HEX дампы файлов -при увеличении окна (например на весь екран) - два хекс окошка не увеличиваються -при смене цветов - отрисовка очень медленная, буквально на глаза видно как закрашиваються байтики - или ето фича? -как насчет добавить контекстное меню в хекс окошка? (для копирования разных частей содержимого) -откр. 2а файла, Compare, делаем Open second, Cancel, menu -> Save differences in file -> краш с текстом The following error happened: Invalid memory access -> Закрытие пожелания -запоминать сравниваемые файлы в меню (MRU list) -менять фонт для листинга тоже |
|
Создано: 06 декабря 2009 01:25 · Поправил: crc1 · Личное сообщение · #10 SVLab пишет: не отключается, несмотря на снятый чекбокс. Поглядим, главное, чтобы при сравнении диапазонов глюков не вылезало, а то у меня тестер маладой еще... sendersu пишет: при увеличении окна (например на весь екран) - два хекс окошка не увеличиваютьс так задумано. Это не полноценный HEX редактор, а утилита которая показывает по каким VA или Offset есть различия. при смене цветов - отрисовка очень медленная не понял, у меня все лЁтом, отпишитесь у кого еще так добавить контекстное меню в хекс окошка? (для копирования разных частей содержимого) А что, в дизасме мало контекстного меню. Там вроде все в буфер можно скопировать Хотя, согласен добавить можно откр. 2а файла, Compare, делаем Open second, Cancel Пожалуйста подробнее в личку |
|
Создано: 06 декабря 2009 02:40 · Личное сообщение · #11 crc1 пишет: при увеличении окна (например на весь екран) - два хекс окошка не увеличиваютьс так задумано. Это не полноценный HEX редактор, а утилита которая показывает по каким VA или Offset есть различия. согласен, но вопрос не о редакторе, а о примитивном растягивании хекс-контрола (!) согласно размеру парент окна (скину видео - там будет видно) crc1 пишет: при смене цветов - отрисовка очень медленная не понял, у меня все лЁтом, отпишитесь у кого еще так crc1 пишет: при смене цветов - отрисовка очень медленная не понял, у меня все лЁтом, отпишитесь у кого еще так если байт мало - рисует бысто, если много - очеееееень медленно (будет видно на видео) crc1 пишет: откр. 2а файла, Compare, делаем Open second, Cancel Пожалуйста подробнее в личку отослал Видео снимал UVScreenCamera в .exe (все другие - генерируют большой размер) |
|
Создано: 06 декабря 2009 09:39 · Личное сообщение · #12 В HEX-режиме, если много различий, действительно закрашивается медленно. Но смена цвета здесь ни причем. При сравнении новый участок появляется мгновенно, а вот дальнейшее закрашивание тормозит. Если после сравнения некоторого диапазона попытаться задать другой (можно даже не менять адреса, а просто включить чекбокс еще раз) и попробовать нажать Compare, вываливается ошибка "The following error happened: Invalid memory access" с последующим терминатом. А почему бы не перенести настройки региона на главное окно? Если надо посмотреть секции - есть ведь специальный пункт меню. |
|
Создано: 07 декабря 2009 14:32 · Личное сообщение · #13 crc1 1) При вертикальном расположении 17 дюймового монитора и при разрешении 1024 на 1280 у меня кнопка File 2 закрыта панелью быстрого запуска 2) При диалоге Section information жму ESC и ожидаю исчезания окна с глаз долой, а фигу! 3) Кнопка section info что рядом с Log , внизу не видно! 4) Нихрена не понятно нафига надо разделять действия Ctrl+z, Ctrl+x ?! Давно пора создать диалог в котором можно указать один файл и другой файл и кнопки "ок", "Отмена". Это НАИЛУЧШЕЕ решение, не стоит изобретать то что пока еще не сможешь! У тебя нету опыта создания офигенного пользовательского интерфейса, потому делай то что принято в других! Потом, когда будет кул-прога, будешь эксперементировать! ИМХО,но ... 5) Предлагаемый мною диалог в п.4 выше, следует запускать не токо по кнопке, но и когда стартуешь прогу жмякая по exe файлу! 6) Меню Опции вынеси в File -> Preferences или както так, а уж по этому сабменю вызывай диалог с опциями, это вполне понятное многим решение!!! Впечатление такое, что программист хотел поиграться с раскарской меню больше, чем продвинуть прогу в плане функциональности! ----- My love is very cool girl. |
|
Создано: 07 декабря 2009 14:47 · Личное сообщение · #14 Предлагаю подумать и понять, что хочешь получить в конечном итоге после разработки хоть какого-то базового функционала, и что все-таки должна решать эта программа? Для этого выясни пока вот это: 0) Каковы главные проблемы, что тебя толкнули на создание этой проги ? (ответ "захотелось чтото напес тать" глуп, ибо нецелесообразно тратить время просто так!"); 1) Цель; 2) Целевая аудитория(на кого расчитана прога, т.е. кто стандартный юзер); 3) Вид интерфейса(консольный или графический); 4) Базовые задачи которые решает "стандартный" юзер при использовании, подобного рода программ! 5) Самая лучшая программа в этой области. И что собственно ее делает лучшей не с твоей колокольни, а со стороны юзеров(для этого форумы, обзоры и т.д. и т.п); Настоятельно рекомендую отталкиваться не от мыслей и выводов вида: "я думаю, что так будет лучше". А лучше от подобных "В проге икс подобное сделано так и юзеру удобно, за исключением недочета, поэтому лучше подвину\перенесу\создам\назначу кнопку ... " ----- My love is very cool girl. |
|
Создано: 07 декабря 2009 18:04 · Личное сообщение · #15 theCollision пишет: 6) Меню Опции вынеси в File -> Preferences или както так, а уж по этому сабменю вызывай диалог с опциями, это вполне понятное многим решение!!! Не согласен, зачем лишние телодвижения? Зачем здесь диалог с опциями, чтобы вызвать два стандартных диалога выбора цвета и шрифта? И менюшек не так много, чтобы была нужда в субменю. ИМХО непрограммиста: Задаваться вопросами второго поста следует при создании коммерческого проекта или когда нечего делать и хочется что-нибудь наваять, а зачем автор делает эту программу, написано в шапке. |
|
Создано: 07 декабря 2009 18:23 · Поправил: theCollision · Личное сообщение · #16 SVLab >>Не согласен, зачем лишние телодвижения? Сегодня это всего лишь цвет и шрифт, а что будет через месяц и если у автора хватит терпение, через год-два ? Программа изначально должна делаться по-уму, а не через жопу, тем более если видно в каких местах ее можно сделать получше изначально! Рассмотрим: Internet Explorer -> Tools -> Internet Options; Total Commander -> Configurations -> Options; Outlook -> Сервир -> Параметры; MS Visual Studio 2008 Team Ed -> Tools -> Options; IDA -> Options -> Genaral; Зачем отходить от правил ? Не вижу смысла изобретать колесо. >>при создании коммерческого проекта С точки зрения непрограммиста, программа имеет шанс быть вполне успешным коммерч. проектом! ----- My love is very cool girl. |
|
Создано: 07 декабря 2009 21:22 · Личное сообщение · #17 theCollision пишет: Зачем отходить от правил ? Разве есть правила, где размещать настройки? Можно привести в пример кучу других программ, где для настроек выделено отдельное меню: OllyDbg VirtualDub WinRAR Outpost Process Explorer Dr.Web И это гораздо удобнее, т.к. нет необходимости разыскивать их по разным меню, а пихают их куда кому как вздумается, что и видно из твоего примера. |
|
Создано: 19 декабря 2009 13:17 · Поправил: SER[G]ANT · Личное сообщение · #18 Небольшой "баг" в лог файле. Если были изменены несколько участков кода, но адреса изменений находятся рядом, то в лог файле они дублируются столько же раз, сколько кол-во этих адресов. Сам не понял бы, что я только что написал, но просто по другому объяснить пока не получается. Вообщем, если взгянуть на часть лога, то все будет понятно Code:
|
|
Создано: 21 декабря 2009 22:27 · Личное сообщение · #19 Уже бежал сообщать о баге с неправильным определнием VA кода (видимо неправильно разбивалось на секции), обновил на последнюю версию, баг исчез - VA правильные. Однако не радует другое, не хватает чуть-чуть интерактивности. То есть сказать где нужно начать (адрес) дизасм кода, ибо никакой дизасм это не сможет сам определить (ну если только не ввести проверку кода на валидность, что всё равно будет работать через раз). |
|
Создано: 28 декабря 2009 01:26 · Личное сообщение · #20 |
|
Создано: 22 января 2010 12:54 · Поправил: crc1 · Личное сообщение · #21 Всем привет, с прошедшими праздниками поздравляю. По порядку sendersu пишет: при смене цветов - отрисовка очень медленная Исправил sendersu пишет: как насчет добавить контекстное меню в хекс окошка? Добавилsendersu пишет: запоминать сравниваемые файлы в меню Сделал SVLab пишет: Если после сравнения некоторого диапазона попытаться задать другой (можно даже не менять адреса, а просто включить чекбокс еще раз) и попробовать нажать Compare, вываливается ошибка "The following error happened: Invalid memory access" с последующим терминатом. У меня такая ошибка не появляется, всяко разно пробовал. Теперь отвечу theCollision Спасибо, что Вы написали мне тех. задание. Вы очень просветили меня, особенно в: theCollision пишет: 0) Каковы главные проблемы, что тебя толкнули на создание этой проги ? (ответ "захотелось чтото напес тать" глуп, ибо нецелесообразно тратить время просто так!"); 1) Цель; 2) Целевая аудитория(на кого расчитана прога, т.е. кто стандартный юзер); 3) Вид интерфейса(консольный или графический); 4) Базовые задачи которые решает "стандартный" юзер при использовании, подобного рода программ! 5) Самая лучшая программа в этой области. И что собственно ее делает лучшей не с твоей колокольни, а со стороны юзеров(для этого форумы, обзоры и т.д. и т.п); Далее theCollision пишет: Программа изначально должна делаться по-уму, а не через жопу А вот оскорблять себя я не позволю, так что Вы theCollision кыш нах из этого топика SER[G]ANT пишет: Небольшой "баг" в лог файле. Знаю, исправлю progopis пишет: не хватает чуть-чуть интерактивности. То есть сказать где нужно начать (адрес) дизасм кода Дык вроде есть сравнение диапазонов, задавай любые адреса? или я что то не понял. CmpDisAsm v 0.6 |
|
Создано: 22 января 2010 13:44 · Поправил: Bonez92 · Личное сообщение · #22 |
|
Создано: 22 января 2010 14:03 · Личное сообщение · #23 >>А вот оскорблять себя я не позволю, так что Вы theCollision кыш нах из этого топика Какой нервный ))) По ГУИ: баг номер раз: У меня не горизонатальное расположение моника, а вертикальное и при разрешении 1024 на 1280 "кушается" часть кнопки на панели относящееся к второму файлу, кнопка похоже с надписью "File 2", но я даже ее не вижу! ----- My love is very cool girl. |
|
Создано: 22 января 2010 14:42 · Личное сообщение · #24 |
|
Создано: 22 января 2010 16:33 · Личное сообщение · #25 |
|
Создано: 22 января 2010 17:53 · Личное сообщение · #26 |
|
Создано: 23 января 2010 11:40 · Личное сообщение · #27 |
|
Создано: 23 января 2010 12:00 · Личное сообщение · #28 А в HEX-режиме нельзя сделать переключение вывода адресов? И нельзя ли сделать что бы при нажатии Compare не слетал вид отображения адресов, заданный кнопками? Можно ли в окне задания диапазона сделать, что бы при щелчке на строку секции ее значения вбивались в поля? Сравниваю два файла, отличающиеся в двух местах: одно место - 3 байта, другое - 272 байта, здесь в одном файле просто нули, в другом - нормальный код. В HEX-режиме все нормально, большой блок выводится полностью. В режиме дизассемблера различия до конца не выводятся, пишется что больше нет, хотя остается еще 66 байт. И при сравнении как целого файла, и при задании диапазона. Но различия у этих режимов все же есть. Если сравниваю как файл полностью, этот блок разбивается на две части, выводится одна часть, затем вторая, затем пишется, что различий нет. Если нажать еще раз, то снова переходит к отображению 3-байтного различия. В режиме диапазона выводится только первая часть второго места, после этого при нажатии на Compare возвращается к 3 байтам и одновременно пишет, что различий больше нет. А если в файле имеются различия вне заданного диапазона (спецом немного менял секцию, находящуюся перед сравниваемыми), то выводится самое первое различие. Прервал сравнение всего файла, не дожидаясь сообщения, что ничего не найдено, и задал диапазон, при нажатии Compare полчил ошибку Windows по адресу 4045fe Как и впрошлой версии, перейти к сравнению всего файла после задания диапазона уже невозможно. Этот режим никак не отключается. Можно задать только другой диапазон, ошибки, которая у меня вываливалась, больше нет. Повторюсь: нельзя ли продублировать поля задания диапазона и чекбокс на главном окне? |
|
Создано: 23 января 2010 12:41 · Личное сообщение · #29 crc1 пишет: Ниче не понял из твоего поста, объясни вдумчиво Добавьте такую функцию, которая будет сохранять лог файл в html формате. Пример: 4 differences found: 401xxx - 4 bytes 401yyy - 1 byte Причем эти самые "401xxx - 4 bytes" сделайте гиперссылками, при нажатии которой браузер "перекинет" на этот самый: Code:
|
|
Создано: 23 января 2010 19:34 · Поправил: gr0t · Личное сообщение · #30 Все давно уже сделано и бесплатно, как плаг для иды. |
|
Создано: 23 января 2010 19:46 · Личное сообщение · #31 gr0t пишет: Все давно уже сделано и бесплатно, как плаг для иды. И это тут ни для кого не новость: http://exelab.ru/f//action=vthread&forum=3&topic=13792 |
<< . 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 ... 12 . 13 . >> |
eXeL@B —› Софт, инструменты —› CmpDisasm - Утилита для сравнения PE файлов в дизассемблированном виде |