CRACKL@B Оригинальный DVD-ROM крэкера: CRACKL@B DVD !
Домой | Статьи | RAR-cтатьи | Форум | Программирование | Скачать | DVD-ROM
Новичку | FAQ | Ссылки | Интервью | Архив | Новости | Связь


Русский / Russian English / Английский

Сейчас на форуме: vovanchik-77, uev61, digger70, Ara (+2 невидимых)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS ·

 CRACKL@B —› Софт, варез —› Утилита для сравнения PE файлов в дизассемблированном виде
. 1 . 2 . 3 . >>
Посл.ответ Сообщение
crc1

Ранг: 91.0 (постоянный)
Статус: Участник

Создано: 30 января 2009 16:33:21
Личное сообщение #1

В HEX виде много разных утилей для сравнения файлов. В дизассемблированном не встречал. Наваял свою.
Баг-репорты приветствуются. Для теста прилагаю два файла Test.exe и TestPatch.exe

6456_30.01.2009_CRACKLAB.rU.tgz - CmpDisasm.rar
SniperOK

Ранг: 35.1 (посетитель)
Статус: Участник

Создано: 30 января 2009 16:42:15
Личное сообщение #2
crc1

Ранг: 91.0 (постоянный)
Статус: Участник

Создано: 30 января 2009 16:45:58
Личное сообщение #3

SniperOK пишет:
не оно?

а х.з. может и оно, не видел. Сейчас посмотрю
Bronco


Ранг: 527.7 (!)
Статус: Участник

Создано: 30 января 2009 16:47:28
Личное сообщение #4

За...сь, давно чего-тотакого хотелось...
Раскрасить бы как-то это дело, шОб неоднообразно код смотрелсИ .....

-----
Чтобы юзер в нэте не делал,его всё равно жалко..
crc1

Ранг: 91.0 (постоянный)
Статус: Участник

Создано: 30 января 2009 17:05:09
Личное сообщение #5

Bronco пишет:
Раскрасить бы как-то это дело

Это как
crc1

Ранг: 91.0 (постоянный)
Статус: Участник

Создано: 30 января 2009 17:08:03
Личное сообщение #6

SniperOK пишет:
не оно?

хуясе
Single User License 900 € (1215 US$)
borov


Ранг: 260.4 (наставник)
Статус: Участник
Вольный стрелок

Создано: 30 января 2009 17:10:36 · Поправил: borov
Личное сообщение #7

забавная вещичка, нужно сделать чтобы выдилялись измененое такой же длины как было в оригенали(как-то не понятно объяснил :s1
например в оригинале:
Code:
  1. 00495BF1   7525           JNE O495C1Ah


измененое:
Code:
  1. 00495BF1   90             NOP
  2. 00495BF2   90             NOP


и он выделяет только первую строку, а на самом деле измененые обе строки

Подумай над этим

crc1 пишет:
Bronco пишет:
Раскрасить бы как-то это дело
Это как

сделать подсветку синтаксиса

-----
Лучше быть одиноким, но свободным ©
Flint


Ранг: 184.9 (ветеран)
Статус: Участник
CyberHunter

Создано: 30 января 2009 17:21:38
Личное сообщение #8

Скрол, имхо, должен двигаться сразу в обоих окнах! Т.е. если я двигаю вниз одно окно, то и во втором оно должно тоже передвигаться соответственно первому. То что различия должны выделятся - это факт!
Для примера глянь как сделано в HEXCMP.
P.S. Тулза полезная!

-----
Nulla aetas ad discendum sera
FrenFolio


Ранг: 314.3 (мудрец)
Статус: Участник

Создано: 30 января 2009 17:48:42 · Поправил: FrenFolio
Личное сообщение #9

О, отличная штука! Как раз думал о том, почему нет такой проги которая бы показывала отличия прямо в дизасме. А тут - вот тебе.

-----
Если тебя обсуждают за спиной, значит ты впереди!
borov


Ранг: 260.4 (наставник)
Статус: Участник
Вольный стрелок

Создано: 30 января 2009 18:08:01
Личное сообщение #10

crc1, а зачем ты длл прикрутил к ЕХЕ, нельзя было отдельно

-----
Лучше быть одиноким, но свободным ©
crc1

Ранг: 91.0 (постоянный)
Статус: Участник

Создано: 30 января 2009 18:36:00 · Поправил: crc1
Личное сообщение #11

borov пишет:
а зачем ты длл прикрутил к ЕХЕ, нельзя было отдельно

моно, прилепляю
Сцылка на сайт [url=http://web.vip.hr/inga.vip/test.htm
]http://web.vip.hr/inga.vip/test.htm
[/url]
прикрутил для удобства
crc1

Ранг: 91.0 (постоянный)
Статус: Участник

Создано: 30 января 2009 18:39:03
Личное сообщение #12

чет не приклепилась

cef1_30.01.2009_CRACKLAB.rU.tgz - Disasm.dll
borov


Ранг: 260.4 (наставник)
Статус: Участник
Вольный стрелок

Создано: 30 января 2009 18:44:01
Личное сообщение #13

та я ее сам уже давно отковырял

-----
Лучше быть одиноким, но свободным ©
crc1

Ранг: 91.0 (постоянный)
Статус: Участник

Создано: 30 января 2009 18:50:13
Личное сообщение #14

Flint пишет:
Скрол, имхо, должен двигаться сразу в обоих окнах!

Согласен, и HEXCMP видел. Но я же не коммерческий продукт выложил, а так утилиту. Главное чтобы правильно различия находила.
P.S. А как заскролить второе окошко. Нужно же учесть и просто скрол, потом нажатие на скроллбар, и просто нажатие на клаве стрелок
borov


Ранг: 260.4 (наставник)
Статус: Участник
Вольный стрелок

Создано: 30 января 2009 19:54:52
Личное сообщение #15

crc1 пишет:
А как заскролить второе окошко. Нужно же учесть и просто скрол, потом нажатие на скроллбар, и просто нажатие на клаве стрелок

юзай сообщения LVN_BEGINSCROLL и LVN_ENDSCROLL

-----
Лучше быть одиноким, но свободным ©
Halt

Ранг: 63.6 (постоянный)
Статус: Участник

Создано: 30 января 2009 20:13:11
Личное сообщение #16

если у тебя LISTVIEW можно просто сравнивать 1 видимую строчку в правом и левом окне и там уже крутить
там есть функция, точнее сообщение:

The LVM_GETTOPINDEX message retrieves the index of the topmost visible item when in list or report view. You can send this message explicitly or by using the ListView_GetTopIndex macro.

LVM_GETTOPINDEX
wParam = 0;
lParam = 0;


Returns the index of the item if successful or zero if the list view control is in icon or small icon view.
theCollision

Ранг: 247.1 (наставник)
Статус: Участник
Packer Reseacher

Создано: 31 января 2009 16:41:02
Личное сообщение #17

crc1
посмотри на WinMerge и примерно сделай тоже самое, или на Perforse показыватель дифов

-----
My love is very cool girl.
Hexxx


Ранг: 273.3 (наставник)
Статус: Участник
Тот самый :)

