Помогите советом/ссылкой новичку. Появилось непреодолимое желание написать програмку на FASM'е, програмку конвертер из неизвестного формата в формат ZIP. Большинство "игроделов" запаковывают файлы в обычный формат ZIP, меняя только сигнатуру на свою , индивидуальную, поэтому обычными архиваторами их не распаковать. У меня есть куча разных программ кои конвертят, но немного бесит ,что программы заточены под определённые (известные) форматы игровых файлов и нет возможности внести изменения, а кучу барахла на компе держать - запутаешься! Хочу универсализма , да и просто интересно.... Подскажите люди добрые, есть ли где исходники подобного конвертера , желательно для FASM'а ?!
ivanches Гребанный экибастуз! плохое начало. Одним словом под описанную задачу думаю следует сделать так. Взять архиватор zip и научить его работать не зависимо от сигнатуры. тогда зачем сразу сорцы зачем сорцы если вам надо инструмент? поменять в эбаут на "ivanches"? PS про исходник могу очень уверено сказать что его нету, да еще и на фасме
Вчера сидел день вручную редактировал два файла, тупо заменял 0xFBFCD4AF на 0x04034B50, 0xF9FAB4AF на 0x06054B50 и 0xFDFEB4AF на 0x02014B50 . Может как-то можно реализовать сей алгоритм на ассме? В какой нить ини файл записать строки кои нужно менять.... в кваке одно, в готике другое....
ivanches у меня несколько вопросов 1. почему именно на асме? 2. Может научишься программировать( к асму близко не подходи, си луше учи)? или нам за тебя писать? а так можно, и даже просто.
P.S. Хочу добавить, что нет задачи разархивировать! Есть задача переконвертить быстро не копируя файлы, т.е. изменения вноить непосретственно в байт код.... некоторые объёмы достигают 20ГБ. важна скорость щёта/замены.
1. ХЗ понравился, да и форум по ассму же ! 2. Хотелось бы, вот и буду учиться на примерах Но если примеров/скелетов нет, писать их за меня конечно не стоит...
ivanches, всё что тебе надо, это: 0. раздобыть консольный разархиватор 1. снять копию с файла 2. заменить в копии первые 4 байта на сигнатуру зипа 3. натравить на него разархиватор (распаковывать необязательно, можно просто запросить список файлов в архиве или тест на целостность), дождаться окончания его работы и посмотреть результат (GetExitCodeProcess) 4. удалить копию
ivanches 1) Если цель именно распаковщик написать, то проще все-таки действительно zlib или другую библиотеку использовать. 2) Если цель научится программировать, то не надо каждый шаг свой выверять на форумах. Пока вы в голове не научитесь скелет алгоритма видеть и все биты, слова и т.д. - никакой супер-гуру вас этому не научит. Если это не получается, бросьте "низкое" программирование - программирование интерфейсов тоже хорошо кормит некоторых.
Спс , за пояснение, посмеялсо простите за каламбур, но и в зипе тож изпользуется злиб т.е. масло маслянное получается....
Предыдущий пост 2qqwe ................................ 2valterg 3) Есть желание кое описано в начале топика, достаточно подробно и ясно, примеров увы нет, ссылок тож.
кто бы говорил про мыслете... вам советуют БИБЛИОТЕКУ, просто используйте ее, насколько я помню у нее вообще нету не каких сигнатур те вам просто надо будет пропускать пару байт
Если ты думаешь, что это четкое желание или то, что написано там еще, то ошибаешься. Это просто от незнания. Не все пакуют через zip, в zip есть два разных типа алгоритмов и т.д и т.п. Поэтому я конкретно и спросил : тебе несколько игр или универсальный комбайн. Абсолютно универсальный это голова+руки и другого никогда не будет. Годный для старых игрушек - STUNS. Он кстати с исходниками и там кроме zip еще два алгоритма зашито. Тут недавно заказали ресурсы из игры вытащить, там вообще все в открытую лежит. Единственно, что пришлось сделать - это найти и "расшифровать" каталог.