Список форумов .:csmania:.
РегистрацияПоискFAQПользователиГруппыКоманда сайтаВход

OpenPtch - ViTYAN

 
Ответить на тему    Список форумов .:csmania:. » Developers Forum Предыдущая тема
Следующая тема
OpenPtch - ViTYAN
Автор Сообщение
vityan666
CSMANiA ENGiNEER
CSMANiA ENGiNEER


Зарегистрирован: 14.04.2007
Сообщения: 48


Сообщение OpenPtch - ViTYAN Ответить с цитатой
OpenPtch сокращение от Open Patch Engine это кросплатформенная переносимая библиотека для работы с двоичными файлами(или так называевыми бинарными файлами)
Для операционной системы Windows существует множество подобных решений(пач мейкеров) но вот операционные системы семейства Unix-Like не имеют подобных ютилит.

А чем не катит grep,diff,patch И sed спросите вы?
А тем что первые 3 работают только с текстовыми данными а работа с двоичными данными в sed ожидает желать лучшего(и в добавок сильно ограниченна по своим возможностям).

Плюсы приложений для Windows в том что они автоматически готовят исполняемый двоичный файл(экзэшник) для вас.
В случае же библиотеки пачи вам прийдётся компоновать самим.

Слово Open в названии проекта присутствует не просто так. Это полностью Free(подразумевается Free от FSF и GNU ну и конечно же бесплатность) библиотека с открытым исходным кодом который будет распространяться под GPL лицензией.

В пользу переносимости компоновщики Microsoft поддерживаться не будут(Имеется ввиду MSVC.Кому надо может портировать но возможные проблемы будут его собственной а не моей ответственностью).

И так базовая информация: о коде проекта:
Язык программирования: C
Соответствие стандартам:Standard "C" Specification C90/C99, The Single UNIX Specification, Version 2
Система компоновки: GNU GCC 3.X/4.X(Возможно и 2.9X тоже пойдёт)

Информация о библиотеке:
Поддерживается работа с гигантскими массивами данных(свыше 4-ёх ГБ)
Загрузка файла в память происходит сразу и целиком(Поэтому вам понадобится памяти минимум в размер загружаемого файла - Попробуйте грузануть 3 ГБ Very Happy)
Я проверю если сбрасывание страниц на жёсткий диск может помочь в загрузке очень больших файлов.
Поддерживаются паттэрны с Wildcards(?) а так же полубайтовые паттэрны(HB Patterns) на пример A? 6C ?8 ??(HB не поддерживают даже самые продвинутые мастдайные Hex редакторы и пач мейкеры).


Готово:
Загрузка/Выгрузка файла для обработки
Поиск и замена паттернов по Offset или SAR(Search and Replace)
Функции для проверки целостности внутренних оффсэтов(Ограничения длины нету так как используюется динамическая аллокация).

TODO:
Дополнительные функции пользовательского интерфейса для работы с множеством паттэрных пар
Добавка псевдо-функций для работы с парами оффсэтов и функции для их верификации.
Составление API документации.


Последний раз редактировалось: vityan666 (Вс Ноя 11, 2007 6:05 am), всего редактировалось 2 раз(а)
Сб Ноя 10, 2007 11:59 pm Посмотреть профиль Отправить личное сообщение
GunYa
Сержант
Сержант


Зарегистрирован: 18.01.2007
Сообщения: 82


Сообщение Ответить с цитатой
А оно готово уже? Surprised
Вс Ноя 11, 2007 4:48 am Посмотреть профиль Отправить личное сообщение
vityan666
CSMANiA ENGiNEER
CSMANiA ENGiNEER


Зарегистрирован: 14.04.2007
Сообщения: 48


Сообщение Ответить с цитатой
[GunYa]
Цитата:
А оно готово уже?

Почти.
Все функции уже пашут(специально проверял) в режиме байтовых паттэрнов. Полубайтовые думаю должны пахать на ура но хочу удостовериться перед релизом исходника и статических/динамических библиотек в паблик.
Вс Ноя 11, 2007 4:58 am Посмотреть профиль Отправить личное сообщение
mukca
Местный ГУРУ
Местный ГУРУ


Зарегистрирован: 06.02.2005
Сообщения: 16777215
Откуда: с луны, со своей луны, свалился :(

Сообщение Ответить с цитатой
Цитата:
Загрузка файла в память происходит сразу и целиком(Поэтому вам понадобится памяти минимум в размер загружаемого файла - Попробуйте грузануть 3 ГБ )

жестока..
правда я у ся на компе врядли когда либо буду делать патчик на файлик более 10 метров :D

_________________

Ссылку могут видеть только зарегистрированные пользователи!
Зарегистрируйтесь или войдите в систему!


Читай
Ссылку могут видеть только зарегистрированные пользователи!
Зарегистрируйтесь или войдите в систему!

Вс Ноя 11, 2007 12:42 pm Посмотреть профиль Отправить личное сообщение ICQ Number
vityan666
CSMANiA ENGiNEER
CSMANiA ENGiNEER


Зарегистрирован: 14.04.2007
Сообщения: 48


Сообщение Ответить с цитатой
И так обновления среды:

Dev C++ -> wxDev C++ -> Code::Blocks 4.11.07 Nightly Build
MingW GCC 4.2.1 DW2 -> TDM/MingW GCC 4.2.2-SJLJ

Со стриппингом символов размер либы сократился с 18-и кило до 10-и кило Smile

Щас буду делать пользовательскую либу и отделю определения ошибок в отдельный заголовочный файл.

Так как я пишу на C ,любителям объектов и прочей байды(обработка исключений,шаблоны и тд и тп - вообщем всё что не люблю я Very Happy) понадобится импортировать функции с использованием extern "C"...
Пн Ноя 12, 2007 12:16 am Посмотреть профиль Отправить личное сообщение
Показать сообщения:    
Ответить на тему    Список форумов .:csmania:. » Developers Forum Часовой пояс: GMT + 5:30
Страница 1 из 1

 
Перейти: 
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах