Archive: Problem about decompression


Problem about decompression
Hi all

I know a file which contain the Signature ={ 0xEF, 0xBE, 0xAD, 0xDE, 0x4E, 0x75, 0x6C, 0x6C, 0x73, 0x6F, 0x66, 0x74, 0x49, 0x6E, 0x73, 0x74} is a nisi file. I can get FirstHeader's flag at position 0x0(suppose Signature's position is 0x4),FirstHeader's HeaderLength at position 0x14 and FirstHeader's ArchiveSize at position 0x18.Usually when FirstHeader's ArchiveSize littler than FileSize,I can get the files and extract the files include the nsis installer file.But also have a lot of file which FirstHeader's ArchiveSize bigger than FileSize,then I can't extract the files include the nsis file.

How can I know the nsis installer had compressde?
How can I get the nsis installer's compression file items and these file's information?
The position is what(suppose Signature's position is 0x4)?

Truly grateful for any assistance on this issue.

Thanks a million!

I'm chinese and I'm not good at English.


if it's lzma-compressed, why not just use 7zip to extract the files (if you must extract files in the first place..)


Yes,I want to use 7zip to extract the files,But about only 10 percent can extract by 7zip.I want to extract more,of cause a hundred percent will more good.What I needed is the nsis file's structure,use it I can find file items and extract them.If they are lzma-compressed,that is't importent for me.

Thanks for your answer.


length_of_all_following_data has a different meaning for installers with and without solid compression. With solid compression, it's the total size of uncompressed data.