сравнение

Тема в разделе "WASM.BEGINNERS", создана пользователем loginrl_103, 30 апр 2008.

  1. loginrl_103

    loginrl_103 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2008
    Сообщения:
    271
    надо выявить различия в двух программах (версия 1 и версия 1.1). использую winhex - но она сравнивает только в хексах, мне же нужно более удобное средство сравнения + встроенный дизассемблер.
    что можете посоветовать?
     
  2. eight

    eight New Member

    Публикаций:
    0
    Регистрация:
    14 авг 2007
    Сообщения:
    27
    дизассемблер - IDA Pro
     
  3. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
  4. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    опередил...
     
  5. loginrl_103

    loginrl_103 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2008
    Сообщения:
    271
    он умеет искать различия между двумя файлами?
     
  6. eight

    eight New Member

    Публикаций:
    0
    Регистрация:
    14 авг 2007
    Сообщения:
    27
    это интерактивный дизассемблер. Думаю, что отличия ты и найти сможешь

    censored ;)
     
  7. loginrl_103

    loginrl_103 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2008
    Сообщения:
    271
    если несколько сот изменений...вручную чтоли сравнивать???
    поиск различий именно в процедурах...
     
  8. eight

    eight New Member

    Публикаций:
    0
    Регистрация:
    14 авг 2007
    Сообщения:
    27
    А как еще? просто прогнать в иде, в отладчике и посмотреть что и как. Только и всего. Тем более, что все равно одно цепляется за другое и не все так страшно окажется в итоге. Хотя если у кого-то есть варианты получше, то это замечательно
     
  9. loginrl_103

    loginrl_103 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2008
    Сообщения:
    271
    вручную выискивать сотни изменений?...есть решения, есть, только какие?)
     
  10. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    от ситуации зависит. Можно, например, тупо выдергнуть секции кода и их проверять обычным fc, уравнив их размер ;) думайте, фантазируйте
     
  11. Com[e]r

    Com[e]r Com[e]r

    Публикаций:
    0
    Регистрация:
    20 апр 2007
    Сообщения:
    2.624
    Адрес:
    ого..
    подними статьи ксакепа за 2оо6й год. помню что там была содержательная(что парадокс само по себе) статья
    о написании патчей. там тебе и прога готовая, и howto, и исходник.
     
  12. asmlamo

    asmlamo Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    1.734
    А что есть метод из сотни изменений сделать 10 ???

    Бери fc и сравнивай ....
     
  13. asmlamo

    asmlamo Well-Known Member

    Публикаций:
    0
    Регистрация:
    18 май 2004
    Сообщения:
    1.734
    А как еще можно сравнить бинарник ? Только в хексах !

    Что значит более удобное ? Чем fc неудобный ?

    То что ты хочеш это не тупое сравнение а реверс инженеринг дело непросто долгое и кропотливое.
     
  14. SWR

    SWR New Member

    Публикаций:
    0
    Регистрация:
    11 май 2006
    Сообщения:
    226
    Адрес:
    Russia
    Я обычно дизасамблил в иде и сохранял как текст.
    А потом любым удобным дифф для текста
     
  15. Com[e]r

    Com[e]r Com[e]r

    Публикаций:
    0
    Регистрация:
    20 апр 2007
    Сообщения:
    2.624
    Адрес:
    ого..
    кстате можно:
    берём idapro+hexrays
    дампим сишник(или асм без ХР)
    повторяем со вторым ехе.
    выбираем оба файла в тотал коммандере, и жмём alt+c
    [​IMG]

    можно и без дампа и иды. но так нагляднее.
    [​IMG]
     
  16. loginrl_103

    loginrl_103 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2008
    Сообщения:
    271
    asmlamo - добавление 2-3 инструкций приведут к тому что ВСЕ последующие байты будут определяться как РАЗНЫЕ. нелогично если эти инструкции добавятся в самом начале секции кода в 1-2 мбайтном файле...
    логичнее и помойму правильнее сравнивать имено процедурно.
    SWR, Comer_ - вчера я примерно так и начал делать - сначала в ида потом скриптом обрабатывать...

    жаль что нету специализированных средств...)

    ps. Comer_ - если можно о ксакапе поподробнее (на wasm.ru статья?)
     
  17. Com[e]r

    Com[e]r Com[e]r

    Публикаций:
    0
    Регистрация:
    20 апр 2007
    Сообщения:
    2.624
    Адрес:
    ого..
    ..чем тотал коммандер не средство?

    ксакеп это журнал ][akep )
    мы его сами не любим, но всёравно читаем .))
     
  18. loginrl_103

    loginrl_103 New Member

    Публикаций:
    0
    Регистрация:
    8 фев 2008
    Сообщения:
    271
    по ключевикам и по автору не находится) хреновый поисковик у них )))
     
  19. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    loginrl_103
    Все зависит от ситуации. Если логику не меняли и компилили тем же компилятором, то метод
    дизасм и сравнение в ТоталКоммандере самое наглядное. Но если поменяли логику или сменили компилятор - процедуры могут поменятся местами и кроме головы ничто не поможет.
    Помню, как пришлось мучится и искать место патча. Раньше оно было почти по фиксированному адресу, а потом оказалось в середине 40 Мбайтного экзешника. Тут никакое сравнение не поможет, только интуитивный поиск по 400 Мбайтному дизасму. Ну а смена компилятора или версии защиты- самое гиблое. Вроде и проги не сильно поменялись, но если раньше патчились простым jmp на нормальный выход, то теперь ... темный лес. Так и не получил я вознаграждение.
     
  20. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    loginrl_103
    Sabre BinDiff - видимо то, что тебе нужно.