Создано: 1 февраля 2009 01:36:40
Личное сообщение #18

crc1 пишет:
хуясе
Single User License 900 € (1215 US$)

Есть ломанная версия
http://rapidshare.com/files/178972616/SABRE-BinDiff--v2.0.269.rar

-----
Реверсивная иженерия - написание кода идентичного натуральному
Archer


Ранг: 761.6 (! !)
Статус: Модератор
Packers killer

Создано: 1 февраля 2009 16:15:39
Личное сообщение #19

Если это древний слом, то там криво как-то поломали. Ограничение на большое число (блоков или функций, не помню точно) не снято.
Talula


Ранг: 170.4 (ветеран)
Статус: Участник
Тот ещё Lamer

Создано: 2 февраля 2009 00:58:37
Личное сообщение #20

я обычно просто два дизасма в winmerge сравниваю... там всё подсвечивается...

-----
Do Not Get Mad Get Money! ;)
vnekrilov

Ранг: 188.6 (ветеран)
Статус: Участник

Создано: 2 февраля 2009 06:33:03
Личное сообщение #21

Talula пишет:
я обычно просто два дизасма в winmerge сравниваю... там всё подсвечивается...


Подскажи, как ты получаешь в winmerge дизассемблированный код? Или ты просто находишь offset, где имеются смещения?
Jupiter


Ранг: 357.7 (мудрец)
Статус: Участник
Research & Development

Создано: 2 февраля 2009 08:44:50
Личное сообщение #22

vnekrilov
видимо, Talula сравнивает листинги, предварительно отдизасмив файлы

-----
EnJoy!
theCollision

Ранг: 247.1 (наставник)
Статус: Участник
Packer Reseacher

Создано: 2 февраля 2009 12:34:24 · Поправил: theCollision
Личное сообщение #23

>>Подскажи, как ты получаешь в winmerge дизассемблированный код? Или ты просто находишь offset, где имеются смещения?
5 баллов ! ;))) пацтулом, остановиться от приступа смеха не могу )))

-----
My love is very cool girl.
vnekrilov

Ранг: 188.6 (ветеран)
Статус: Участник

Создано: 2 февраля 2009 12:45:00
Личное сообщение #24

theCollision пишет:
5 баллов ! ;))) пацтулом, остановиться от приступа смеха не могу )))


Не понял, в чем причина приступов смеха???
Isaev


Ранг: 392.4 (мудрец)
Статус: Участник
Vixerunt

