out of the archive types supported by 7z.dll, which are "special" like this?
I would like to exclude all such types from my NSE, leaving only simple 1-object types like 7z
7-Zip calls kpidMainSubfile property.
You can search "kpidMainSubfile" in CPP\7zip\Archive\ files
for the list of files that support additional archive levels for extracting.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
No. Some archives can contain many files.
Some handlers can return index of file for kpidMainSubfile, if the handler "thinks" that some file inside archive is main.
For example, if PE handler (EXE parser) sees some big file inside resources, it returns the file as kpidMainSubfile. so 7-Zip can open archive that is stored inside resource in installers.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
How can I tell the difference between "simple" ISO files and those that are UDF? They both have ISO extension but they require different objects to open them. I see these types have different kStartSignature but opening any ISO file the first bytes are always 00 without any other identification
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I discovered that handling VHD "archives" is very complicated, requiring extra objects:
https://sourceforge.net/p/sevenzip/discussion/45797/thread/7886be6c/?limit=25#0665
out of the archive types supported by 7z.dll, which are "special" like this?
I would like to exclude all such types from my NSE, leaving only simple 1-object types like 7z
thanks
CSevenZipFormat::Initialize added extension(s) apm
CSevenZipFormat::Initialize added extension(s) ar a deb lib
CSevenZipFormat::Initialize added extension(s) arj
CSevenZipFormat::Initialize added extension(s) bz2 bzip2 tbz2 tbz
CSevenZipFormat::Initialize added extension(s) msi msp doc xls ppt
CSevenZipFormat::Initialize added extension(s) cpio
CSevenZipFormat::Initialize added extension(s) cramfs
CSevenZipFormat::Initialize added extension(s) dmg
CSevenZipFormat::Initialize added extension(s) elf
CSevenZipFormat::Initialize added extension(s) fat img
CSevenZipFormat::Initialize added extension(s) flv
CSevenZipFormat::Initialize added extension(s) gz gzip tgz tpz
CSevenZipFormat::Initialize added extension(s) hfs hfsx
CSevenZipFormat::Initialize added extension(s) ihex
CSevenZipFormat::Initialize added extension(s) lzh lha
CSevenZipFormat::Initialize added extension(s) lzma
CSevenZipFormat::Initialize added extension(s) lzma86
CSevenZipFormat::Initialize added extension(s) macho
CSevenZipFormat::Initialize added extension(s) mbr
CSevenZipFormat::Initialize added extension(s) mslz
CSevenZipFormat::Initialize added extension(s) mub
CSevenZipFormat::Initialize added extension(s) ntfs img
CSevenZipFormat::Initialize added extension(s) exe dll sys
CSevenZipFormat::Initialize added extension(s) te
CSevenZipFormat::Initialize added extension(s) pmd
CSevenZipFormat::Initialize added extension(s) rpm
CSevenZipFormat::Initialize added extension(s) 001
CSevenZipFormat::Initialize added extension(s) squashfs
CSevenZipFormat::Initialize added extension(s) swf
CSevenZipFormat::Initialize added extension(s) swf
CSevenZipFormat::Initialize added extension(s) scap
CSevenZipFormat::Initialize added extension(s) uefif
CSevenZipFormat::Initialize added extension(s) vhd
CSevenZipFormat::Initialize added extension(s) xar pkg
CSevenZipFormat::Initialize added extension(s) xz txz
CSevenZipFormat::Initialize added extension(s) z taz
CSevenZipFormat::Initialize added extension(s) 7z
CSevenZipFormat::Initialize added extension(s) cab
CSevenZipFormat::Initialize added extension(s) chm chi chq chw
CSevenZipFormat::Initialize added extension(s) hxs hxi hxr hxq hxw lit
CSevenZipFormat::Initialize added extension(s) iso img
CSevenZipFormat::Initialize added extension(s) nsis
CSevenZipFormat::Initialize added extension(s) rar r00
CSevenZipFormat::Initialize added extension(s) tar
CSevenZipFormat::Initialize added extension(s) udf iso img
CSevenZipFormat::Initialize added extension(s) wim swm
CSevenZipFormat::Initialize added extension(s) zip zipx jar xpi odt ods docx xlsx epub
CSevenZipFactory::AddLibrary hr=0 (extensions=47)
7-Zip calls kpidMainSubfile property.
You can search "kpidMainSubfile" in CPP\7zip\Archive\ files
for the list of files that support additional archive levels for extracting.
do these archives that export kpidMainSubfile always have one file?
No. Some archives can contain many files.
Some handlers can return index of file for kpidMainSubfile, if the handler "thinks" that some file inside archive is main.
For example, if PE handler (EXE parser) sees some big file inside resources, it returns the file as kpidMainSubfile. so 7-Zip can open archive that is stored inside resource in installers.
How can I tell the difference between "simple" ISO files and those that are UDF? They both have ISO extension but they require different objects to open them. I see these types have different kStartSignature but opening any ISO file the first bytes are always 00 without any other identification
Just call UDF code before ISO code.