
12.09.2009, 21:35
|
|
Участник форума
Регистрация: 26.08.2009
Сообщений: 133
Провел на форуме: 193434
Репутация:
79
|
|
Эээ. У .NET приложений другой формат исполняемых файлов чтоле? PE уже устарел? >____<
Если точно знаешь в какой секции расположен архив, то открываешь файл, в IMAGE_SECTION_HEADER смотришь файловое смещение этой секции, переходишь туда, ишеш сигнатуру архива (её посмотришь открыв hex-редактором любой архив, для rar - RAR, для zip - PK[непомню какието байтеки]). Ещё посмотришь описание формата rar/zip чтобы найти байтеки в которых прописан размер архива. Теперь ты его можешь читать. Теперь наступают сложности. В самом примитивном случае, когда имеем архив в конце последней секции и в коде нету проверок на его размер, то тупо расширяем секцию (правим IMAGE_SECTION_HEADER.SizeOfRawData, IMAGE_SECTION_HEADER.VirtualSize, IMAGE_OPTIONAL_HEADER.ImageSize). В остальных случаев все не так тривиально, тк придется пересчитывать релоки и ревесить NET для убирания проверок.
Или я чтото не так понял в вопросе?
|
|
|