Создано: 2 февраля 2009 16:10:16 · Поправил: Isaev
Личное сообщение #25

Flint пишет:
Скрол, имхо, должен двигаться сразу в обоих окнах!

borov пишет:
нужно сделать чтобы выдилялись измененое такой же длины как было в оригенали

+1

А ещё бы сделать,
- чтобы файлы можно было мышкой закидывать
- чтобы показывала в каком сегменте изменения
- кнопки следующее/предыдущее
- какое нибудь сохранение всех изменений (в txt хотя бы)
- combobox для переключения между сегментами
- и окно разворачивалось на весь экран

-----
xOAg8vsg7/Du8fLuIOPl7ejpISEhIDsp
mak


Ранг: 397.3 (мудрец)
Статус: Участник
Tetragrammaton

Создано: 2 февраля 2009 18:30:50 · Поправил: mak
Личное сообщение #26

crc1 на чем писал ?

А ещё бы сделать,
1.Изменение кода, редактирование кода вообщем.
2.Поиск по сигнатурам
3. Эмулирование выполнения программ (тоесть прогонять кусок кода скажем , если он обфусцирован , то эмуляцией можно узнать различия , может не так дизасмнул , и таким образом , видеть наш код бывший и тот что лишний.


Почему бы и нет , будет тогда достаточно универсальная утилита , облегчающая анализ. Конечно самое важное это сравнение , но как дополнение к этому мне бы такое понадобилось.


P.S. Длл ку с дизасмом, выложить отдельно не приклееной , сделать меню выбора дизасм модулей. Например имеется 4 разных дизассемблера , и выбирать какой хочешь, реализовать как плагины, тогда можно будет перенсти на 64 битную систему , и там уже другой дизасм использовать.

-----
Nosce te, ipsum! - познай самого себя!
Talula


Ранг: 170.4 (ветеран)
Статус: Участник
Тот ещё Lamer

Создано: 2 февраля 2009 21:27:54
Личное сообщение #27

vnekrilov, Jupiter пишет:
сравнивает листинги, предварительно отдизасмив файлы


-----
Do Not Get Mad Get Money! ;)
vnekrilov

Ранг: 188.6 (ветеран)
Статус: Участник

Создано: 3 февраля 2009 06:32:39
Личное сообщение #28

Talula пишет:
сравнивает листинги, предварительно отдизасмив файлы


Спасибо, я так и понял.
crc1

Ранг: 91.0 (постоянный)
Статус: Участник

Создано: 5 февраля 2009 16:11:14
Личное сообщение #29

CmpDisasm 0.2b
Учел некоторые пожелания
1. Сделал синхронную прокрутку окошек (правда криво, только колесом и притормаживает мальца)
2. Показывает в какой секции изменения (если секция имеет имя)
3. Сохранение всех изменений в файл CmpDisasm.txt в текущей папке
4. Добавлено контекстное меню в окошки
5. Поправил ошибки
Пока фсе
Isaev пишет:
- чтобы файлы можно было мышкой закидывать

Дык вроде было уже в первом варианте

mak пишет:
А ещё бы сделать,
1.Изменение кода, редактирование кода вообщем.
2.Поиск по сигнатурам
3. Эмулирование выполнения программ

Редактировать можно где угодно, в той же Оле. А че искать по сигнам? там дизассемблируется по 40 строчек кода. Про эмулирование - это что?, вторую IDA кодить
На счет приклееной dll, еще раз повторюсь, прилепил для удобства. В about'е есть сцылка на сайт с описанием и прмерами. На счет плугина с выбором дизасм модулей, тоже не понятно. У каждого дизасм движка свой интерфейс...? И вообще, я только один нормальный нашел. Остальные либо платные, либо кривые.
ПыСы. У кого есть грамотно реализованный исходник с использованием API по синхронной прокрутке окошек, прошу поделиться (коментарии в исходнике приветствуются

1a86_05.02.2009_CRACKLAB.rU.tgz - CmpDisasm.exe
Isaev


Ранг: 392.4 (мудрец)
Статус: Участник
Vixerunt

Создано: 5 февраля 2009 16:34:05 · Поправил: Isaev
Личное сообщение #30

в файле изменений
Code:
  1. 00400261  0000 ADD BYTE PTR [EAX],AL      |      00400261  90  NOP

Если правится 2 байта, то и справа 2 байта должно быть (аналогично при выделении)

-----
xOAg8vsg7/Du8fLuIOPl7ejpISEhIDsp
. 1 . 2 . 3 . >>
 CRACKL@B —› Софт, варез —› Утилита для сравнения PE файлов в дизассемблированном виде
    Для печати 


Оригинальный DVD-ROM крэкера: CRACKL@B DVD !


Вы находитесь на форуме сайта CRACKLAB.RU
Проект ReactOS