Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2004.10.17;
Скачать: [xml.tar.bz2];

Вниз

Генератор патчей   Найти похожие ветки 

 
Igorek ©   (2004-09-23 16:40) [0]

Программа сравнивает два exe файла и генерирует инфу, достаточную, для изменения второго файла, что бы он был равен первому. Инфа должна быть минимальной.

Кто нибуть встречал исходники такого генератора и собственно патчера, способного по данной инфе пропатчить?


 
vecna ©   (2004-09-23 17:14) [1]

fc /b =)


 
_silver ©   (2004-09-23 17:17) [2]

copy 1.exe 2.exe


 
QuasiLamo ©   (2004-09-23 17:19) [3]

Была мысля недельку назад такое самому сделать. А так ничего подобного на глаза не попадалось, хотя я и не искал в общем-то...


 
Гарри Поттер ©   (2004-09-23 19:27) [4]

>сравнивает два exe файла и генерирует инфу, достаточную, для
>изменения второго файла, что бы он был равен первому.

Вопрос какой-то интересный.. Чем этот вариант не подходит?
[2] _silver ©   (23.09.04 17:17)
copy 1.exe 2.exe


 
Гарри Поттер ©   (2004-09-23 19:34) [5]

Патч должен находить и исправлять определенное место в определенном файле на основании инфы которая в нем же и зашита. А не сравнивать два файла и исправлять различия.. Это из серии "я скачал с инета файл, он мне не нужен, как закачать обратно?" ;-)


 
Fay ©   (2004-09-23 19:47) [6]

Решение можно минимизировать только в лоб. Задача коммивояжера уже надоела? 8)


 
SergP.   (2004-09-23 19:50) [7]


> Гарри Поттер ©   (23.09.04 19:34) [5]


Автор вопроса имел ввиду "генератор патчей" а не сам патч.
Т.е. Генератор на основании старого файла и нового создает патч. А потом например человек скачивает себе патч и патчит им старый файл. Смысл в том что сам патч должен иметь существенно меньший размер чем новый файл.
Когда-то я задавал аналогичный вопрос, но мне толком никто не ответил. Хотя такая штука существует...


 
VEG ©   (2004-09-23 20:12) [8]

Если лень писать самим, почитайте про ips


 
Piter ©   (2004-09-23 20:17) [9]

Я пользуюсь Patch Maker - делаю им патчи для своей программы - Magic Forum


 
Jel ©   (2004-09-23 20:38) [10]


> Программа сравнивает два exe файла и генерирует инфу, достаточную,
> для изменения второго файла, что бы он был равен первому.

Все будет здорово, пока файлы имеют одинаковую длинну, но если собираешься патчить свою программу, а не срубать защиту в чужой - одинаковую длинну врядли получишь.

ИМХО проще целиком файл исправленный передавать.


 
SPeller ©   (2004-09-23 21:07) [11]

http://bonanzas.rinet.ru/r_tools.htm
Updater и UpdateMaker. Текстовые файлы щёлкает только в путь. Как он справляется с бинарками не пробовал. Посмотри. Исходники внутри.


 
SergP.   (2004-09-23 21:24) [12]


> ИМХО проще целиком файл исправленный передавать.


Проще, но не всегда это лучше...


 
Torry ©   (2004-09-23 23:00) [13]

http://www.torry.net/pages.php?id=54 - подойдет?


 
Knight ©   (2004-09-23 23:13) [14]

Я делал... даже работал, хотя про минимальность различий ниего сказать не могу... Вроде даже исходники где-то валялись.


 
Piter ©   (2004-09-23 23:47) [15]

Patch Maker легко справляется, если размер exe"шника изменился. Правда, патчи немаленькие получаются, килобайт по 300. Но это лучше, чем заново рассылать exe"шник размером в мегабайт


 
Digitman ©   (2004-09-24 08:53) [16]


> Igorek


воспользуйся CodeFusion3


 
[lamer]Barmaglot ©   (2004-09-24 09:13) [17]

Все уже сделано до нас, естественно на асме, см здесь: www.wasm.ru


 
Holy   (2004-09-24 09:28) [18]

Еще есть WinHex... Очень полезная штука... Может сам патч не сгенирит (не пробовал), но уж расскажет об изменениях абсолютно точно... Те более там есть примеры скриптов на встроенном языке, что позволит автоматизировать заданный процесс... А сам патчер может быть универсальным, т.е. он из текстового файла выясняет что на что надо поменять и вносит коррективы...


 
Igorek ©   (2004-09-24 14:09) [19]

Всем спасибо за ответы. Буду разгребать ссылки.

Идея даже не просто в минимизации колл. инфы при передаче за один раз.
Стандартный патчер включается сразу в дистрибутив. Потом при выходе дополнения к программе юзер всего-навсего скачивает инфу об изменениях (сукорее всего с помощью патчера). Потом патчер изменяет приложение у юзера.

Прибл. так работает Нортон антивирус со своим LiveUpdate.


> Fay ©   (23.09.04 19:47) [6]
> Решение можно минимизировать только в лоб. Задача коммивояжера
> уже надоела? 8)

А можно пояснить, как тут поможет задача комивояджера?

---
И вообще интересны мысли по самому алгоритму сравнения.


 
MBo ©   (2004-09-24 14:20) [20]

>Igorek ©   (24.09.04 14:09) [19]
>И вообще интересны мысли по самому алгоритму сравнения.

Это напоминает задачу о расстоянии между строками (дистанция Левенштейна и т.п.) и нахождении минимальной цены преобразования


 
}|{yk_   (2004-09-24 14:23) [21]

NSIS
в комплекте есть создатель патча


 
SPeller ©   (2004-09-24 14:28) [22]

Сейчас посмотрел - UpdateMaker (который по моей ссылке), проверил на бинарках - генерит патчи нормально. КРоме всего прочего ужимает получившийся патч и всё с исходниками.


 
Igorek ©   (2004-09-24 18:09) [23]

Тута мне еще http://www.daemonology.net/bsdiff/ подкинули.

> MBo ©   (24.09.04 14:20) [20]
> Это напоминает задачу о расстоянии между строками (дистанция
> Левенштейна и т.п.) и нахождении минимальной цены преобразования

Спасибо. Будем посмотреть.


 
Анонимщик ©   (2004-09-24 18:43) [24]

По алгоритмам смотри
http://www.3ka.mipt.ru/vlib/books/Programming/ComputerScience/StryngAnalysis/


 
Igorek ©   (2004-09-24 19:22) [25]


> Анонимщик ©   (24.09.04 18:43) [24]

Угу. Спосибо.



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2004.10.17;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.035 c
6-1090086995
AlexeyM
2004-07-17 21:56
2004.10.17
Использование CGI


14-1095931164
Vetal
2004-09-23 13:19
2004.10.17
Посоветуйте красивые визуальные компоненты.


4-1095046045
DelphiN!
2004-09-13 07:27
2004.10.17
Получить статус окна


1-1096347348
vasili
2004-09-28 08:55
2004.10.17
Нид Хелп с компонентом ТEdit


10-1046441534
JibSkeart
2003-02-28 17:12
2004.10.17
COM ATL + Events ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский