надо выявить различия в двух программах (версия 1 и версия 1.1). использую winhex - но она сравнивает только в хексах, мне же нужно более удобное средство сравнения + встроенный дизассемблер. что можете посоветовать?
А как еще? просто прогнать в иде, в отладчике и посмотреть что и как. Только и всего. Тем более, что все равно одно цепляется за другое и не все так страшно окажется в итоге. Хотя если у кого-то есть варианты получше, то это замечательно
от ситуации зависит. Можно, например, тупо выдергнуть секции кода и их проверять обычным fc, уравнив их размер думайте, фантазируйте
подними статьи ксакепа за 2оо6й год. помню что там была содержательная(что парадокс само по себе) статья о написании патчей. там тебе и прога готовая, и howto, и исходник.
А как еще можно сравнить бинарник ? Только в хексах ! Что значит более удобное ? Чем fc неудобный ? То что ты хочеш это не тупое сравнение а реверс инженеринг дело непросто долгое и кропотливое.
кстате можно: берём idapro+hexrays дампим сишник(или асм без ХР) повторяем со вторым ехе. выбираем оба файла в тотал коммандере, и жмём alt+c можно и без дампа и иды. но так нагляднее.
asmlamo - добавление 2-3 инструкций приведут к тому что ВСЕ последующие байты будут определяться как РАЗНЫЕ. нелогично если эти инструкции добавятся в самом начале секции кода в 1-2 мбайтном файле... логичнее и помойму правильнее сравнивать имено процедурно. SWR, Comer_ - вчера я примерно так и начал делать - сначала в ида потом скриптом обрабатывать... жаль что нету специализированных средств...) ps. Comer_ - если можно о ксакапе поподробнее (на wasm.ru статья?)
..чем тотал коммандер не средство? ксакеп это журнал ][akep ) мы его сами не любим, но всёравно читаем .))
loginrl_103 Все зависит от ситуации. Если логику не меняли и компилили тем же компилятором, то метод дизасм и сравнение в ТоталКоммандере самое наглядное. Но если поменяли логику или сменили компилятор - процедуры могут поменятся местами и кроме головы ничто не поможет. Помню, как пришлось мучится и искать место патча. Раньше оно было почти по фиксированному адресу, а потом оказалось в середине 40 Мбайтного экзешника. Тут никакое сравнение не поможет, только интуитивный поиск по 400 Мбайтному дизасму. Ну а смена компилятора или версии защиты- самое гиблое. Вроде и проги не сильно поменялись, но если раньше патчились простым jmp на нормальный выход, то теперь ... темный лес. Так и не получил я вознаграждение.