die-python 0.4.0__cp313-abi3-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- db/.vscode/about.txt +1 -0
- db/.vscode/settings.json +5 -0
- db/ACE +48 -0
- db/APK/APKProtect.2.sg +15 -0
- db/APK/APKProtector.2.sg +20 -0
- db/APK/AlibabaProtection.2.sg +15 -0
- db/APK/AndroidRepublic.2.sg +17 -0
- db/APK/ApktoolPlus.6.sg +12 -0
- db/APK/AppGuard.2.sg +17 -0
- db/APK/AppSolid.2.sg +12 -0
- db/APK/BaiduProtection.2.sg +18 -0
- db/APK/BangBangReinforcement.2.sg +27 -0
- db/APK/BangcleProtection.2.sg +14 -0
- db/APK/DXShield.2.sg +12 -0
- db/APK/DexProtector.2.sg +23 -0
- db/APK/DingXiangReinforcement.2.sg +14 -0
- db/APK/EasyShield.2.sg +19 -0
- db/APK/Gemalto.2.sg +19 -0
- db/APK/Hdus-Wjus.2.sg +14 -0
- db/APK/IL2CPP.4.sg +14 -0
- db/APK/Ijiami.2.sg +24 -0
- db/APK/Jiagu.2.sg +17 -0
- db/APK/Kiro.2.sg +12 -0
- db/APK/Kiwi.2.sg +23 -0
- db/APK/Kony.2.sg +12 -0
- db/APK/LIAPP.2.sg +16 -0
- db/APK/MedusaH.2.sg +12 -0
- db/APK/MobileTencentProtect.2.sg +14 -0
- db/APK/NQShield.2.sg +15 -0
- db/APK/NagaPTProtection.2.sg +14 -0
- db/APK/OLLVM-TTL.2.sg +14 -0
- db/APK/Obfuscapk.2.sg +14 -0
- db/APK/PackageName.1.sg +15 -0
- db/APK/PangXie.2.sg +14 -0
- db/APK/ProGuard.2.sg +12 -0
- db/APK/QDBH.2.sg +12 -0
- db/APK/Qihoo360Protection.2.sg +15 -0
- db/APK/SandHook.4.sg +16 -0
- db/APK/SecNeo.2.sg +19 -0
- db/APK/SecShell.2.sg +15 -0
- db/APK/SingleJar.3.sg +10 -0
- db/APK/TencentLegu.2.sg +18 -0
- db/APK/TencentProtection.2.sg +14 -0
- db/APK/TencentSecurity.2.sg +17 -0
- db/APK/TongfuShield.2.sg +21 -0
- db/APK/UnicomSDK.4.sg +21 -0
- db/APK/Unity.4.sg +12 -0
- db/APK/VDog.2.sg +16 -0
- db/APK/Yidun.2.sg +16 -0
- db/APK/_APK.0.sg +15 -0
- db/APK/_init +2 -0
- db/APK/iCrypt.2.sg +24 -0
- db/Amiga/DeliTracker.1.sg +14 -0
- db/Amiga/_Amiga.0.sg +15 -0
- db/Amiga/_init +2 -0
- db/Archive/_Archive.0.sg +17 -0
- db/Archive/_init +2 -0
- db/Binary/Amiga_loadable.1.sg +16 -0
- db/Binary/Empty.1.sg +11 -0
- db/Binary/Img.UDIF.1.sg +15 -0
- db/Binary/RIFF.1.sg +19 -0
- db/Binary/U-Boot.1.sg +321 -0
- db/Binary/Universal_Binary.1.sg +17 -0
- db/Binary/Video.FLV.1.sg +16 -0
- db/Binary/__MiniExtensionsHeuristic_By_DosX.7.sg +184 -0
- db/Binary/__MiniJavaScriptHeuristic_By_DosX.7.sg +44 -0
- db/Binary/_init +4 -0
- db/Binary/archive.7z.1.sg +14 -0
- db/Binary/archive.ACE.1.sg +10 -0
- db/Binary/archive.AR.1.sg +85 -0
- db/Binary/archive.ARC.1.sg +16 -0
- db/Binary/archive.ARJ.1.sg +9 -0
- db/Binary/archive.ASAR.sg +13 -0
- db/Binary/archive.BZip.1.sg +20 -0
- db/Binary/archive.CFL3.1.sg +25 -0
- db/Binary/archive.Cab.1.sg +25 -0
- db/Binary/archive.DEFLATE.1.sg +186 -0
- db/Binary/archive.DotBundle.sg +9 -0
- db/Binary/archive.LRZ.1.sg +57 -0
- db/Binary/archive.LZ4.1.sg +42 -0
- db/Binary/archive.LZOP.1.sg +13 -0
- db/Binary/archive.MS_Compound.1.sg +24 -0
- db/Binary/archive.PEA.1.sg +65 -0
- db/Binary/archive.RAR.1.sg +9 -0
- db/Binary/archive.Unity.1.sg +74 -0
- db/Binary/archive.ZIP.1.sg +10 -0
- db/Binary/archive.ZLIB.1.sg +14 -0
- db/Binary/archive.ZPAQ.1.sg +15 -0
- db/Binary/archive.btoa.1.sg +14 -0
- db/Binary/archives.1.sg +299 -0
- db/Binary/archives.ancient.sg +506 -0
- db/Binary/audio.1.sg +12079 -0
- db/Binary/audio.8svx.1.sg +16 -0
- db/Binary/audio.ACM.1.sg +22 -0
- db/Binary/audio.AU.1.sg +49 -0
- db/Binary/audio.DSS.1.sg +57 -0
- db/Binary/audio.FSB.1.sg +105 -0
- db/Binary/audio.VOC.1.sg +97 -0
- db/Binary/audio.WAV.1.sg +320 -0
- db/Binary/audio.mp3.2.sg +189 -0
- db/Binary/backup_images.1.sg +27 -0
- db/Binary/bin.AAALogo.1.sg +16 -0
- db/Binary/bin.Atari_ST.1.sg +12 -0
- db/Binary/bin.GameMaps.1.sg +13 -0
- db/Binary/bin.GuitarPro.1.sg +26 -0
- db/Binary/bin.Hermes.1.sg +16 -0
- db/Binary/bin.IDA.1.sg +78 -0
- db/Binary/bin.ISO_9660.1.sg +13 -0
- db/Binary/bin.JMDL.1.sg +34 -0
- db/Binary/bin.JSC.1.sg +88 -0
- db/Binary/bin.Java.1.sg +152 -0
- db/Binary/bin.KeePass.1.sg +22 -0
- db/Binary/bin.LUA.1.sg +48 -0
- db/Binary/bin.NVA.1.sg +15 -0
- db/Binary/bin.PDB.1.sg +16 -0
- db/Binary/bin.PEFF.1.sg +11 -0
- db/Binary/bin.PalmFile.1.sg +104 -0
- db/Binary/bin.Python.1.sg +628 -0
- db/Binary/bin.RPGMaker2Kdata.1.sg +242 -0
- db/Binary/bin.SWF.1.sg +26 -0
- db/Binary/bin.WAD.1.sg +19 -0
- db/Binary/bin.WindowsIconCacheDB.1.sg +34 -0
- db/Binary/bin.ZBMP.1.sg +16 -0
- db/Binary/cad.DWG.1.sg +63 -0
- db/Binary/cert.WinAuth.1.sg +13 -0
- db/Binary/database.SQLite.1.sg +45 -0
- db/Binary/databases.1.sg +117 -0
- db/Binary/debugData.1.sg +68 -0
- db/Binary/doc.CHM.1.sg +18 -0
- db/Binary/doc.DJVU.1.sg +113 -0
- db/Binary/doc.HLP.1.sg +11 -0
- db/Binary/doc.PDF.1.sg +16 -0
- db/Binary/doc.RTF.1.sg +13 -0
- db/Binary/donut.1.sg +49 -0
- db/Binary/font.ADOBE.1.sg +35 -0
- db/Binary/font.BMF.1.sg +63 -0
- db/Binary/format.MS-DBG.1.sg +19 -0
- db/Binary/format.MS-PST.sg +15 -0
- db/Binary/format.MS-VHD.1.sg +61 -0
- db/Binary/format.MS-VHDX.sg +16 -0
- db/Binary/format.MS-WIM.1.sg +43 -0
- db/Binary/format.MS-XNA.1.sg +80 -0
- db/Binary/format.UE.1.sg +36 -0
- db/Binary/format.VDI.1.sg +40 -0
- db/Binary/formats.1.sg +90 -0
- db/Binary/graphics.1.sg +37 -0
- db/Binary/image.ANI.1.sg +26 -0
- db/Binary/image.BMP.1.sg +48 -0
- db/Binary/image.CUR.1.sg +55 -0
- db/Binary/image.DDS.1.sg +26 -0
- db/Binary/image.EPS.1.sg +26 -0
- db/Binary/image.GIF.1.sg +95 -0
- db/Binary/image.ICO.1.sg +57 -0
- db/Binary/image.JNG.1.sg +34 -0
- db/Binary/image.JPEG.1.sg +52 -0
- db/Binary/image.JPEG.DQT.4.sg +13 -0
- db/Binary/image.JPEG.Tools.3.sg +53 -0
- db/Binary/image.JPEG.camera.2.sg +16 -0
- db/Binary/image.JPEG.comment.4.sg +16 -0
- db/Binary/image.JPEGXL.1.sg +15 -0
- db/Binary/image.KTX.1.sg +44 -0
- db/Binary/image.LBM.1.sg +69 -0
- db/Binary/image.MNG.1.sg +19 -0
- db/Binary/image.PCX.1.sg +69 -0
- db/Binary/image.PNG.1.sg +165 -0
- db/Binary/image.PSD.1.sg +63 -0
- db/Binary/image.PVR.1.sg +29 -0
- db/Binary/image.QOI.1.sg +36 -0
- db/Binary/image.TGA.1.sg +149 -0
- db/Binary/image.TIFF.1.sg +186 -0
- db/Binary/image.XAR.1.sg +31 -0
- db/Binary/img.VM.1.sg +13 -0
- db/Binary/overlays.6.sg +367 -0
- db/Binary/rom.1.sg +1327 -0
- db/Binary/shellcode.pe_to_shellcode.1.sg +107 -0
- db/Binary/srdi-monoxgas.1.sg +128 -0
- db/Binary/text.HTML.1.sg +14 -0
- db/Binary/text.Pascal.1.sg +19 -0
- db/Binary/text.RegistryFile.sg +20 -0
- db/Binary/text.Shell.1.sg +14 -0
- db/Binary/text.XML.1.sg +18 -0
- db/Binary/text.c.1.sg +35 -0
- db/Binary/text.pdb.1.sg +40 -0
- db/Binary/text.plaintext.3.sg +25 -0
- db/Binary/text.python.1.sg +17 -0
- db/Binary/text.script.2.sg +16 -0
- db/Binary/video.MP4.1.sg +16 -0
- db/Borland +19 -0
- db/COM/32-bit_crypt.2.sg +13 -0
- db/COM/4kZIP.2.sg +13 -0
- db/COM/8086_Forth_83.4.sg +14 -0
- db/COM/A3E.1.sg +13 -0
- db/COM/ABK-Scrambler.2.sg +12 -0
- db/COM/ACE_Scrambler.2.sg +34 -0
- db/COM/ACiDDRAW.1.sg +16 -0
- db/COM/ANS2ALL.1.sg +18 -0
- db/COM/ARF_AV_Inject.1.sg +14 -0
- db/COM/ASC2COM.1.sg +25 -0
- db/COM/ASIC-Basic.4.sg +21 -0
- db/COM/AVAST-Protect.2.sg +13 -0
- db/COM/AVPACK.2.sg +14 -0
- db/COM/AdFlt.2.sg +17 -0
- db/COM/Anti-Lamer_Cryptor.2.sg +14 -0
- db/COM/Anti-hack_encryption_system.2.sg +13 -0
- db/COM/AutoCracker.1.sg +14 -0
- db/COM/BAT2EXEC.2.sg +18 -0
- db/COM/BIN-Lock.2.sg +14 -0
- db/COM/BatLite.4.sg +13 -0
- db/COM/Best_Protection_Kit-B.2.sg +16 -0
- db/COM/Borland_C++.4.sg +17 -0
- db/COM/Budokan.1.sg +13 -0
- db/COM/C-crypt.2.sg +14 -0
- db/COM/CC#3.2.sg +13 -0
- db/COM/CC.2.sg +22 -0
- db/COM/CC286.2.sg +14 -0
- db/COM/CCC.2.sg +16 -0
- db/COM/CHECKPRG.2.sg +13 -0
- db/COM/CNT.2.sg +13 -0
- db/COM/COM-Protect.2.sg +16 -0
- db/COM/COM-Protection.2.sg +13 -0
- db/COM/COM2TXT.1.sg +13 -0
- db/COM/COMCRYPT.2.sg +23 -0
- db/COM/COMPACK.2.sg +32 -0
- db/COM/COMPROTECT.2.sg +14 -0
- db/COM/COM_Sccrambler.2.sg +14 -0
- db/COM/COP.2.sg +14 -0
- db/COM/CPAV.1.sg +13 -0
- db/COM/CRX2COM.1.sg +12 -0
- db/COM/Character_Intro_Engine.1.sg +16 -0
- db/COM/Cheat_packer.2.sg +13 -0
- db/COM/CodeLock.2.sg +14 -0
- db/COM/ComProt.2.sg +13 -0
- db/COM/ComProtector.2.sg +18 -0
- db/COM/Comlock.2.sg +19 -0
- db/COM/CrAcKeR.2.sg +14 -0
- db/COM/Crack2EXE.1.sg +14 -0
- db/COM/CryptCom.2.sg +18 -0
- db/COM/CryptGeneric.2.sg +12 -0
- db/COM/Crypt_(Dismember).2.sg +16 -0
- db/COM/Crypto-King.2.sg +13 -0
- db/COM/CyberWare_Packer.2.sg +13 -0
- db/COM/DCFR.2.sg +13 -0
- db/COM/DIGPAK.1.sg +16 -0
- db/COM/DOC2COM.1.sg +13 -0
- db/COM/DOC2PAGE.1.sg +13 -0
- db/COM/DS-CRP.2.sg +16 -0
- db/COM/Datalight_C.4.sg +15 -0
- db/COM/Deep_Crypter.2.sg +14 -0
- db/COM/Deeper.2.sg +17 -0
- db/COM/Diet.2.sg +26 -0
- db/COM/Dn.COM_Cruncher.2.sg +13 -0
- db/COM/E2C-Scrambler.2.sg +13 -0
- db/COM/E2C.1.sg +16 -0
- db/COM/E2C1.2.sg +13 -0
- db/COM/EPW.2.sg +14 -0
- db/COM/EXE2COM.1.sg +72 -0
- db/COM/EXETools.2.sg +22 -0
- db/COM/EXETools_EXE2COM.1.sg +16 -0
- db/COM/Easy!-C.4.sg +13 -0
- db/COM/Entropy_Coder.2.sg +13 -0
- db/COM/ExOM.2.sg +14 -0
- db/COM/FCRYPT.2.sg +14 -0
- db/COM/FIXCRK.1.sg +13 -0
- db/COM/Fig-FORTH.4.sg +13 -0
- db/COM/ForthCMP.2.sg +23 -0
- db/COM/ForthCMP.4.sg +18 -0
- db/COM/FromBAT.1.sg +18 -0
- db/COM/GOAT.2.sg +19 -0
- db/COM/GP-FORTH.4.sg +14 -0
- db/COM/Guardian_Angel.2.sg +28 -0
- db/COM/HDKPROTC.2.sg +13 -0
- db/COM/HYPDOC.1.sg +13 -0
- db/COM/HackStop.2.sg +19 -0
- db/COM/ICE.1.sg +13 -0
- db/COM/IMMUN.1.sg +14 -0
- db/COM/Inbuild_Encryption.2.sg +14 -0
- db/COM/IntroC0der.1.sg +13 -0
- db/COM/J0B_cryptor.2.sg +13 -0
- db/COM/Keygen_crypt.2.sg +14 -0
- db/COM/Khrome_Crypt.2.sg +14 -0
- db/COM/LAME_GG.2.sg +12 -0
- db/COM/LAMPROT.2.sg +13 -0
- db/COM/LGLZ.2.sg +14 -0
- db/COM/LHA.1.sg +16 -0
- db/COM/LHarc_SFX.1.sg +16 -0
- db/COM/Lattice_C.4.sg +32 -0
- db/COM/List.1.sg +21 -0
- db/COM/Lock-Master.2.sg +14 -0
- db/COM/MASK.2.sg +26 -0
- db/COM/MCLock.2.sg +13 -0
- db/COM/MESS.2.sg +13 -0
- db/COM/MICRO-C.4.sg +16 -0
- db/COM/MIDPAK.1.sg +13 -0
- db/COM/MINIFORTH.4.sg +14 -0
- db/COM/MSCC.2.sg +14 -0
- db/COM/MakeRead.1.sg +14 -0
- db/COM/Maveriks_C0der.2.sg +16 -0
- db/COM/MegaShield.2.sg +14 -0
- db/COM/Microsoft_C.4.sg +13 -0
- db/COM/Microsoft_RTL.3.sg +16 -0
- db/COM/Microxor.2.sg +13 -0
- db/COM/MoonRock.2.sg +14 -0
- db/COM/NH.2.sg +13 -0
- db/COM/NetCode.1.sg +18 -0
- db/COM/NetRun.1.sg +13 -0
- db/COM/NoAV.2.sg +13 -0
- db/COM/Nodebug.2.sg +14 -0
- db/COM/ONLINE-HELP.1.sg +13 -0
- db/COM/OUTFORTH.4.sg +13 -0
- db/COM/PBFC.2.sg +14 -0
- db/COM/PCOM.2.sg +14 -0
- db/COM/PCRYPT.2.sg +14 -0
- db/COM/PCVault-Protect.2.sg +13 -0
- db/COM/PC_FORTH.4.sg +13 -0
- db/COM/PKLITE.2.sg +29 -0
- db/COM/PKZip.1.sg +18 -0
- db/COM/PRO-PACK.2.sg +21 -0
- db/COM/PROTECT.2.sg +67 -0
- db/COM/PTP.2.sg +16 -0
- db/COM/PU-Cryptor.2.sg +25 -0
- db/COM/PassCOM.2.sg +13 -0
- db/COM/Phrozen_Crew_cryptor.2.sg +13 -0
- db/COM/ProtEXE.2.sg +14 -0
- db/COM/R-Crypt.2.sg +19 -0
- db/COM/RCC.2.sg +25 -0
- db/COM/RDT_Compressor2.2.sg +13 -0
- db/COM/RDT_ENC_3.2.sg +13 -0
- db/COM/RELETTER.1.sg +14 -0
- db/COM/RMCOBOL.4.sg +16 -0
- db/COM/RSCC.2.sg +65 -0
- db/COM/SCC.2.sg +13 -0
- db/COM/SCRAM.2.sg +14 -0
- db/COM/SCRE2B.2.sg +14 -0
- db/COM/SCRNCH.2.sg +22 -0
- db/COM/SDW.2.sg +34 -0
- db/COM/SHOWV20.1.sg +18 -0
- db/COM/SHOW_IT.1.sg +13 -0
- db/COM/SHRINK.2.sg +14 -0
- db/COM/SP-FORTH.4.sg +18 -0
- db/COM/SPHINX_C--.4.sg +24 -0
- db/COM/Scramb.2.sg +18 -0
- db/COM/Scrypt!.2.sg +18 -0
- db/COM/Scrypt.2.sg +14 -0
- db/COM/SelfCrypt.2.sg +13 -0
- db/COM/SelfProtect386.2.sg +12 -0
- db/COM/Shadow.2.sg +14 -0
- db/COM/Shadow_COM_encryptor.2.sg +14 -0
- db/COM/Six-2-Four.2.sg +18 -0
- db/COM/SnoopStop.2.sg +14 -0
- db/COM/SoftGuard.1.sg +13 -0
- db/COM/Steplock.2.sg +14 -0
- db/COM/Surpas-86.4.sg +14 -0
- db/COM/Sydex.2.sg +13 -0
- db/COM/TCEC.2.sg +14 -0
- db/COM/TCOM.4.sg +16 -0
- db/COM/TPACK.2.sg +18 -0
- db/COM/TPC_Scramble.2.sg +12 -0
- db/COM/TXT2COM.1.sg +22 -0
- db/COM/TXTmaker.1.sg +14 -0
- db/COM/Text_Header.1.sg +14 -0
- db/COM/The_DRAW.1.sg +15 -0
- db/COM/Tiny_Xor.2.sg +14 -0
- db/COM/TurboBAT.1.sg +21 -0
- db/COM/Turbo_C++.4.sg +13 -0
- db/COM/Turbo_C.4.sg +27 -0
- db/COM/Turbo_Pascal.4.sg +30 -0
- db/COM/Txt2Exe.1.sg +14 -0
- db/COM/UNIFORTH.4.sg +13 -0
- db/COM/UPX.2.sg +22 -0
- db/COM/USCC.2.sg +14 -0
- db/COM/UnPackStop.2.sg +17 -0
- db/COM/UniCrypt.1.sg +14 -0
- db/COM/Unknown_cryptors.2.sg +74 -0
- db/COM/VGA_font_loader.1.sg +13 -0
- db/COM/VSF&K_protection.2.sg +13 -0
- db/COM/VSS.1.sg +13 -0
- db/COM/Vacsina.4.sg +12 -0
- db/COM/Venus.2.sg +12 -0
- db/COM/Vienna-C.4.sg +12 -0
- db/COM/Watcom_C.4.sg +37 -0
- db/COM/WiZ_Cryptor.2.sg +14 -0
- db/COM/XCK2COM.1.sg +12 -0
- db/COM/XE.2.sg +13 -0
- db/COM/XORCOPY.2.sg +14 -0
- db/COM/XPACK.2.sg +22 -0
- db/COM/XcomOR.2.sg +24 -0
- db/COM/XoReR.2.sg +26 -0
- db/COM/XorCom.2.sg +14 -0
- db/COM/Zbikowski_C.4.sg +13 -0
- db/COM/Zortech_C.4.sg +26 -0
- db/COM/_init +2 -0
- db/COM/aPACK.2.sg +22 -0
- db/COM/aPatch.2.sg +13 -0
- db/COM/acBBS_protection.2.sg +13 -0
- db/COM/com-crypt.2.sg +16 -0
- db/COM/com_RLE_packer.2.sg +15 -0
- db/COM/cryptors.2.sg +214 -0
- db/COM/envelope.2.sg +13 -0
- db/COM/fds-cp.2.sg +13 -0
- db/COM/integrity_checker.1.sg +13 -0
- db/COM/mCrypt.2.sg +14 -0
- db/COM/muSIMP-83.4.sg +14 -0
- db/COM/packers.2.sg +26 -0
- db/COM/patchers.1.sg +100 -0
- db/COM/protection.2.sg +13 -0
- db/COM/readme.com.1.sg +12 -0
- db/COM/simple_ansi_viewer.1.sg +12 -0
- db/COM/simple_self-displayer.1.sg +12 -0
- db/COM/spirit.2.sg +22 -0
- db/COM/x3.2.sg +18 -0
- db/CurIcoBPP +14 -0
- db/DEX/AESObfuscator.2.sg +14 -0
- db/DEX/APKProtect.2.sg +12 -0
- db/DEX/AlibabaProtection.2.sg +12 -0
- db/DEX/AllatoriObfuscator.2.sg +14 -0
- db/DEX/ApkEncryptor.2.sg +12 -0
- db/DEX/ApkToolPlus.6.sg +12 -0
- db/DEX/AppSolid.2.sg +12 -0
- db/DEX/BaiduProtection.2.sg +12 -0
- db/DEX/BangcleProtection.2.sg +12 -0
- db/DEX/EasyProtector.2.sg +12 -0
- db/DEX/Jiagu.2.sg +12 -0
- db/DEX/Kiwi.2.sg +12 -0
- db/DEX/LIAPP.2.sg +12 -0
- db/DEX/MedusaH.2.sg +12 -0
- db/DEX/ModGuard.2.sg +16 -0
- db/DEX/NQShield.2.sg +12 -0
- db/DEX/NagaPTProtection.2.sg +12 -0
- db/DEX/PangXie.2.sg +12 -0
- db/DEX/ProGuard.2.sg +12 -0
- db/DEX/QDBH.2.sg +12 -0
- db/DEX/SecNeo.2.sg +12 -0
- db/DEX/TencentProtection.2.sg +12 -0
- db/DEX/UnicomSDK.4.sg +12 -0
- db/DEX/VDog.2.sg +12 -0
- db/DEX/Yidun.2.sg +12 -0
- db/DEX/_DEX.0.sg +15 -0
- db/DEX/_init +2 -0
- db/DOS16M/_DOS16M.0.sg +15 -0
- db/DOS16M/_init +2 -0
- db/DOS4G/_DOS4G.0.sg +15 -0
- db/DOS4G/_init +2 -0
- db/ELF/Borland_Kylix.4.sg +19 -0
- db/ELF/Burneye.2.sg +12 -0
- db/ELF/DMD.4.sg +31 -0
- db/ELF/ELFCrypt.2.sg +12 -0
- db/ELF/Ezuri.1.sg +30 -0
- db/ELF/FASM.4.sg +23 -0
- db/ELF/Flexlm.4.sg +15 -0
- db/ELF/Free_Pascal.4.sg +46 -0
- db/ELF/GLIBC.3.sg +49 -0
- db/ELF/Go.4.sg +126 -0
- db/ELF/HASP.1.sg +28 -0
- db/ELF/HP_C++.4.sg +12 -0
- db/ELF/IBM_AIX_kernel_loader.sg +18 -0
- db/ELF/Oracle_Solaris_Studio.4.sg +47 -0
- db/ELF/PyInstaller.2.sg +24 -0
- db/ELF/QT.3.sg +44 -0
- db/ELF/Rust.4.sg +25 -0
- db/ELF/SDL.3.sg +35 -0
- db/ELF/UPX.2.sg +57 -0
- db/ELF/VBCC.4.sg +17 -0
- db/ELF/Virbox.2.sg +17 -0
- db/ELF/Watcom.4.sg +15 -0
- db/ELF/Zig.4.sg +22 -0
- db/ELF/_ELF.0.sg +15 -0
- db/ELF/_init +2 -0
- db/ELF/gcc.4.sg +95 -0
- db/ELF/gdc.4.sg +13 -0
- db/ELF/ldc.4.sg +34 -0
- db/ELF/movfuscator.4.sg +19 -0
- db/FASM +9 -0
- db/FPC +11 -0
- db/IPA/_init +2 -0
- db/JAR/SingleJar.3.sg +13 -0
- db/JAR/_JAR.0.sg +15 -0
- db/JAR/_init +2 -0
- db/LE/UPX.1.sg +85 -0
- db/LE/Watcom_C.4.sg +24 -0
- db/LE/_LE.0.sg +15 -0
- db/LE/_init +2 -0
- db/LX/Watcom C.4.sg +51 -0
- db/LX/_LX.0.sg +15 -0
- db/LX/_init +2 -0
- db/MACH/Carbon.3.sg +13 -0
- db/MACH/Cocoa.3.sg +11 -0
- db/MACH/Delphi.4.sg +21 -0
- db/MACH/QT.3.sg +18 -0
- db/MACH/UPX.2.sg +15 -0
- db/MACH/Virbox.2.sg +13 -0
- db/MACH/WebKit.3.sg +11 -0
- db/MACH/Zig.4.sg +22 -0
- db/MACH/_MACH.0.sg +15 -0
- db/MACH/_init +2 -0
- db/MACH/gcc.4.sg +35 -0
- db/MACH/java.3.sg +15 -0
- db/MACHOFAT/_MACHOFAT.0.sg +15 -0
- db/MACHOFAT/_init +2 -0
- db/MFC +14 -0
- db/MSDOS/$pirit.2.sg +47 -0
- db/MSDOS/32stub.0a.sg +13 -0
- db/MSDOS/ABKprot.2.sg +12 -0
- db/MSDOS/ACE.6.sg +10 -0
- db/MSDOS/AEP.2.sg +12 -0
- db/MSDOS/AINEXE.2.sg +19 -0
- db/MSDOS/ALEC.2.sg +14 -0
- db/MSDOS/ANS2ALL.1.sg +14 -0
- db/MSDOS/ARC.1.sg +23 -0
- db/MSDOS/ARJ.1.sg +14 -0
- db/MSDOS/ASIC-Basic.4.sg +18 -0
- db/MSDOS/AVAST_CRC-Check.2.sg +14 -0
- db/MSDOS/AVPACK.2.sg +16 -0
- db/MSDOS/Ada89.4.sg +13 -0
- db/MSDOS/Adys_COM2EXE.1.sg +11 -0
- db/MSDOS/Adys_Glue.2.sg +15 -0
- db/MSDOS/Aluwain.2.sg +12 -0
- db/MSDOS/Amisetup.1.sg +13 -0
- db/MSDOS/Anti-LAME.2.sg +13 -0
- db/MSDOS/Anti-hack_encryption_system.2.sg +13 -0
- db/MSDOS/Antilame.2.sg +14 -0
- db/MSDOS/ApBasic.4.sg +17 -0
- db/MSDOS/AutoHack.1.sg +12 -0
- db/MSDOS/Aztec_C-86.4.sg +40 -0
- db/MSDOS/BAT2EXEC.4.sg +16 -0
- db/MSDOS/BSTAR_FORTH.4.sg +13 -0
- db/MSDOS/BatLite.4.sg +13 -0
- db/MSDOS/BetterBASIC.4.sg +13 -0
- db/MSDOS/Bitlok.2.sg +14 -0
- db/MSDOS/Black_fist.2.sg +13 -0
- db/MSDOS/Blinker.0a.sg +25 -0
- db/MSDOS/Borland_C.4.sg +89 -0
- db/MSDOS/Borland_Pascal.4.sg +89 -0
- db/MSDOS/Borland_RTM.0a.sg +33 -0
- db/MSDOS/Borland_TDS.sg +14 -0
- db/MSDOS/Borland_TLINK.5.sg +13 -0
- db/MSDOS/Bunny.2.sg +14 -0
- db/MSDOS/CC.2.sg +18 -0
- db/MSDOS/CEPexe.2.sg +12 -0
- db/MSDOS/CERBERUS.2.sg +12 -0
- db/MSDOS/CII-C.4.sg +18 -0
- db/MSDOS/COMCRYPT.2.sg +15 -0
- db/MSDOS/COMPACK.2.sg +15 -0
- db/MSDOS/COMPROTECT.2.sg +14 -0
- db/MSDOS/CONVOY.2.sg +17 -0
- db/MSDOS/CPAV.1.sg +13 -0
- db/MSDOS/CRYPACK.2.sg +12 -0
- db/MSDOS/CRYPTEXE.2.sg +19 -0
- db/MSDOS/CSCRYPT_Pro.2.sg +14 -0
- db/MSDOS/CWSDPMI.0a.sg +22 -0
- db/MSDOS/CauseWay_DOS_Extender.0a.sg +16 -0
- db/MSDOS/ChSFX.1.sg +27 -0
- db/MSDOS/Ciphator.2.sg +12 -0
- db/MSDOS/Coderunner.1.sg +22 -0
- db/MSDOS/Codesafe.2.sg +13 -0
- db/MSDOS/ComProtector.2.sg +15 -0
- db/MSDOS/ComprEXE.2.sg +14 -0
- db/MSDOS/Compress-EXE.2.sg +14 -0
- db/MSDOS/Concurrent_Small_C.4.sg +16 -0
- db/MSDOS/CopyQM_SFX.1.sg +16 -0
- db/MSDOS/Copy_Protector.2.sg +15 -0
- db/MSDOS/Copylock_PC.1.sg +13 -0
- db/MSDOS/CrAcKeR.2.sg +14 -0
- db/MSDOS/CrackStop.2.sg +16 -0
- db/MSDOS/Cruncher.2.sg +12 -0
- db/MSDOS/CryExe.2.sg +12 -0
- db/MSDOS/CryptCom.2.sg +14 -0
- db/MSDOS/Crypt_(Dismember).2.sg +25 -0
- db/MSDOS/Crypt_(LightShow).2.sg +25 -0
- db/MSDOS/CrypteXeC.2.sg +15 -0
- db/MSDOS/Cryptors.2.sg +59 -0
- db/MSDOS/DAEMON_Protect.2.sg +12 -0
- db/MSDOS/DCREXE.2.sg +18 -0
- db/MSDOS/DIET.2.sg +33 -0
- db/MSDOS/DMC.2.sg +14 -0
- db/MSDOS/DOS32.0a.sg +22 -0
- db/MSDOS/DOS32_loader.0a.sg +14 -0
- db/MSDOS/DOS4G.0a.sg +16 -0
- db/MSDOS/DOSX16.0a.sg +27 -0
- db/MSDOS/DOS_16M.0a.sg +31 -0
- db/MSDOS/DOS_32A.0a.sg +22 -0
- db/MSDOS/DSHIELD.2.sg +11 -0
- db/MSDOS/Deeper.2.sg +17 -0
- db/MSDOS/DemoMaker.2.sg +14 -0
- db/MSDOS/DexEXE.2.sg +14 -0
- db/MSDOS/Digital_Research_C.4.sg +16 -0
- db/MSDOS/Disk_eXPress.1.sg +14 -0
- db/MSDOS/E-PROT.2.sg +14 -0
- db/MSDOS/EEXE.2.sg +14 -0
- db/MSDOS/EMMXXXX0_check.0a.sg +12 -0
- db/MSDOS/EMX.0a.sg +16 -0
- db/MSDOS/EPW.2.sg +18 -0
- db/MSDOS/EXARJ.1.sg +13 -0
- db/MSDOS/EXE-Crypt.2.sg +13 -0
- db/MSDOS/EXE-Cryptor.2.sg +19 -0
- db/MSDOS/EXE-Protect.2.sg +13 -0
- db/MSDOS/EXE2COM.1.sg +22 -0
- db/MSDOS/EXECUTRIX.2.sg +13 -0
- db/MSDOS/EXEGUARD.2.sg +12 -0
- db/MSDOS/EXEHigh.2.sg +14 -0
- db/MSDOS/EXEPACK.2.sg +57 -0
- db/MSDOS/EXETools.2.sg +16 -0
- db/MSDOS/EXETools_COM2EXE.1.sg +12 -0
- db/MSDOS/EXE_Manager.2.sg +14 -0
- db/MSDOS/EXE_Packer.2.sg +15 -0
- db/MSDOS/EXE_encryption.2.sg +13 -0
- db/MSDOS/Easy!-C.4.sg +15 -0
- db/MSDOS/Eliashim's_CodeTrack.1.sg +12 -0
- db/MSDOS/Encriptor.2.sg +12 -0
- db/MSDOS/Enkryptonator.2.sg +12 -0
- db/MSDOS/ExeCode.2.sg +18 -0
- db/MSDOS/ExeLITE.2.sg +15 -0
- db/MSDOS/ExeLock.2.sg +16 -0
- db/MSDOS/F-XLOCK.1.sg +13 -0
- db/MSDOS/FACRYPT.2.sg +12 -0
- db/MSDOS/FCP_IV.2.sg +13 -0
- db/MSDOS/FSE.2.sg +61 -0
- db/MSDOS/File_Shield.1.sg +19 -0
- db/MSDOS/Fitted_Modula-2.4.sg +14 -0
- db/MSDOS/ForthInfo.4.sg +18 -0
- db/MSDOS/FromBAT.1.sg +13 -0
- db/MSDOS/GFX_to_EXE.1.sg +14 -0
- db/MSDOS/GIFEXE.1.sg +16 -0
- db/MSDOS/GOAT.1.sg +21 -0
- db/MSDOS/GRABBER.1.sg +26 -0
- db/MSDOS/GRASP.4.sg +20 -0
- db/MSDOS/GamBit_Pro_Library.1.sg +14 -0
- db/MSDOS/GameWizard_DOS_Extender.0a.sg +12 -0
- db/MSDOS/Go32Stub.0a.sg +22 -0
- db/MSDOS/Graphic_WorkShop.1.sg +14 -0
- db/MSDOS/Guardian_Angel.2.sg +21 -0
- db/MSDOS/H+BEDV_SelfCheck.1.sg +18 -0
- db/MSDOS/HACKSTOP.2.sg +77 -0
- db/MSDOS/HASP.2.sg +14 -0
- db/MSDOS/HEALTH.2.sg +12 -0
- db/MSDOS/Header_Changer.2.sg +13 -0
- db/MSDOS/Hi-Tech_C.4.sg +16 -0
- db/MSDOS/HyperLOCK_386.2.sg +14 -0
- db/MSDOS/IBM_PC_Pascal.4.sg +32 -0
- db/MSDOS/ICE.1.sg +13 -0
- db/MSDOS/IMMUN.1.sg +14 -0
- db/MSDOS/Inertia.2.sg +14 -0
- db/MSDOS/Ironthorn.2.sg +14 -0
- db/MSDOS/JAM.2.sg +12 -0
- db/MSDOS/JmCryptExe.2.sg +19 -0
- db/MSDOS/John_Socha_Library.3.sg +13 -0
- db/MSDOS/Joke.2.sg +13 -0
- db/MSDOS/KeyMaker.2.sg +14 -0
- db/MSDOS/Khrome_Crypt.2.sg +12 -0
- db/MSDOS/Kvetch.2.sg +14 -0
- db/MSDOS/LE.0.sg +11 -0
- db/MSDOS/LGLZ.2.sg +14 -0
- db/MSDOS/LH.1.sg +11 -0
- db/MSDOS/LHA.1.sg +20 -0
- db/MSDOS/LHarc.1.sg +19 -0
- db/MSDOS/LOCK.2.sg +14 -0
- db/MSDOS/LSI_C.4.sg +14 -0
- db/MSDOS/LX.0.sg +11 -0
- db/MSDOS/LZEXE.2.sg +42 -0
- db/MSDOS/L_O_V_E__FORTH.4.sg +18 -0
- db/MSDOS/Lahey_Fortran.4.sg +15 -0
- db/MSDOS/LamerStop.2.sg +12 -0
- db/MSDOS/Lattice_C.4.sg +88 -0
- db/MSDOS/LockTite+.2.sg +12 -0
- db/MSDOS/Logitech_Modula-2.4.sg +14 -0
- db/MSDOS/MEGALITE.2.sg +12 -0
- db/MSDOS/MESS.2.sg +30 -0
- db/MSDOS/MSLite.1.sg +14 -0
- db/MSDOS/Maker.2.sg +14 -0
- db/MSDOS/Mandrake.2.sg +13 -0
- db/MSDOS/MegaBasic.4.sg +16 -0
- db/MSDOS/MegaBasic1.4.sg +30 -0
- db/MSDOS/Meridian_Ada.4.sg +29 -0
- db/MSDOS/Meridian_Pascal.4.sg +22 -0
- db/MSDOS/MetaWare_High_C.4.sg +30 -0
- db/MSDOS/MetaWare_Professional_Pascal.4.sg +24 -0
- db/MSDOS/Micro_Focus_Cobol.4.sg +19 -0
- db/MSDOS/Micro_Focus_DOS_extender.0a.sg +13 -0
- db/MSDOS/Microsoft_Basic.4.sg +23 -0
- db/MSDOS/Microsoft_C.4.sg +57 -0
- db/MSDOS/Microsoft_C_Library.3.sg +20 -0
- db/MSDOS/Microsoft_Fortran.4.sg +15 -0
- db/MSDOS/Microsoft_Quick_Basic.4.sg +35 -0
- db/MSDOS/Microsoft_Quick_Pascal.4.sg +16 -0
- db/MSDOS/Microsoft_RTL.3.sg +48 -0
- db/MSDOS/Microsoft_RTL_(Clipper).3.sg +13 -0
- db/MSDOS/MultiLoop_Protection.2.sg +13 -0
- db/MSDOS/MutaWWP.2.sg +14 -0
- db/MSDOS/Mutate.2.sg +21 -0
- db/MSDOS/NE.0.sg +11 -0
- db/MSDOS/NOCLIP.2.sg +14 -0
- db/MSDOS/NOTA.2.sg +14 -0
- db/MSDOS/NTShell.2.sg +14 -0
- db/MSDOS/Netware_loader.1.sg +12 -0
- db/MSDOS/Nodebug.2.sg +14 -0
- db/MSDOS/Novex.2.sg +12 -0
- db/MSDOS/Oberon-M.4.sg +14 -0
- db/MSDOS/Optlink.2.sg +31 -0
- db/MSDOS/Overlay.2.sg +13 -0
- db/MSDOS/Oyster.1.sg +13 -0
- db/MSDOS/PACKWIN.2.sg +14 -0
- db/MSDOS/PC-Guard.2.sg +30 -0
- db/MSDOS/PCC.4.sg +28 -0
- db/MSDOS/PCOM.2.sg +14 -0
- db/MSDOS/PDC_Prolog.4.sg +15 -0
- db/MSDOS/PGMPAK.2.sg +17 -0
- db/MSDOS/PGPROT.1.sg +12 -0
- db/MSDOS/PKEXE.2.sg +13 -0
- db/MSDOS/PKLITE.2.sg +59 -0
- db/MSDOS/PKSFX.1.sg +15 -0
- db/MSDOS/PKTINY.2.sg +14 -0
- db/MSDOS/PKZIP-SFX.1.sg +13 -0
- db/MSDOS/PKZIP_mini-sfx.1.sg +17 -0
- db/MSDOS/PK_sig.1.sg +12 -0
- db/MSDOS/PMODE.0a.sg +17 -0
- db/MSDOS/PMWLite.2.sg +14 -0
- db/MSDOS/PRO-PACK.2.sg +16 -0
- db/MSDOS/PRO32.0a.sg +14 -0
- db/MSDOS/PROPACK_SFX.1.sg +13 -0
- db/MSDOS/PROTECT.2.sg +101 -0
- db/MSDOS/PVAC.2.sg +14 -0
- db/MSDOS/Pacific_C.4.sg +24 -0
- db/MSDOS/Pack.2.sg +14 -0
- db/MSDOS/Packers.2.sg +17 -0
- db/MSDOS/Palladix.1.sg +12 -0
- db/MSDOS/Panda_immunizer.1.sg +14 -0
- db/MSDOS/Pascal_MT+86.4.sg +20 -0
- db/MSDOS/PassEXE.2.sg +12 -0
- db/MSDOS/Patchers.1.sg +18 -0
- db/MSDOS/Phar_Lap.0a.sg +31 -0
- db/MSDOS/Pksmart.2.sg +14 -0
- db/MSDOS/Power_C.4.sg +16 -0
- db/MSDOS/ProtEXE.2.sg +58 -0
- db/MSDOS/Protector.2.sg +13 -0
- db/MSDOS/Quadru-Lock.2.sg +12 -0
- db/MSDOS/R-Crypt.2.sg +13 -0
- db/MSDOS/RAR.6.sg +8 -0
- db/MSDOS/REC.2.sg +22 -0
- db/MSDOS/REC_small.1.sg +26 -0
- db/MSDOS/REC_small_AV.1.sg +18 -0
- db/MSDOS/RELETTER.1.sg +14 -0
- db/MSDOS/RERP.2.sg +13 -0
- db/MSDOS/RHC.2.sg +14 -0
- db/MSDOS/RJcrush.2.sg +12 -0
- db/MSDOS/RLE_com-packer.2.sg +13 -0
- db/MSDOS/RM_FORTRAN.4.sg +14 -0
- db/MSDOS/ROSETINY.2.sg +15 -0
- db/MSDOS/RSX.0a.sg +12 -0
- db/MSDOS/RTLink_VM_Manager.0a.sg +12 -0
- db/MSDOS/RTPatch_SFX.1.sg +13 -0
- db/MSDOS/Realia_Cobol.4.sg +16 -0
- db/MSDOS/Realia_SPITBOL.4.sg +14 -0
- db/MSDOS/Relpack.2.sg +14 -0
- db/MSDOS/SCRNCH.2.sg +14 -0
- db/MSDOS/SEA-AXE.2.sg +15 -0
- db/MSDOS/SFX.1.sg +14 -0
- db/MSDOS/SHOW_IT.1.sg +14 -0
- db/MSDOS/SP-FORTH.4.sg +18 -0
- db/MSDOS/Scramb.2.sg +13 -0
- db/MSDOS/Secure.2.sg +37 -0
- db/MSDOS/SelfChk.2.sg +14 -0
- db/MSDOS/Self_UnStuffer.2.sg +16 -0
- db/MSDOS/Shrink.2.sg +15 -0
- db/MSDOS/Shrinker.2.sg +14 -0
- db/MSDOS/SimplyWare.1.sg +22 -0
- db/MSDOS/Small_C.4.sg +20 -0
- db/MSDOS/SnoopStop.2.sg +12 -0
- db/MSDOS/StonyBrook_Pascal.4.sg +26 -0
- db/MSDOS/Stub-386.0a.sg +13 -0
- db/MSDOS/SuckStop.2.sg +27 -0
- db/MSDOS/Sydex_SFX.1.sg +19 -0
- db/MSDOS/Symantec_BASIC.4.sg +16 -0
- db/MSDOS/TCEC.2.sg +18 -0
- db/MSDOS/TMTSTUB.0a.sg +14 -0
- db/MSDOS/TSCRUNCH.2.sg +13 -0
- db/MSDOS/TTW.1.sg +17 -0
- db/MSDOS/TUCCRYP.2.sg +14 -0
- db/MSDOS/TXT2COM.1.sg +18 -0
- db/MSDOS/TXTmaker.1.sg +14 -0
- db/MSDOS/Tenth_Planet.2.sg +13 -0
- db/MSDOS/TinyProg.2.sg +27 -0
- db/MSDOS/Tinyprot.2.sg +16 -0
- db/MSDOS/Topspeed_C.4.sg +20 -0
- db/MSDOS/Topspeed_Modula.4.sg +42 -0
- db/MSDOS/TraceLock.2.sg +13 -0
- db/MSDOS/Trap.2.sg +50 -0
- db/MSDOS/TurboChainer.1.sg +13 -0
- db/MSDOS/Turbo_Basic.4.sg +18 -0
- db/MSDOS/Turbo_Prolog.4.sg +16 -0
- db/MSDOS/Txt2Exe.1.sg +14 -0
- db/MSDOS/UCEXE.2.sg +22 -0
- db/MSDOS/UPX.2.sg +46 -0
- db/MSDOS/UR_FORTH.4.sg +14 -0
- db/MSDOS/Un2pack.2.sg +14 -0
- db/MSDOS/UnPackStop.2.sg +33 -0
- db/MSDOS/UniVac.1.sg +14 -0
- db/MSDOS/Unknown_cryptors.2.sg +54 -0
- db/MSDOS/Upper_Deck_Forth.4.sg +14 -0
- db/MSDOS/V-Load.1.sg +13 -0
- db/MSDOS/Visual_Cobol.4.sg +16 -0
- db/MSDOS/WATCOM.4.sg +59 -0
- db/MSDOS/WDOSX.0a.sg +14 -0
- db/MSDOS/WDOSX32.0a.sg +12 -0
- db/MSDOS/WPFORTH.4.sg +14 -0
- db/MSDOS/WWPACK.2.sg +89 -0
- db/MSDOS/WWPACK_mutator.2.sg +53 -0
- db/MSDOS/Whitesmiths_C.4.sg +21 -0
- db/MSDOS/Window_book.1.sg +21 -0
- db/MSDOS/Wizardy_protection.1.sg +12 -0
- db/MSDOS/WordPerfect_EXEPack.2.sg +12 -0
- db/MSDOS/XDOC.2.sg +13 -0
- db/MSDOS/XMLOD.0a.sg +16 -0
- db/MSDOS/XPACK.2.sg +37 -0
- db/MSDOS/Xtender.0a.sg +14 -0
- db/MSDOS/ZIPSCRUB.2.sg +14 -0
- db/MSDOS/ZOO.1.sg +14 -0
- db/MSDOS/Zbikowski_C.4.sg +19 -0
- db/MSDOS/Zip.6.sg +8 -0
- db/MSDOS/Zortech(Symantec)_C.4.sg +56 -0
- db/MSDOS/Zurenava_DOS_Extender.0a.sg +13 -0
- db/MSDOS/_MSDOS.0.sg +15 -0
- db/MSDOS/_init +52 -0
- db/MSDOS/aPACK.2.sg +60 -0
- db/MSDOS/aPatch.2.sg +13 -0
- db/MSDOS/anti-tracing_add-on.1.sg +12 -0
- db/MSDOS/com2exe.2.sg +21 -0
- db/MSDOS/cramble.2.sg +12 -0
- db/MSDOS/deep-CRyPTer.2.sg +12 -0
- db/MSDOS/djgpp.4.sg +16 -0
- db/MSDOS/dos_extender.0a.sg +16 -0
- db/MSDOS/dos_extender1.0a.sg +13 -0
- db/MSDOS/dos_extender2.0a.sg +16 -0
- db/MSDOS/iLUCRYPT.2.sg +18 -0
- db/MSDOS/immunizer.1.sg +13 -0
- db/MSDOS/mbp_SHRINK.2.sg +13 -0
- db/MSDOS/muLISP-87.4.sg +20 -0
- db/MSDOS/nbuild.2.sg +12 -0
- db/MSDOS/overlays.6.sg +73 -0
- db/MSDOS/self-displayer.1.sg +13 -0
- db/MSDOS/virus.1.sg +13 -0
- db/NE/ARC_SFX.1.sg +13 -0
- db/NE/Borland_C++.1.sg +25 -0
- db/NE/Borland_Pascal.1.sg +13 -0
- db/NE/MS_RTL.0.sg +28 -0
- db/NE/PKZIP-SFX.1.sg +13 -0
- db/NE/Setup-Specialist.1.sg +16 -0
- db/NE/Sydex_SFX.1.sg +13 -0
- db/NE/Watcom_C.1.sg +35 -0
- db/NE/_NE.0.sg +15 -0
- db/NE/_init +2 -0
- db/NPM/JavaScript.5.sg +11 -0
- db/NPM/PackageName.1.sg +15 -0
- db/NPM/TypeScript.5.sg +11 -0
- db/NPM/_NPM.0.sg +16 -0
- db/NPM/_init +2 -0
- db/PE/12Ghosts_Zip2.1.sg +16 -0
- db/PE/32Lite.2.sg +13 -0
- db/PE/7z.1.sg +43 -0
- db/PE/7z.4.sg +14 -0
- db/PE/7z.6.sg +21 -0
- db/PE/ACCAStore.1.sg +14 -0
- db/PE/ACE.6.sg +10 -0
- db/PE/ACProtect.2.sg +30 -0
- db/PE/ADS_Self_Extractor.1.sg +14 -0
- db/PE/AHTeam_EP_Protector.2.sg +71 -0
- db/PE/AHpacker.2.sg +13 -0
- db/PE/AMD_FSR.4.sg +23 -0
- db/PE/ANDpakk.2.sg +21 -0
- db/PE/AOLSetup.1.sg +15 -0
- db/PE/ARJSFX.1.sg +44 -0
- db/PE/ARM_Protector.2.sg +21 -0
- db/PE/ARQ.1.sg +16 -0
- db/PE/ASDPack.2.sg +12 -0
- db/PE/ASM_Guard.2.sg +27 -0
- db/PE/ASPR_Stripper.2.sg +12 -0
- db/PE/ASPack.2.sg +95 -0
- db/PE/ASProtect.2.sg +56 -0
- db/PE/AT4RE_Protector.2.sg +13 -0
- db/PE/AZProtect_0001.2.sg +11 -0
- db/PE/Aase_Crypter.2.sg +12 -0
- db/PE/Abbyy_Lingvo.1.sg +15 -0
- db/PE/Acronis_installer.1.sg +30 -0
- db/PE/ActiveMark.2.sg +14 -0
- db/PE/Active_Delivery.1.sg +16 -0
- db/PE/Actual_Installer.1.sg +16 -0
- db/PE/Adobe_FlashPlayer_downloader.1.sg +17 -0
- db/PE/Adobe_installers.1.sg +32 -0
- db/PE/Advanced_BAT_to_EXE_converter.2.sg +13 -0
- db/PE/Advanced_installer.1.sg +30 -0
- db/PE/Adveractive.1.sg +14 -0
- db/PE/Aeco_installer.1.sg +13 -0
- db/PE/Agile.2.sg +11 -0
- db/PE/Alchemy_Mindworks_installer.1.sg +19 -0
- db/PE/Alex_Protector.2.sg +15 -0
- db/PE/Alienyze.1.sg +14 -0
- db/PE/Amber.2.sg +17 -0
- db/PE/Anskya_Binder.2.sg +12 -0
- db/PE/Anskya_NTPacker_Generator.2.sg +11 -0
- db/PE/AntiDote.2.sg +33 -0
- db/PE/Anticrack_Software_Protector.2.sg +15 -0
- db/PE/App_Encryptor.2.sg +13 -0
- db/PE/ArmDot.2.sg +17 -0
- db/PE/Armadillo.2.sg +48 -0
- db/PE/Arxan.2.sg +69 -0
- db/PE/AssemblyInvoke.2.sg +11 -0
- db/PE/Astrum.1.sg +21 -0
- db/PE/AtomPePacker.2.sg +16 -0
- db/PE/AutoHotKey.3.sg +20 -0
- db/PE/AutoIt.3.sg +21 -0
- db/PE/AutoPlay_Media_Studio.1.sg +26 -0
- db/PE/Autodesk_Self-Extract.1.sg +14 -0
- db/PE/AutorunProEnterprise.1.sg +16 -0
- db/PE/AutorunProEnterpriseII.1.sg +16 -0
- db/PE/AverCryptor.2.sg +22 -0
- db/PE/BJFnt.2.sg +18 -0
- db/PE/Babel_.NET.2.sg +23 -0
- db/PE/BatToExe.1.sg +15 -0
- db/PE/BatToExeConverter.2.sg +18 -0
- db/PE/BatchToApp.2.sg +15 -0
- db/PE/BattlEye.5.sg +18 -0
- db/PE/BattleshipCrypter.2.sg +12 -0
- db/PE/BeRo.2.sg +37 -0
- db/PE/BeRo_Tiny_Pascal.4.sg +13 -0
- db/PE/Berio.2.sg +15 -0
- db/PE/BitRock_Installer.1.sg +22 -0
- db/PE/BitShape_PE_Crypt.2.sg +15 -0
- db/PE/BlindSpot.2.sg +12 -0
- db/PE/Blizzard_PrePatch.1.sg +15 -0
- db/PE/Borland_C++.4.sg +37 -0
- db/PE/Break_Into_Pattern.2.sg +12 -0
- db/PE/BulletProofSoft_installer.1.sg +14 -0
- db/PE/ByfronTech.2.sg +67 -0
- db/PE/ByteGuard.2.sg +17 -0
- db/PE/Bytessence_Install_Maker.1.sg +19 -0
- db/PE/CExe.2.sg +13 -0
- db/PE/CICompress.2.sg +12 -0
- db/PE/CSDD_installer.1.sg +18 -0
- db/PE/CUDA-Driver.4.sg +14 -0
- db/PE/CZ_installer.1.sg +14 -0
- db/PE/Cab.1.sg +60 -0
- db/PE/Cab.6.sg +33 -0
- db/PE/Calibre_installer.1.sg +19 -0
- db/PE/Cameyo.2.sg +12 -0
- db/PE/Celesty_File_Binder.1.sg +18 -0
- db/PE/ChainskiCrypter.1.sg +11 -0
- db/PE/Chaos_Software_installer.1.sg +14 -0
- db/PE/Chilkat_ZIP_Self-Extractor.1.sg +14 -0
- db/PE/Chromium_Embedded_Framework.4.sg +14 -0
- db/PE/Chromium_WebView.4.sg +14 -0
- db/PE/CipherWall.1.sg +20 -0
- db/PE/CliSecure.2.sg +21 -0
- db/PE/ClickTeam.1.sg +17 -0
- db/PE/CodeCrypt.2.sg +21 -0
- db/PE/CodeFusion_Wizard.1.sg +14 -0
- db/PE/CodeSafe.2.sg +12 -0
- db/PE/CodeVeil.2.sg +20 -0
- db/PE/Code_Virtualizer.2.sg +12 -0
- db/PE/Codegear_Installer.1.sg +14 -0
- db/PE/Codewall.2.sg +18 -0
- db/PE/CoffeeCup_SFX.2.sg +14 -0
- db/PE/Confuser.2.sg +39 -0
- db/PE/CopyMinder.2.sg +11 -0
- db/PE/Costura.Fody.4.sg +11 -0
- db/PE/CreateInstall.1.sg +22 -0
- db/PE/Crinkler.2.sg +15 -0
- db/PE/CronosCrypter.1.sg +12 -0
- db/PE/Crunch.2.sg +25 -0
- db/PE/CrypKey.2.sg +20 -0
- db/PE/CrypKey_Installer.1.sg +14 -0
- db/PE/CrypToCrack_Pe_Protector.2.sg +15 -0
- db/PE/Cryptect.1.sg +13 -0
- db/PE/Cryptic.2.sg +12 -0
- db/PE/CryptoObfuscator.2.sg +17 -0
- db/PE/Cxfreeze.1.sg +23 -0
- db/PE/Cygwin32.4.sg +11 -0
- db/PE/DBPE.2.sg +25 -0
- db/PE/DECFortran.4.sg +23 -0
- db/PE/DMD.4.sg +44 -0
- db/PE/DNGuard.2.sg +33 -0
- db/PE/DS.EZ-Logic.sg +12 -0
- db/PE/DS.Eutron_SmartKey_dongle.5.sg +29 -0
- db/PE/DS.HASP_dongle.5.sg +22 -0
- db/PE/DS.Hardlock_dongle.5.sg +24 -0
- db/PE/DS.MARX_Crypto-Box_dongle.5.sg +30 -0
- db/PE/DS.Matrix_Hardware_Lock_dongle.5.sg +19 -0
- db/PE/DS.NetHASP_dongle.5.sg +19 -0
- db/PE/DS.Novex_dongle.4.sg +13 -0
- db/PE/DS.RLM.4.sg +25 -0
- db/PE/DS.SenseLock_dongle.5.sg +20 -0
- db/PE/DS.Sentinel_SuperPro.2.sg +21 -0
- db/PE/DS.Sentinel_SuperPro_dongle.5.sg +20 -0
- db/PE/DS.Sentinel_dongle.5.sg +28 -0
- db/PE/DS.SoftLok_dongle.5.sg +17 -0
- db/PE/DS.Unikey_dongle.5.sg +30 -0
- db/PE/DS.WIBU_Key_dongle.5.sg +20 -0
- db/PE/DS.Wizzkey_dongle.5.sg +13 -0
- db/PE/DYAMAR.2.sg +12 -0
- db/PE/DZA_Patcher.2.sg +15 -0
- db/PE/Daemon_Protect.2.sg +13 -0
- db/PE/DalKrypt.2.sg +12 -0
- db/PE/DataAnubis.1.sg +11 -0
- db/PE/DeepSea.2.sg +18 -0
- db/PE/DelZip_SFX.2.sg +14 -0
- db/PE/Delphi.4.sg +270 -0
- db/PE/Denuvo.2.sg +97 -0
- db/PE/DeployMaster.1.sg +15 -0
- db/PE/Dimd_SFX.1.sg +15 -0
- db/PE/Ding_Boys_PE-lock_Phantasm.2.sg +18 -0
- db/PE/Direct2D.4.sg +14 -0
- db/PE/Direct3D.4.sg +38 -0
- db/PE/DirectX.4.sg +14 -0
- db/PE/Dolphin_VM.1.sg +18 -0
- db/PE/DotFix_Nice_Protect.2.sg +23 -0
- db/PE/Dotfuscator.2.sg +11 -0
- db/PE/Duals_eXe_Encryptor.2.sg +19 -0
- db/PE/DxPack.2.sg +22 -0
- db/PE/ENIGMA.2.sg +115 -0
- db/PE/EXE32Pack.2.sg +12 -0
- db/PE/EXECryptor.2.sg +99 -0
- db/PE/EXEFog.2.sg +22 -0
- db/PE/EXE_Password_Protector.2.sg +12 -0
- db/PE/Eazfuscator.2.sg +16 -0
- db/PE/ElecKey.2.sg +33 -0
- db/PE/ElectronApp.3.sg +22 -0
- db/PE/Enigma_Virtual_Box.2.sg +13 -0
- db/PE/Envoy_Packager.1.sg +15 -0
- db/PE/Escargot.2.sg +15 -0
- db/PE/Eschalon_installer.1.sg +15 -0
- db/PE/ExE_Pack.2.sg +23 -0
- db/PE/Excelsior_Installer.1.sg +14 -0
- db/PE/Excelsior_JET.4.sg +36 -0
- db/PE/ExeSplitter.1.sg +24 -0
- db/PE/ExeStealth.2.sg +40 -0
- db/PE/Exe_Guarder.2.sg +12 -0
- db/PE/Exe_Locker.2.sg +12 -0
- db/PE/Exe_Shield.2.sg +28 -0
- db/PE/FASM.4.sg +22 -0
- db/PE/FDM_Installer.1.sg +18 -0
- db/PE/FISH_.NET.2.sg +17 -0
- db/PE/FSG.2.sg +136 -0
- db/PE/FileSplit_Self-Merger.2.sg +13 -0
- db/PE/FishPE_Shield.2.sg +21 -0
- db/PE/Fish_PE.2.sg +22 -0
- db/PE/FixupPak.2.sg +12 -0
- db/PE/Fox_Pro.3.sg +25 -0
- db/PE/FreeBasic.6.sg +28 -0
- db/PE/FreeJoiner.1.sg +45 -0
- db/PE/Free_Pascal.4.sg +54 -0
- db/PE/Fusion.2.sg +12 -0
- db/PE/G!X_Protector.2.sg +12 -0
- db/PE/GPInstall.1.sg +19 -0
- db/PE/GSplit.1.sg +20 -0
- db/PE/GZip.1.sg +20 -0
- db/PE/GameGuard.2.sg +12 -0
- db/PE/Gentee_Installer.1.sg +35 -0
- db/PE/Ghost_Installer.1.sg +16 -0
- db/PE/GkSetup.1.sg +18 -0
- db/PE/Go.4.sg +61 -0
- db/PE/Goats_PE_Mutilator.2.sg +12 -0
- db/PE/GoldSrc.3.sg +20 -0
- db/PE/Goliath.2.sg +15 -0
- db/PE/Gremlin_patcher.1.sg +21 -0
- db/PE/HASP.2.sg +22 -0
- db/PE/HASP_HL_Protection.2.sg +34 -0
- db/PE/HTML_executable.1.sg +20 -0
- db/PE/HackShield.2.sg +17 -0
- db/PE/Hide&Protect.2.sg +12 -0
- db/PE/HidePE.2.sg +255 -0
- db/PE/Huan.1.sg +12 -0
- db/PE/HyperTech_Crackproof.2.sg +13 -0
- db/PE/I-D_Media_installer.1.sg +15 -0
- db/PE/IDM_Installer.1.sg +15 -0
- db/PE/ID_Application_Protector(NoNamePacker).2.sg +12 -0
- db/PE/ILProtector.2.sg +13 -0
- db/PE/ILUCRYPT.2.sg +15 -0
- db/PE/IMPostor_Pack.2.sg +12 -0
- db/PE/INCrypter.2.sg +12 -0
- db/PE/INFTool.1.sg +15 -0
- db/PE/INTENIUM.1.sg +13 -0
- db/PE/IProtect.2.sg +17 -0
- db/PE/Inno_Setup_Module.1.sg +97 -0
- db/PE/Inquartos_Obfuscator.2.sg +12 -0
- db/PE/Instalit.1.sg +25 -0
- db/PE/Install4j_installer.1.sg +16 -0
- db/PE/InstallAnywhere.1.sg +36 -0
- db/PE/InstallShield.1.sg +90 -0
- db/PE/InstallUs.1.sg +16 -0
- db/PE/Install_Factory.1.sg +14 -0
- db/PE/Intel_C.4.sg +14 -0
- db/PE/Intel_IPP.sg +15 -0
- db/PE/IntelliProtector.2.sg +17 -0
- db/PE/InxObfuscator.2.sg +14 -0
- db/PE/JDPack.2.sg +15 -0
- db/PE/JScript.4.sg +15 -0
- db/PE/Jar2exe.1.sg +26 -0
- db/PE/KBys_Packer.2.sg +21 -0
- db/PE/KGCrypt.2.sg +11 -0
- db/PE/KRZIP_SFX.2.sg +15 -0
- db/PE/KoiVM.2.sg +20 -0
- db/PE/Kryptonit.2.sg +17 -0
- db/PE/LARP.2.sg +13 -0
- db/PE/LCC-Win32.4.sg +15 -0
- db/PE/LCL.5.sg +17 -0
- db/PE/LDK.2.sg +21 -0
- db/PE/LDK_.NET.2.sg +13 -0
- db/PE/Lahey_Fortran_90.4.sg +20 -0
- db/PE/LameCrypt.2.sg +12 -0
- db/PE/Laserlok.2.sg +12 -0
- db/PE/LimeCrypter.2.sg +56 -0
- db/PE/Lua_Runtime.4.sg +17 -0
- db/PE/LucasArts_Update_Installer.1.sg +14 -0
- db/PE/Lyme_SFX.1.sg +15 -0
- db/PE/MEW.2.sg +26 -0
- db/PE/MP-ZipTool.1.sg +14 -0
- db/PE/MPQ.1.sg +15 -0
- db/PE/MPRESS.2.sg +52 -0
- db/PE/MSLRH.2.sg +117 -0
- db/PE/MZ-Crypt.2.sg +12 -0
- db/PE/MZ0oPE.2.sg +12 -0
- db/PE/MaskPE.2.sg +15 -0
- db/PE/Maxtocode.2.sg +21 -0
- db/PE/Metrowerks_CodeWarrior.2.sg +26 -0
- db/PE/MicroJoiner.1.sg +21 -0
- db/PE/Microsoft.6.sg +1735 -0
- db/PE/Microsoft_C_Runtime.4.sg +16 -0
- db/PE/Microsoft_Class_Installer.1.sg +22 -0
- db/PE/Microsoft_Compound-based_installer.1.sg +14 -0
- db/PE/Microsoft_Edge_WebView.4.sg +14 -0
- db/PE/Microsoft_NET_Runtime.4.sg +15 -0
- db/PE/Microsoft_Warbird.2.sg +15 -0
- db/PE/Microsoft_dotNET_installer.1.sg +16 -0
- db/PE/Miktex_Installer.1.sg +15 -0
- db/PE/MinGW.4.sg +78 -0
- db/PE/Minke.2.sg +12 -0
- db/PE/Mioplanet_installer.1.sg +14 -0
- db/PE/MoleBox.2.sg +41 -0
- db/PE/Morphnah.2.sg +23 -0
- db/PE/Multimedia_Fusion_Installer.1.sg +14 -0
- db/PE/Mystic_Compressor.2.sg +15 -0
- db/PE/N-Joiner.1.sg +12 -0
- db/PE/N-Joy.2.sg +25 -0
- db/PE/NETZ.2.sg +11 -0
- db/PE/NET_Spider.2.sg +14 -0
- db/PE/NOS_Installer.1.sg +22 -0
- db/PE/NOS_Packer.2.sg +13 -0
- db/PE/NTShell.2.sg +13 -0
- db/PE/NTkrnl_Protector.2.sg +37 -0
- db/PE/NakedPacker.2.sg +13 -0
- db/PE/NanoZip.1.sg +16 -0
- db/PE/NativeCryptor_by_DosX.2.sg +13 -0
- db/PE/Native_UD_Packer.2.sg +12 -0
- db/PE/NecroVM.Virt.2.sg +46 -0
- db/PE/NeoLite.2.sg +39 -0
- db/PE/NetReactor.2.sg +103 -0
- db/PE/NetShieldProtector.2.sg +55 -0
- db/PE/Newtonsoft.Json.4.sg +14 -0
- db/PE/Nim.4.sg +18 -0
- db/PE/Ningishzida.2.sg +12 -0
- db/PE/NodeJS_Nexe.sg +16 -0
- db/PE/NodeJS_Pkg.sg +16 -0
- db/PE/NoobyProtect.2.sg +12 -0
- db/PE/North_Star_PE_Shrinker.2.sg +12 -0
- db/PE/NsPacK.2.sg +61 -0
- db/PE/Nuitka.1.sg +26 -0
- db/PE/Nullsoft_Scriptable_Install_System.1.sg +96 -0
- db/PE/Nvidia_DLSS.4.sg +22 -0
- db/PE/Nvidia_PhysX.4.sg +15 -0
- db/PE/O'Setup95.1.sg +15 -0
- db/PE/ORiEN.2.sg +19 -0
- db/PE/Obfuscar.2.sg +14 -0
- db/PE/Obfuscator_.NET_2009.2.sg +16 -0
- db/PE/Obsidium.2.sg +272 -0
- db/PE/OneVM.2.sg +23 -0
- db/PE/OpenAL.4.sg +14 -0
- db/PE/OpenCL.4.sg +14 -0
- db/PE/OpenCV.4.sg +18 -0
- db/PE/OpenGL.4.sg +14 -0
- db/PE/OpenSSL.4.sg +14 -0
- db/PE/OpusAudio.4.sg +15 -0
- db/PE/Oreans_CodeVirtualizer.2.sg +14 -0
- db/PE/OxiJoiner.sg +15 -0
- db/PE/PACE.2.sg +17 -0
- db/PE/PACKWIN.2.sg +12 -0
- db/PE/PCInstall.1.sg +14 -0
- db/PE/PCShrink.2.sg +15 -0
- db/PE/PC_Guard.2.sg +20 -0
- db/PE/PE-Admin.2.sg +12 -0
- db/PE/PE-Armor.2.sg +21 -0
- db/PE/PE-Shield.2.sg +16 -0
- db/PE/PEBundle.2.sg +25 -0
- db/PE/PECRYPT32.2.sg +22 -0
- db/PE/PECompact.2.sg +167 -0
- db/PE/PELock.2.sg +47 -0
- db/PE/PESpin.2.sg +56 -0
- db/PE/PETetris.sg +11 -0
- db/PE/PEUnion.2.sg +122 -0
- db/PE/PE_Diminisher.2.sg +16 -0
- db/PE/PE_Encrypt.2.sg +12 -0
- db/PE/PE_Intro.2.sg +12 -0
- db/PE/PE_Lock_NT.2.sg +21 -0
- db/PE/PE_Password.2.sg +12 -0
- db/PE/PE_Protect.2.sg +15 -0
- db/PE/PEncrypt.2.sg +21 -0
- db/PE/PEnguinCrypt.2.sg +12 -0
- db/PE/PIMP.1.sg +14 -0
- db/PE/PKLITE.2.sg +15 -0
- db/PE/PKSFX.1.sg +14 -0
- db/PE/PMaker.1.sg +13 -0
- db/PE/PUNiSHER.2.sg +12 -0
- db/PE/Pack_Master.2.sg +12 -0
- db/PE/PackageForTheWeb.1.sg +15 -0
- db/PE/Packanoid.2.sg +12 -0
- db/PE/Packman.2.sg +18 -0
- db/PE/Pantaray_QSetup.1.sg +29 -0
- db/PE/Paquet.1.sg +16 -0
- db/PE/Paquet_Builder.1.sg +15 -0
- db/PE/Patch.1.sg +20 -0
- db/PE/PePack.2.sg +16 -0
- db/PE/PeX.2.sg +12 -0
- db/PE/Pe_Ninja.2.sg +12 -0
- db/PE/Pelles_C.4.sg +14 -0
- db/PE/Perl.3.sg +93 -0
- db/PE/PerlApp.1.sg +21 -0
- db/PE/Petite.2.sg +56 -0
- db/PE/Phoenix.2.sg +19 -0
- db/PE/Photo_Compiler.2.sg +15 -0
- db/PE/PowerBASIC.4.sg +14 -0
- db/PE/Power_Screen_Recorder.1.sg +16 -0
- db/PE/Private_EXE_Protector.2.sg +86 -0
- db/PE/PureBasic.4.sg +55 -0
- db/PE/PwdProtect.2.sg +11 -0
- db/PE/Py2exe.1.sg +15 -0
- db/PE/PyInstaller.2.sg +72 -0
- db/PE/PyInstallerHider.1.sg +27 -0
- db/PE/Python.3.sg +22 -0
- db/PE/Qt.4.sg +33 -0
- db/PE/Quantum.1.sg +17 -0
- db/PE/QuestPowerGUI.2.sg +16 -0
- db/PE/QuickBFC.2.sg +19 -0
- db/PE/QuickPack_NT.2.sg +13 -0
- db/PE/RADBasic.4.sg +17 -0
- db/PE/RCryptor.2.sg +39 -0
- db/PE/RDG_Tejon_Crypter.2.sg +12 -0
- db/PE/RJoiner.1.sg +17 -0
- db/PE/RLP.2.sg +12 -0
- db/PE/RLPack.2.sg +47 -0
- db/PE/RNsetup.1.sg +17 -0
- db/PE/RPP.1.sg +14 -0
- db/PE/RTPatch.1.sg +15 -0
- db/PE/ReNET-pack.2.sg +11 -0
- db/PE/RealBasic.4.sg +24 -0
- db/PE/RobustObfuscator.2.sg +15 -0
- db/PE/RosASM.4.sg +20 -0
- db/PE/Rust.4.sg +34 -0
- db/PE/SCE_installer.1.sg +18 -0
- db/PE/SC_Obfuscator.2.sg +12 -0
- db/PE/SC_Pack.2.sg +13 -0
- db/PE/SDL.4.sg +21 -0
- db/PE/SDProtector.2.sg +18 -0
- db/PE/SFXRun.1.sg +14 -0
- db/PE/SLVc0deProtector.2.sg +21 -0
- db/PE/STATICSUP.1.sg +14 -0
- db/PE/STUD.2.sg +12 -0
- db/PE/SVK_Protector.2.sg +22 -0
- db/PE/SZDD.1.sg +40 -0
- db/PE/Safedisc.2.sg +13 -0
- db/PE/Safenet_RMS.2.sg +12 -0
- db/PE/Safengine_Shielden.2.sg +43 -0
- db/PE/ScriptHookV.4.sg +14 -0
- db/PE/SecuPack.2.sg +13 -0
- db/PE/SecuROM.2.sg +22 -0
- db/PE/Secure_Shade.2.sg +13 -0
- db/PE/SerGreen_Appacker.2.sg +16 -0
- db/PE/Setup-Specialist.1.sg +15 -0
- db/PE/Setup_Factory.1.sg +42 -0
- db/PE/SfxCA.1.sg +20 -0
- db/PE/Shrink_Wrap.2.sg +12 -0
- db/PE/Shrinker.2.sg +27 -0
- db/PE/SimbiOZ.2.sg +19 -0
- db/PE/SimplePackerByEronana.2.sg +14 -0
- db/PE/Simple_Pack.2.sg +15 -0
- db/PE/Sixxpack.2.sg +20 -0
- db/PE/Skater.2.sg +16 -0
- db/PE/Smart_Assembly.2.sg +36 -0
- db/PE/Smart_Install_Maker.1.sg +17 -0
- db/PE/SmokesCrypt.2.sg +12 -0
- db/PE/SoftProtect.2.sg +13 -0
- db/PE/SoftSentry.2.sg +16 -0
- db/PE/Soft_Defender.2.sg +20 -0
- db/PE/Softlocx.1.sg +13 -0
- db/PE/Software_Compress.2.sg +15 -0
- db/PE/Sony_Windows_Installer.1.sg +16 -0
- db/PE/SpASM.4.sg +20 -0
- db/PE/Special_EXE_Password_Protector.2.sg +12 -0
- db/PE/SpicesNet.2.sg +34 -0
- db/PE/Spoon_Installer.1.sg +23 -0
- db/PE/Spoon_Studio.2.sg +16 -0
- db/PE/Squeez_SFX.1.sg +15 -0
- db/PE/Squirrel_installer.1.sg +16 -0
- db/PE/Squishy.2.sg +11 -0
- db/PE/StarForce.2.sg +58 -0
- db/PE/Ste@lth_PE.2.sg +16 -0
- db/PE/Steam.4.sg +14 -0
- db/PE/Stones_PE_Encryptor.2.sg +22 -0
- db/PE/Store_Installer.1.sg +13 -0
- db/PE/SwiftView_installer.1.sg +15 -0
- db/PE/Synactis_In-The-Box_Installer.1.sg +21 -0
- db/PE/TPP_Pack.2.sg +12 -0
- db/PE/Tages.2.sg +12 -0
- db/PE/Tarma_Installer.1.sg +29 -0
- db/PE/TheArk.2.sg +11 -0
- db/PE/Themida.2.sg +89 -0
- db/PE/Thinstall.2.sg +89 -0
- db/PE/TrueCrypt-VeraCrypt_installer.1.sg +18 -0
- db/PE/UFI_installer.1.sg +14 -0
- db/PE/UG2002_Cruncher.2.sg +12 -0
- db/PE/UPX-Patcher.6.sg +29 -0
- db/PE/UPX.2.sg +174 -0
- db/PE/UPXFreak.2.sg +12 -0
- db/PE/UPX_Inliner.2.sg +12 -0
- db/PE/UPX_Modifier.2.sg +12 -0
- db/PE/UPX_Mutanter.2.sg +21 -0
- db/PE/UPX_Protector.2.sg +12 -0
- db/PE/UPX_lock.2.sg +12 -0
- db/PE/UPX_scrambler.2.sg +20 -0
- db/PE/UPX_shit.2.sg +21 -0
- db/PE/UPXcrypter.2.sg +11 -0
- db/PE/UPolyX.2.sg +30 -0
- db/PE/UltraPro.2.sg +18 -0
- db/PE/UnoPiX.2.sg +27 -0
- db/PE/VBox.2.sg +15 -0
- db/PE/VCasm-Protector.2.sg +21 -0
- db/PE/VMProtect.2.sg +296 -0
- db/PE/VMProtect_NET.2.sg +57 -0
- db/PE/VPacker.2.sg +13 -0
- db/PE/VaySoft_PDF2EXE.2.sg +16 -0
- db/PE/VbsToExe.1.sg +31 -0
- db/PE/VbsToExeConverter.2.sg +18 -0
- db/PE/Virbox.2.sg +13 -0
- db/PE/Virtual_Pascal.4.sg +15 -0
- db/PE/Vise.1.sg +16 -0
- db/PE/VisualStudio_NET.6.sg +14 -0
- db/PE/Visual_Objects.4.sg +13 -0
- db/PE/Visual_Prolog.4.sg +15 -0
- db/PE/Vulkan.4.sg +14 -0
- db/PE/WF.Guna.UI2.4.sg +15 -0
- db/PE/WF.Krypton.4.sg +14 -0
- db/PE/WF.MetroFramework.4.sg +14 -0
- db/PE/WF_WPF.MaterialSkin.4.sg +14 -0
- db/PE/WWPACK.2.sg +11 -0
- db/PE/Watcom.4.sg +36 -0
- db/PE/WiX_Toolset_installer.1.sg +21 -0
- db/PE/Wibu_Codemeter.1.sg +30 -0
- db/PE/WinACE.1.sg +12 -0
- db/PE/WinIMP.1.sg +15 -0
- db/PE/WinImage.1.sg +15 -0
- db/PE/WinPatch.1.sg +18 -0
- db/PE/WinRAR.1.sg +18 -0
- db/PE/WinRAR_Installer.1.sg +28 -0
- db/PE/WinUpack.2.sg +64 -0
- db/PE/WinZip.1.sg +44 -0
- db/PE/Winamp_Installer.1.sg +14 -0
- db/PE/Wind_of_Crypt.2.sg +12 -0
- db/PE/Windows_Authenticode.7.sg +13 -0
- db/PE/Windows_Installer.1.sg +22 -0
- db/PE/Wine.3.sg +12 -0
- db/PE/Wise_Installer.1.sg +52 -0
- db/PE/XCR.2.sg +13 -0
- db/PE/XComp.2.sg +19 -0
- db/PE/XPACK.2.sg +17 -0
- db/PE/Xash.3.sg +20 -0
- db/PE/Xbase.4.sg +30 -0
- db/PE/Xenocode_Postbuild.2.sg +12 -0
- db/PE/Xerces-CPP.4.sg +15 -0
- db/PE/XerinFuscator.2.sg +31 -0
- db/PE/Xojo.3.sg +29 -0
- db/PE/Xoreax_installer.1.sg +19 -0
- db/PE/Xtreamlok.2.sg +22 -0
- db/PE/Yano.2.sg +12 -0
- db/PE/Yodas_Crypter.2.sg +35 -0
- db/PE/Yodas_Protector.2.sg +15 -0
- db/PE/Yummy_Game_SoftwareShield.2.sg +17 -0
- db/PE/Zig.4.sg +22 -0
- db/PE/ZipCentral_SFX.1.sg +16 -0
- db/PE/Zip_SFX.2.sg +62 -0
- db/PE/Zprotect.2.sg +26 -0
- db/PE/Zydis.4.sg +14 -0
- db/PE/_FixDetects.9.sg +79 -0
- db/PE/_NetCompilersLibs.4.sg +39 -0
- db/PE/_PE.0.sg +22 -0
- db/PE/__GenericHeuristicAnalysis_By_DosX.7.sg +3357 -0
- db/PE/_init +138 -0
- db/PE/_simpleNetAntivirus.1.sg +246 -0
- db/PE/aPack.2.sg +26 -0
- db/PE/arj.6.sg +10 -0
- db/PE/beria.2.sg +12 -0
- db/PE/curl.4.sg +14 -0
- db/PE/dUP.1.sg +20 -0
- db/PE/de4dot.6.sg +20 -0
- db/PE/dePACK.2.sg +13 -0
- db/PE/distutils.1.sg +18 -0
- db/PE/eXPressor.2.sg +59 -0
- db/PE/ezip.2.sg +14 -0
- db/PE/gcc.4.sg +15 -0
- db/PE/hXOR_packer.sg +13 -0
- db/PE/hmimys_PE-Pack.2.sg +23 -0
- db/PE/hmimys_Protect.2.sg +18 -0
- db/PE/iPB_Protect.2.sg +12 -0
- db/PE/inPEct.1.sg +10 -0
- db/PE/java.3.sg +21 -0
- db/PE/keygens.1.sg +25 -0
- db/PE/kkrunchy.2.sg +19 -0
- db/PE/ldc.4.sg +13 -0
- db/PE/linker.6.sg +100 -0
- db/PE/mPack.2.sg +15 -0
- db/PE/mkfPack.2.sg +12 -0
- db/PE/nPack.2.sg +36 -0
- db/PE/netshrink.2.sg +25 -0
- db/PE/obfus_h.5.sg +15 -0
- db/PE/obfusheader_h.5.sg +32 -0
- db/PE/ps2exe.2.sg +15 -0
- db/PE/rar.1.sg +16 -0
- db/PE/rar.6.sg +10 -0
- db/PE/scr2exe.2.sg +18 -0
- db/PE/sql-server.sg +14 -0
- db/PE/sqlite.4.sg +14 -0
- db/PE/sqx.1.sg +14 -0
- db/PE/tElock.2.sg +81 -0
- db/PE/tcc.4.sg +45 -0
- db/PE/wxWidgets.5.sg +27 -0
- db/PE/yzPack.2.sg +26 -0
- db/PE/zip.6.sg +10 -0
- db/PE/zlib.4.sg +14 -0
- db/QtFramework +16 -0
- db/RosASM +13 -0
- db/SpASM +8 -0
- db/ZIP/_ZIP.0.sg +17 -0
- db/ZIP/_init +2 -0
- db/_debug +23 -0
- db/_init +149 -0
- db/archive-file +36 -0
- db/arj +80 -0
- db/cab +45 -0
- db/duration +14 -0
- db/language +46 -0
- db/python +30 -0
- db/rar +75 -0
- db/read +692 -0
- db/shell-script +24 -0
- db/wxWidgets +12 -0
- db/zip-file +87 -0
- db/zlib +23 -0
- die/Qt6Concurrent.dll +0 -0
- die/Qt6Core.dll +0 -0
- die/Qt6Network.dll +0 -0
- die/Qt6Qml.dll +0 -0
- die/__init__.py +125 -0
- die/_die.cp313-win_amd64.pyd +0 -0
- die/db/db/.vscode/about.txt +1 -0
- die/db/db/.vscode/settings.json +5 -0
- die/db/db/ACE +48 -0
- die/db/db/APK/APKProtect.2.sg +15 -0
- die/db/db/APK/APKProtector.2.sg +20 -0
- die/db/db/APK/AlibabaProtection.2.sg +15 -0
- die/db/db/APK/AndroidRepublic.2.sg +17 -0
- die/db/db/APK/ApktoolPlus.6.sg +12 -0
- die/db/db/APK/AppGuard.2.sg +17 -0
- die/db/db/APK/AppSolid.2.sg +12 -0
- die/db/db/APK/BaiduProtection.2.sg +18 -0
- die/db/db/APK/BangBangReinforcement.2.sg +27 -0
- die/db/db/APK/BangcleProtection.2.sg +14 -0
- die/db/db/APK/DXShield.2.sg +12 -0
- die/db/db/APK/DexProtector.2.sg +23 -0
- die/db/db/APK/DingXiangReinforcement.2.sg +14 -0
- die/db/db/APK/EasyShield.2.sg +19 -0
- die/db/db/APK/Gemalto.2.sg +19 -0
- die/db/db/APK/Hdus-Wjus.2.sg +14 -0
- die/db/db/APK/IL2CPP.4.sg +14 -0
- die/db/db/APK/Ijiami.2.sg +24 -0
- die/db/db/APK/Jiagu.2.sg +17 -0
- die/db/db/APK/Kiro.2.sg +12 -0
- die/db/db/APK/Kiwi.2.sg +23 -0
- die/db/db/APK/Kony.2.sg +12 -0
- die/db/db/APK/LIAPP.2.sg +16 -0
- die/db/db/APK/MedusaH.2.sg +12 -0
- die/db/db/APK/MobileTencentProtect.2.sg +14 -0
- die/db/db/APK/NQShield.2.sg +15 -0
- die/db/db/APK/NagaPTProtection.2.sg +14 -0
- die/db/db/APK/OLLVM-TTL.2.sg +14 -0
- die/db/db/APK/Obfuscapk.2.sg +14 -0
- die/db/db/APK/PackageName.1.sg +15 -0
- die/db/db/APK/PangXie.2.sg +14 -0
- die/db/db/APK/ProGuard.2.sg +12 -0
- die/db/db/APK/QDBH.2.sg +12 -0
- die/db/db/APK/Qihoo360Protection.2.sg +15 -0
- die/db/db/APK/SandHook.4.sg +16 -0
- die/db/db/APK/SecNeo.2.sg +19 -0
- die/db/db/APK/SecShell.2.sg +15 -0
- die/db/db/APK/SingleJar.3.sg +10 -0
- die/db/db/APK/TencentLegu.2.sg +18 -0
- die/db/db/APK/TencentProtection.2.sg +14 -0
- die/db/db/APK/TencentSecurity.2.sg +17 -0
- die/db/db/APK/TongfuShield.2.sg +21 -0
- die/db/db/APK/UnicomSDK.4.sg +21 -0
- die/db/db/APK/Unity.4.sg +12 -0
- die/db/db/APK/VDog.2.sg +16 -0
- die/db/db/APK/Yidun.2.sg +16 -0
- die/db/db/APK/_APK.0.sg +15 -0
- die/db/db/APK/_init +2 -0
- die/db/db/APK/iCrypt.2.sg +24 -0
- die/db/db/Amiga/DeliTracker.1.sg +14 -0
- die/db/db/Amiga/_Amiga.0.sg +15 -0
- die/db/db/Amiga/_init +2 -0
- die/db/db/Archive/_Archive.0.sg +17 -0
- die/db/db/Archive/_init +2 -0
- die/db/db/Binary/Amiga_loadable.1.sg +16 -0
- die/db/db/Binary/Empty.1.sg +11 -0
- die/db/db/Binary/Img.UDIF.1.sg +15 -0
- die/db/db/Binary/RIFF.1.sg +19 -0
- die/db/db/Binary/U-Boot.1.sg +321 -0
- die/db/db/Binary/Universal_Binary.1.sg +17 -0
- die/db/db/Binary/Video.FLV.1.sg +16 -0
- die/db/db/Binary/__MiniExtensionsHeuristic_By_DosX.7.sg +184 -0
- die/db/db/Binary/__MiniJavaScriptHeuristic_By_DosX.7.sg +44 -0
- die/db/db/Binary/_init +4 -0
- die/db/db/Binary/archive.7z.1.sg +14 -0
- die/db/db/Binary/archive.ACE.1.sg +10 -0
- die/db/db/Binary/archive.AR.1.sg +85 -0
- die/db/db/Binary/archive.ARC.1.sg +16 -0
- die/db/db/Binary/archive.ARJ.1.sg +9 -0
- die/db/db/Binary/archive.ASAR.sg +13 -0
- die/db/db/Binary/archive.BZip.1.sg +20 -0
- die/db/db/Binary/archive.CFL3.1.sg +25 -0
- die/db/db/Binary/archive.Cab.1.sg +25 -0
- die/db/db/Binary/archive.DEFLATE.1.sg +186 -0
- die/db/db/Binary/archive.DotBundle.sg +9 -0
- die/db/db/Binary/archive.LRZ.1.sg +57 -0
- die/db/db/Binary/archive.LZ4.1.sg +42 -0
- die/db/db/Binary/archive.LZOP.1.sg +13 -0
- die/db/db/Binary/archive.MS_Compound.1.sg +24 -0
- die/db/db/Binary/archive.PEA.1.sg +65 -0
- die/db/db/Binary/archive.RAR.1.sg +9 -0
- die/db/db/Binary/archive.Unity.1.sg +74 -0
- die/db/db/Binary/archive.ZIP.1.sg +10 -0
- die/db/db/Binary/archive.ZLIB.1.sg +14 -0
- die/db/db/Binary/archive.ZPAQ.1.sg +15 -0
- die/db/db/Binary/archive.btoa.1.sg +14 -0
- die/db/db/Binary/archives.1.sg +299 -0
- die/db/db/Binary/archives.ancient.sg +506 -0
- die/db/db/Binary/audio.1.sg +12079 -0
- die/db/db/Binary/audio.8svx.1.sg +16 -0
- die/db/db/Binary/audio.ACM.1.sg +22 -0
- die/db/db/Binary/audio.AU.1.sg +49 -0
- die/db/db/Binary/audio.DSS.1.sg +57 -0
- die/db/db/Binary/audio.FSB.1.sg +105 -0
- die/db/db/Binary/audio.VOC.1.sg +97 -0
- die/db/db/Binary/audio.WAV.1.sg +320 -0
- die/db/db/Binary/audio.mp3.2.sg +189 -0
- die/db/db/Binary/backup_images.1.sg +27 -0
- die/db/db/Binary/bin.AAALogo.1.sg +16 -0
- die/db/db/Binary/bin.Atari_ST.1.sg +12 -0
- die/db/db/Binary/bin.GameMaps.1.sg +13 -0
- die/db/db/Binary/bin.GuitarPro.1.sg +26 -0
- die/db/db/Binary/bin.Hermes.1.sg +16 -0
- die/db/db/Binary/bin.IDA.1.sg +78 -0
- die/db/db/Binary/bin.ISO_9660.1.sg +13 -0
- die/db/db/Binary/bin.JMDL.1.sg +34 -0
- die/db/db/Binary/bin.JSC.1.sg +88 -0
- die/db/db/Binary/bin.Java.1.sg +152 -0
- die/db/db/Binary/bin.KeePass.1.sg +22 -0
- die/db/db/Binary/bin.LUA.1.sg +48 -0
- die/db/db/Binary/bin.NVA.1.sg +15 -0
- die/db/db/Binary/bin.PDB.1.sg +16 -0
- die/db/db/Binary/bin.PEFF.1.sg +11 -0
- die/db/db/Binary/bin.PalmFile.1.sg +104 -0
- die/db/db/Binary/bin.Python.1.sg +628 -0
- die/db/db/Binary/bin.RPGMaker2Kdata.1.sg +242 -0
- die/db/db/Binary/bin.SWF.1.sg +26 -0
- die/db/db/Binary/bin.WAD.1.sg +19 -0
- die/db/db/Binary/bin.WindowsIconCacheDB.1.sg +34 -0
- die/db/db/Binary/bin.ZBMP.1.sg +16 -0
- die/db/db/Binary/cad.DWG.1.sg +63 -0
- die/db/db/Binary/cert.WinAuth.1.sg +13 -0
- die/db/db/Binary/database.SQLite.1.sg +45 -0
- die/db/db/Binary/databases.1.sg +117 -0
- die/db/db/Binary/debugData.1.sg +68 -0
- die/db/db/Binary/doc.CHM.1.sg +18 -0
- die/db/db/Binary/doc.DJVU.1.sg +113 -0
- die/db/db/Binary/doc.HLP.1.sg +11 -0
- die/db/db/Binary/doc.PDF.1.sg +16 -0
- die/db/db/Binary/doc.RTF.1.sg +13 -0
- die/db/db/Binary/donut.1.sg +49 -0
- die/db/db/Binary/font.ADOBE.1.sg +35 -0
- die/db/db/Binary/font.BMF.1.sg +63 -0
- die/db/db/Binary/format.MS-DBG.1.sg +19 -0
- die/db/db/Binary/format.MS-PST.sg +15 -0
- die/db/db/Binary/format.MS-VHD.1.sg +61 -0
- die/db/db/Binary/format.MS-VHDX.sg +16 -0
- die/db/db/Binary/format.MS-WIM.1.sg +43 -0
- die/db/db/Binary/format.MS-XNA.1.sg +80 -0
- die/db/db/Binary/format.UE.1.sg +36 -0
- die/db/db/Binary/format.VDI.1.sg +40 -0
- die/db/db/Binary/formats.1.sg +90 -0
- die/db/db/Binary/graphics.1.sg +37 -0
- die/db/db/Binary/image.ANI.1.sg +26 -0
- die/db/db/Binary/image.BMP.1.sg +48 -0
- die/db/db/Binary/image.CUR.1.sg +55 -0
- die/db/db/Binary/image.DDS.1.sg +26 -0
- die/db/db/Binary/image.EPS.1.sg +26 -0
- die/db/db/Binary/image.GIF.1.sg +95 -0
- die/db/db/Binary/image.ICO.1.sg +57 -0
- die/db/db/Binary/image.JNG.1.sg +34 -0
- die/db/db/Binary/image.JPEG.1.sg +52 -0
- die/db/db/Binary/image.JPEG.DQT.4.sg +13 -0
- die/db/db/Binary/image.JPEG.Tools.3.sg +53 -0
- die/db/db/Binary/image.JPEG.camera.2.sg +16 -0
- die/db/db/Binary/image.JPEG.comment.4.sg +16 -0
- die/db/db/Binary/image.JPEGXL.1.sg +15 -0
- die/db/db/Binary/image.KTX.1.sg +44 -0
- die/db/db/Binary/image.LBM.1.sg +69 -0
- die/db/db/Binary/image.MNG.1.sg +19 -0
- die/db/db/Binary/image.PCX.1.sg +69 -0
- die/db/db/Binary/image.PNG.1.sg +165 -0
- die/db/db/Binary/image.PSD.1.sg +63 -0
- die/db/db/Binary/image.PVR.1.sg +29 -0
- die/db/db/Binary/image.QOI.1.sg +36 -0
- die/db/db/Binary/image.TGA.1.sg +149 -0
- die/db/db/Binary/image.TIFF.1.sg +186 -0
- die/db/db/Binary/image.XAR.1.sg +31 -0
- die/db/db/Binary/img.VM.1.sg +13 -0
- die/db/db/Binary/overlays.6.sg +367 -0
- die/db/db/Binary/rom.1.sg +1327 -0
- die/db/db/Binary/shellcode.pe_to_shellcode.1.sg +107 -0
- die/db/db/Binary/srdi-monoxgas.1.sg +128 -0
- die/db/db/Binary/text.HTML.1.sg +14 -0
- die/db/db/Binary/text.Pascal.1.sg +19 -0
- die/db/db/Binary/text.RegistryFile.sg +20 -0
- die/db/db/Binary/text.Shell.1.sg +14 -0
- die/db/db/Binary/text.XML.1.sg +18 -0
- die/db/db/Binary/text.c.1.sg +35 -0
- die/db/db/Binary/text.pdb.1.sg +40 -0
- die/db/db/Binary/text.plaintext.3.sg +25 -0
- die/db/db/Binary/text.python.1.sg +17 -0
- die/db/db/Binary/text.script.2.sg +16 -0
- die/db/db/Binary/video.MP4.1.sg +16 -0
- die/db/db/Borland +19 -0
- die/db/db/COM/32-bit_crypt.2.sg +13 -0
- die/db/db/COM/4kZIP.2.sg +13 -0
- die/db/db/COM/8086_Forth_83.4.sg +14 -0
- die/db/db/COM/A3E.1.sg +13 -0
- die/db/db/COM/ABK-Scrambler.2.sg +12 -0
- die/db/db/COM/ACE_Scrambler.2.sg +34 -0
- die/db/db/COM/ACiDDRAW.1.sg +16 -0
- die/db/db/COM/ANS2ALL.1.sg +18 -0
- die/db/db/COM/ARF_AV_Inject.1.sg +14 -0
- die/db/db/COM/ASC2COM.1.sg +25 -0
- die/db/db/COM/ASIC-Basic.4.sg +21 -0
- die/db/db/COM/AVAST-Protect.2.sg +13 -0
- die/db/db/COM/AVPACK.2.sg +14 -0
- die/db/db/COM/AdFlt.2.sg +17 -0
- die/db/db/COM/Anti-Lamer_Cryptor.2.sg +14 -0
- die/db/db/COM/Anti-hack_encryption_system.2.sg +13 -0
- die/db/db/COM/AutoCracker.1.sg +14 -0
- die/db/db/COM/BAT2EXEC.2.sg +18 -0
- die/db/db/COM/BIN-Lock.2.sg +14 -0
- die/db/db/COM/BatLite.4.sg +13 -0
- die/db/db/COM/Best_Protection_Kit-B.2.sg +16 -0
- die/db/db/COM/Borland_C++.4.sg +17 -0
- die/db/db/COM/Budokan.1.sg +13 -0
- die/db/db/COM/C-crypt.2.sg +14 -0
- die/db/db/COM/CC#3.2.sg +13 -0
- die/db/db/COM/CC.2.sg +22 -0
- die/db/db/COM/CC286.2.sg +14 -0
- die/db/db/COM/CCC.2.sg +16 -0
- die/db/db/COM/CHECKPRG.2.sg +13 -0
- die/db/db/COM/CNT.2.sg +13 -0
- die/db/db/COM/COM-Protect.2.sg +16 -0
- die/db/db/COM/COM-Protection.2.sg +13 -0
- die/db/db/COM/COM2TXT.1.sg +13 -0
- die/db/db/COM/COMCRYPT.2.sg +23 -0
- die/db/db/COM/COMPACK.2.sg +32 -0
- die/db/db/COM/COMPROTECT.2.sg +14 -0
- die/db/db/COM/COM_Sccrambler.2.sg +14 -0
- die/db/db/COM/COP.2.sg +14 -0
- die/db/db/COM/CPAV.1.sg +13 -0
- die/db/db/COM/CRX2COM.1.sg +12 -0
- die/db/db/COM/Character_Intro_Engine.1.sg +16 -0
- die/db/db/COM/Cheat_packer.2.sg +13 -0
- die/db/db/COM/CodeLock.2.sg +14 -0
- die/db/db/COM/ComProt.2.sg +13 -0
- die/db/db/COM/ComProtector.2.sg +18 -0
- die/db/db/COM/Comlock.2.sg +19 -0
- die/db/db/COM/CrAcKeR.2.sg +14 -0
- die/db/db/COM/Crack2EXE.1.sg +14 -0
- die/db/db/COM/CryptCom.2.sg +18 -0
- die/db/db/COM/CryptGeneric.2.sg +12 -0
- die/db/db/COM/Crypt_(Dismember).2.sg +16 -0
- die/db/db/COM/Crypto-King.2.sg +13 -0
- die/db/db/COM/CyberWare_Packer.2.sg +13 -0
- die/db/db/COM/DCFR.2.sg +13 -0
- die/db/db/COM/DIGPAK.1.sg +16 -0
- die/db/db/COM/DOC2COM.1.sg +13 -0
- die/db/db/COM/DOC2PAGE.1.sg +13 -0
- die/db/db/COM/DS-CRP.2.sg +16 -0
- die/db/db/COM/Datalight_C.4.sg +15 -0
- die/db/db/COM/Deep_Crypter.2.sg +14 -0
- die/db/db/COM/Deeper.2.sg +17 -0
- die/db/db/COM/Diet.2.sg +26 -0
- die/db/db/COM/Dn.COM_Cruncher.2.sg +13 -0
- die/db/db/COM/E2C-Scrambler.2.sg +13 -0
- die/db/db/COM/E2C.1.sg +16 -0
- die/db/db/COM/E2C1.2.sg +13 -0
- die/db/db/COM/EPW.2.sg +14 -0
- die/db/db/COM/EXE2COM.1.sg +72 -0
- die/db/db/COM/EXETools.2.sg +22 -0
- die/db/db/COM/EXETools_EXE2COM.1.sg +16 -0
- die/db/db/COM/Easy!-C.4.sg +13 -0
- die/db/db/COM/Entropy_Coder.2.sg +13 -0
- die/db/db/COM/ExOM.2.sg +14 -0
- die/db/db/COM/FCRYPT.2.sg +14 -0
- die/db/db/COM/FIXCRK.1.sg +13 -0
- die/db/db/COM/Fig-FORTH.4.sg +13 -0
- die/db/db/COM/ForthCMP.2.sg +23 -0
- die/db/db/COM/ForthCMP.4.sg +18 -0
- die/db/db/COM/FromBAT.1.sg +18 -0
- die/db/db/COM/GOAT.2.sg +19 -0
- die/db/db/COM/GP-FORTH.4.sg +14 -0
- die/db/db/COM/Guardian_Angel.2.sg +28 -0
- die/db/db/COM/HDKPROTC.2.sg +13 -0
- die/db/db/COM/HYPDOC.1.sg +13 -0
- die/db/db/COM/HackStop.2.sg +19 -0
- die/db/db/COM/ICE.1.sg +13 -0
- die/db/db/COM/IMMUN.1.sg +14 -0
- die/db/db/COM/Inbuild_Encryption.2.sg +14 -0
- die/db/db/COM/IntroC0der.1.sg +13 -0
- die/db/db/COM/J0B_cryptor.2.sg +13 -0
- die/db/db/COM/Keygen_crypt.2.sg +14 -0
- die/db/db/COM/Khrome_Crypt.2.sg +14 -0
- die/db/db/COM/LAME_GG.2.sg +12 -0
- die/db/db/COM/LAMPROT.2.sg +13 -0
- die/db/db/COM/LGLZ.2.sg +14 -0
- die/db/db/COM/LHA.1.sg +16 -0
- die/db/db/COM/LHarc_SFX.1.sg +16 -0
- die/db/db/COM/Lattice_C.4.sg +32 -0
- die/db/db/COM/List.1.sg +21 -0
- die/db/db/COM/Lock-Master.2.sg +14 -0
- die/db/db/COM/MASK.2.sg +26 -0
- die/db/db/COM/MCLock.2.sg +13 -0
- die/db/db/COM/MESS.2.sg +13 -0
- die/db/db/COM/MICRO-C.4.sg +16 -0
- die/db/db/COM/MIDPAK.1.sg +13 -0
- die/db/db/COM/MINIFORTH.4.sg +14 -0
- die/db/db/COM/MSCC.2.sg +14 -0
- die/db/db/COM/MakeRead.1.sg +14 -0
- die/db/db/COM/Maveriks_C0der.2.sg +16 -0
- die/db/db/COM/MegaShield.2.sg +14 -0
- die/db/db/COM/Microsoft_C.4.sg +13 -0
- die/db/db/COM/Microsoft_RTL.3.sg +16 -0
- die/db/db/COM/Microxor.2.sg +13 -0
- die/db/db/COM/MoonRock.2.sg +14 -0
- die/db/db/COM/NH.2.sg +13 -0
- die/db/db/COM/NetCode.1.sg +18 -0
- die/db/db/COM/NetRun.1.sg +13 -0
- die/db/db/COM/NoAV.2.sg +13 -0
- die/db/db/COM/Nodebug.2.sg +14 -0
- die/db/db/COM/ONLINE-HELP.1.sg +13 -0
- die/db/db/COM/OUTFORTH.4.sg +13 -0
- die/db/db/COM/PBFC.2.sg +14 -0
- die/db/db/COM/PCOM.2.sg +14 -0
- die/db/db/COM/PCRYPT.2.sg +14 -0
- die/db/db/COM/PCVault-Protect.2.sg +13 -0
- die/db/db/COM/PC_FORTH.4.sg +13 -0
- die/db/db/COM/PKLITE.2.sg +29 -0
- die/db/db/COM/PKZip.1.sg +18 -0
- die/db/db/COM/PRO-PACK.2.sg +21 -0
- die/db/db/COM/PROTECT.2.sg +67 -0
- die/db/db/COM/PTP.2.sg +16 -0
- die/db/db/COM/PU-Cryptor.2.sg +25 -0
- die/db/db/COM/PassCOM.2.sg +13 -0
- die/db/db/COM/Phrozen_Crew_cryptor.2.sg +13 -0
- die/db/db/COM/ProtEXE.2.sg +14 -0
- die/db/db/COM/R-Crypt.2.sg +19 -0
- die/db/db/COM/RCC.2.sg +25 -0
- die/db/db/COM/RDT_Compressor2.2.sg +13 -0
- die/db/db/COM/RDT_ENC_3.2.sg +13 -0
- die/db/db/COM/RELETTER.1.sg +14 -0
- die/db/db/COM/RMCOBOL.4.sg +16 -0
- die/db/db/COM/RSCC.2.sg +65 -0
- die/db/db/COM/SCC.2.sg +13 -0
- die/db/db/COM/SCRAM.2.sg +14 -0
- die/db/db/COM/SCRE2B.2.sg +14 -0
- die/db/db/COM/SCRNCH.2.sg +22 -0
- die/db/db/COM/SDW.2.sg +34 -0
- die/db/db/COM/SHOWV20.1.sg +18 -0
- die/db/db/COM/SHOW_IT.1.sg +13 -0
- die/db/db/COM/SHRINK.2.sg +14 -0
- die/db/db/COM/SP-FORTH.4.sg +18 -0
- die/db/db/COM/SPHINX_C--.4.sg +24 -0
- die/db/db/COM/Scramb.2.sg +18 -0
- die/db/db/COM/Scrypt!.2.sg +18 -0
- die/db/db/COM/Scrypt.2.sg +14 -0
- die/db/db/COM/SelfCrypt.2.sg +13 -0
- die/db/db/COM/SelfProtect386.2.sg +12 -0
- die/db/db/COM/Shadow.2.sg +14 -0
- die/db/db/COM/Shadow_COM_encryptor.2.sg +14 -0
- die/db/db/COM/Six-2-Four.2.sg +18 -0
- die/db/db/COM/SnoopStop.2.sg +14 -0
- die/db/db/COM/SoftGuard.1.sg +13 -0
- die/db/db/COM/Steplock.2.sg +14 -0
- die/db/db/COM/Surpas-86.4.sg +14 -0
- die/db/db/COM/Sydex.2.sg +13 -0
- die/db/db/COM/TCEC.2.sg +14 -0
- die/db/db/COM/TCOM.4.sg +16 -0
- die/db/db/COM/TPACK.2.sg +18 -0
- die/db/db/COM/TPC_Scramble.2.sg +12 -0
- die/db/db/COM/TXT2COM.1.sg +22 -0
- die/db/db/COM/TXTmaker.1.sg +14 -0
- die/db/db/COM/Text_Header.1.sg +14 -0
- die/db/db/COM/The_DRAW.1.sg +15 -0
- die/db/db/COM/Tiny_Xor.2.sg +14 -0
- die/db/db/COM/TurboBAT.1.sg +21 -0
- die/db/db/COM/Turbo_C++.4.sg +13 -0
- die/db/db/COM/Turbo_C.4.sg +27 -0
- die/db/db/COM/Turbo_Pascal.4.sg +30 -0
- die/db/db/COM/Txt2Exe.1.sg +14 -0
- die/db/db/COM/UNIFORTH.4.sg +13 -0
- die/db/db/COM/UPX.2.sg +22 -0
- die/db/db/COM/USCC.2.sg +14 -0
- die/db/db/COM/UnPackStop.2.sg +17 -0
- die/db/db/COM/UniCrypt.1.sg +14 -0
- die/db/db/COM/Unknown_cryptors.2.sg +74 -0
- die/db/db/COM/VGA_font_loader.1.sg +13 -0
- die/db/db/COM/VSF&K_protection.2.sg +13 -0
- die/db/db/COM/VSS.1.sg +13 -0
- die/db/db/COM/Vacsina.4.sg +12 -0
- die/db/db/COM/Venus.2.sg +12 -0
- die/db/db/COM/Vienna-C.4.sg +12 -0
- die/db/db/COM/Watcom_C.4.sg +37 -0
- die/db/db/COM/WiZ_Cryptor.2.sg +14 -0
- die/db/db/COM/XCK2COM.1.sg +12 -0
- die/db/db/COM/XE.2.sg +13 -0
- die/db/db/COM/XORCOPY.2.sg +14 -0
- die/db/db/COM/XPACK.2.sg +22 -0
- die/db/db/COM/XcomOR.2.sg +24 -0
- die/db/db/COM/XoReR.2.sg +26 -0
- die/db/db/COM/XorCom.2.sg +14 -0
- die/db/db/COM/Zbikowski_C.4.sg +13 -0
- die/db/db/COM/Zortech_C.4.sg +26 -0
- die/db/db/COM/_init +2 -0
- die/db/db/COM/aPACK.2.sg +22 -0
- die/db/db/COM/aPatch.2.sg +13 -0
- die/db/db/COM/acBBS_protection.2.sg +13 -0
- die/db/db/COM/com-crypt.2.sg +16 -0
- die/db/db/COM/com_RLE_packer.2.sg +15 -0
- die/db/db/COM/cryptors.2.sg +214 -0
- die/db/db/COM/envelope.2.sg +13 -0
- die/db/db/COM/fds-cp.2.sg +13 -0
- die/db/db/COM/integrity_checker.1.sg +13 -0
- die/db/db/COM/mCrypt.2.sg +14 -0
- die/db/db/COM/muSIMP-83.4.sg +14 -0
- die/db/db/COM/packers.2.sg +26 -0
- die/db/db/COM/patchers.1.sg +100 -0
- die/db/db/COM/protection.2.sg +13 -0
- die/db/db/COM/readme.com.1.sg +12 -0
- die/db/db/COM/simple_ansi_viewer.1.sg +12 -0
- die/db/db/COM/simple_self-displayer.1.sg +12 -0
- die/db/db/COM/spirit.2.sg +22 -0
- die/db/db/COM/x3.2.sg +18 -0
- die/db/db/CurIcoBPP +14 -0
- die/db/db/DEX/AESObfuscator.2.sg +14 -0
- die/db/db/DEX/APKProtect.2.sg +12 -0
- die/db/db/DEX/AlibabaProtection.2.sg +12 -0
- die/db/db/DEX/AllatoriObfuscator.2.sg +14 -0
- die/db/db/DEX/ApkEncryptor.2.sg +12 -0
- die/db/db/DEX/ApkToolPlus.6.sg +12 -0
- die/db/db/DEX/AppSolid.2.sg +12 -0
- die/db/db/DEX/BaiduProtection.2.sg +12 -0
- die/db/db/DEX/BangcleProtection.2.sg +12 -0
- die/db/db/DEX/EasyProtector.2.sg +12 -0
- die/db/db/DEX/Jiagu.2.sg +12 -0
- die/db/db/DEX/Kiwi.2.sg +12 -0
- die/db/db/DEX/LIAPP.2.sg +12 -0
- die/db/db/DEX/MedusaH.2.sg +12 -0
- die/db/db/DEX/ModGuard.2.sg +16 -0
- die/db/db/DEX/NQShield.2.sg +12 -0
- die/db/db/DEX/NagaPTProtection.2.sg +12 -0
- die/db/db/DEX/PangXie.2.sg +12 -0
- die/db/db/DEX/ProGuard.2.sg +12 -0
- die/db/db/DEX/QDBH.2.sg +12 -0
- die/db/db/DEX/SecNeo.2.sg +12 -0
- die/db/db/DEX/TencentProtection.2.sg +12 -0
- die/db/db/DEX/UnicomSDK.4.sg +12 -0
- die/db/db/DEX/VDog.2.sg +12 -0
- die/db/db/DEX/Yidun.2.sg +12 -0
- die/db/db/DEX/_DEX.0.sg +15 -0
- die/db/db/DEX/_init +2 -0
- die/db/db/DOS16M/_DOS16M.0.sg +15 -0
- die/db/db/DOS16M/_init +2 -0
- die/db/db/DOS4G/_DOS4G.0.sg +15 -0
- die/db/db/DOS4G/_init +2 -0
- die/db/db/ELF/Borland_Kylix.4.sg +19 -0
- die/db/db/ELF/Burneye.2.sg +12 -0
- die/db/db/ELF/DMD.4.sg +31 -0
- die/db/db/ELF/ELFCrypt.2.sg +12 -0
- die/db/db/ELF/Ezuri.1.sg +30 -0
- die/db/db/ELF/FASM.4.sg +23 -0
- die/db/db/ELF/Flexlm.4.sg +15 -0
- die/db/db/ELF/Free_Pascal.4.sg +46 -0
- die/db/db/ELF/GLIBC.3.sg +49 -0
- die/db/db/ELF/Go.4.sg +126 -0
- die/db/db/ELF/HASP.1.sg +28 -0
- die/db/db/ELF/HP_C++.4.sg +12 -0
- die/db/db/ELF/IBM_AIX_kernel_loader.sg +18 -0
- die/db/db/ELF/Oracle_Solaris_Studio.4.sg +47 -0
- die/db/db/ELF/PyInstaller.2.sg +24 -0
- die/db/db/ELF/QT.3.sg +44 -0
- die/db/db/ELF/Rust.4.sg +25 -0
- die/db/db/ELF/SDL.3.sg +35 -0
- die/db/db/ELF/UPX.2.sg +57 -0
- die/db/db/ELF/VBCC.4.sg +17 -0
- die/db/db/ELF/Virbox.2.sg +17 -0
- die/db/db/ELF/Watcom.4.sg +15 -0
- die/db/db/ELF/Zig.4.sg +22 -0
- die/db/db/ELF/_ELF.0.sg +15 -0
- die/db/db/ELF/_init +2 -0
- die/db/db/ELF/gcc.4.sg +95 -0
- die/db/db/ELF/gdc.4.sg +13 -0
- die/db/db/ELF/ldc.4.sg +34 -0
- die/db/db/ELF/movfuscator.4.sg +19 -0
- die/db/db/FASM +9 -0
- die/db/db/FPC +11 -0
- die/db/db/IPA/_init +2 -0
- die/db/db/JAR/SingleJar.3.sg +13 -0
- die/db/db/JAR/_JAR.0.sg +15 -0
- die/db/db/JAR/_init +2 -0
- die/db/db/LE/UPX.1.sg +85 -0
- die/db/db/LE/Watcom_C.4.sg +24 -0
- die/db/db/LE/_LE.0.sg +15 -0
- die/db/db/LE/_init +2 -0
- die/db/db/LX/Watcom C.4.sg +51 -0
- die/db/db/LX/_LX.0.sg +15 -0
- die/db/db/LX/_init +2 -0
- die/db/db/MACH/Carbon.3.sg +13 -0
- die/db/db/MACH/Cocoa.3.sg +11 -0
- die/db/db/MACH/Delphi.4.sg +21 -0
- die/db/db/MACH/QT.3.sg +18 -0
- die/db/db/MACH/UPX.2.sg +15 -0
- die/db/db/MACH/Virbox.2.sg +13 -0
- die/db/db/MACH/WebKit.3.sg +11 -0
- die/db/db/MACH/Zig.4.sg +22 -0
- die/db/db/MACH/_MACH.0.sg +15 -0
- die/db/db/MACH/_init +2 -0
- die/db/db/MACH/gcc.4.sg +35 -0
- die/db/db/MACH/java.3.sg +15 -0
- die/db/db/MACHOFAT/_MACHOFAT.0.sg +15 -0
- die/db/db/MACHOFAT/_init +2 -0
- die/db/db/MFC +14 -0
- die/db/db/MSDOS/$pirit.2.sg +47 -0
- die/db/db/MSDOS/32stub.0a.sg +13 -0
- die/db/db/MSDOS/ABKprot.2.sg +12 -0
- die/db/db/MSDOS/ACE.6.sg +10 -0
- die/db/db/MSDOS/AEP.2.sg +12 -0
- die/db/db/MSDOS/AINEXE.2.sg +19 -0
- die/db/db/MSDOS/ALEC.2.sg +14 -0
- die/db/db/MSDOS/ANS2ALL.1.sg +14 -0
- die/db/db/MSDOS/ARC.1.sg +23 -0
- die/db/db/MSDOS/ARJ.1.sg +14 -0
- die/db/db/MSDOS/ASIC-Basic.4.sg +18 -0
- die/db/db/MSDOS/AVAST_CRC-Check.2.sg +14 -0
- die/db/db/MSDOS/AVPACK.2.sg +16 -0
- die/db/db/MSDOS/Ada89.4.sg +13 -0
- die/db/db/MSDOS/Adys_COM2EXE.1.sg +11 -0
- die/db/db/MSDOS/Adys_Glue.2.sg +15 -0
- die/db/db/MSDOS/Aluwain.2.sg +12 -0
- die/db/db/MSDOS/Amisetup.1.sg +13 -0
- die/db/db/MSDOS/Anti-LAME.2.sg +13 -0
- die/db/db/MSDOS/Anti-hack_encryption_system.2.sg +13 -0
- die/db/db/MSDOS/Antilame.2.sg +14 -0
- die/db/db/MSDOS/ApBasic.4.sg +17 -0
- die/db/db/MSDOS/AutoHack.1.sg +12 -0
- die/db/db/MSDOS/Aztec_C-86.4.sg +40 -0
- die/db/db/MSDOS/BAT2EXEC.4.sg +16 -0
- die/db/db/MSDOS/BSTAR_FORTH.4.sg +13 -0
- die/db/db/MSDOS/BatLite.4.sg +13 -0
- die/db/db/MSDOS/BetterBASIC.4.sg +13 -0
- die/db/db/MSDOS/Bitlok.2.sg +14 -0
- die/db/db/MSDOS/Black_fist.2.sg +13 -0
- die/db/db/MSDOS/Blinker.0a.sg +25 -0
- die/db/db/MSDOS/Borland_C.4.sg +89 -0
- die/db/db/MSDOS/Borland_Pascal.4.sg +89 -0
- die/db/db/MSDOS/Borland_RTM.0a.sg +33 -0
- die/db/db/MSDOS/Borland_TDS.sg +14 -0
- die/db/db/MSDOS/Borland_TLINK.5.sg +13 -0
- die/db/db/MSDOS/Bunny.2.sg +14 -0
- die/db/db/MSDOS/CC.2.sg +18 -0
- die/db/db/MSDOS/CEPexe.2.sg +12 -0
- die/db/db/MSDOS/CERBERUS.2.sg +12 -0
- die/db/db/MSDOS/CII-C.4.sg +18 -0
- die/db/db/MSDOS/COMCRYPT.2.sg +15 -0
- die/db/db/MSDOS/COMPACK.2.sg +15 -0
- die/db/db/MSDOS/COMPROTECT.2.sg +14 -0
- die/db/db/MSDOS/CONVOY.2.sg +17 -0
- die/db/db/MSDOS/CPAV.1.sg +13 -0
- die/db/db/MSDOS/CRYPACK.2.sg +12 -0
- die/db/db/MSDOS/CRYPTEXE.2.sg +19 -0
- die/db/db/MSDOS/CSCRYPT_Pro.2.sg +14 -0
- die/db/db/MSDOS/CWSDPMI.0a.sg +22 -0
- die/db/db/MSDOS/CauseWay_DOS_Extender.0a.sg +16 -0
- die/db/db/MSDOS/ChSFX.1.sg +27 -0
- die/db/db/MSDOS/Ciphator.2.sg +12 -0
- die/db/db/MSDOS/Coderunner.1.sg +22 -0
- die/db/db/MSDOS/Codesafe.2.sg +13 -0
- die/db/db/MSDOS/ComProtector.2.sg +15 -0
- die/db/db/MSDOS/ComprEXE.2.sg +14 -0
- die/db/db/MSDOS/Compress-EXE.2.sg +14 -0
- die/db/db/MSDOS/Concurrent_Small_C.4.sg +16 -0
- die/db/db/MSDOS/CopyQM_SFX.1.sg +16 -0
- die/db/db/MSDOS/Copy_Protector.2.sg +15 -0
- die/db/db/MSDOS/Copylock_PC.1.sg +13 -0
- die/db/db/MSDOS/CrAcKeR.2.sg +14 -0
- die/db/db/MSDOS/CrackStop.2.sg +16 -0
- die/db/db/MSDOS/Cruncher.2.sg +12 -0
- die/db/db/MSDOS/CryExe.2.sg +12 -0
- die/db/db/MSDOS/CryptCom.2.sg +14 -0
- die/db/db/MSDOS/Crypt_(Dismember).2.sg +25 -0
- die/db/db/MSDOS/Crypt_(LightShow).2.sg +25 -0
- die/db/db/MSDOS/CrypteXeC.2.sg +15 -0
- die/db/db/MSDOS/Cryptors.2.sg +59 -0
- die/db/db/MSDOS/DAEMON_Protect.2.sg +12 -0
- die/db/db/MSDOS/DCREXE.2.sg +18 -0
- die/db/db/MSDOS/DIET.2.sg +33 -0
- die/db/db/MSDOS/DMC.2.sg +14 -0
- die/db/db/MSDOS/DOS32.0a.sg +22 -0
- die/db/db/MSDOS/DOS32_loader.0a.sg +14 -0
- die/db/db/MSDOS/DOS4G.0a.sg +16 -0
- die/db/db/MSDOS/DOSX16.0a.sg +27 -0
- die/db/db/MSDOS/DOS_16M.0a.sg +31 -0
- die/db/db/MSDOS/DOS_32A.0a.sg +22 -0
- die/db/db/MSDOS/DSHIELD.2.sg +11 -0
- die/db/db/MSDOS/Deeper.2.sg +17 -0
- die/db/db/MSDOS/DemoMaker.2.sg +14 -0
- die/db/db/MSDOS/DexEXE.2.sg +14 -0
- die/db/db/MSDOS/Digital_Research_C.4.sg +16 -0
- die/db/db/MSDOS/Disk_eXPress.1.sg +14 -0
- die/db/db/MSDOS/E-PROT.2.sg +14 -0
- die/db/db/MSDOS/EEXE.2.sg +14 -0
- die/db/db/MSDOS/EMMXXXX0_check.0a.sg +12 -0
- die/db/db/MSDOS/EMX.0a.sg +16 -0
- die/db/db/MSDOS/EPW.2.sg +18 -0
- die/db/db/MSDOS/EXARJ.1.sg +13 -0
- die/db/db/MSDOS/EXE-Crypt.2.sg +13 -0
- die/db/db/MSDOS/EXE-Cryptor.2.sg +19 -0
- die/db/db/MSDOS/EXE-Protect.2.sg +13 -0
- die/db/db/MSDOS/EXE2COM.1.sg +22 -0
- die/db/db/MSDOS/EXECUTRIX.2.sg +13 -0
- die/db/db/MSDOS/EXEGUARD.2.sg +12 -0
- die/db/db/MSDOS/EXEHigh.2.sg +14 -0
- die/db/db/MSDOS/EXEPACK.2.sg +57 -0
- die/db/db/MSDOS/EXETools.2.sg +16 -0
- die/db/db/MSDOS/EXETools_COM2EXE.1.sg +12 -0
- die/db/db/MSDOS/EXE_Manager.2.sg +14 -0
- die/db/db/MSDOS/EXE_Packer.2.sg +15 -0
- die/db/db/MSDOS/EXE_encryption.2.sg +13 -0
- die/db/db/MSDOS/Easy!-C.4.sg +15 -0
- die/db/db/MSDOS/Eliashim's_CodeTrack.1.sg +12 -0
- die/db/db/MSDOS/Encriptor.2.sg +12 -0
- die/db/db/MSDOS/Enkryptonator.2.sg +12 -0
- die/db/db/MSDOS/ExeCode.2.sg +18 -0
- die/db/db/MSDOS/ExeLITE.2.sg +15 -0
- die/db/db/MSDOS/ExeLock.2.sg +16 -0
- die/db/db/MSDOS/F-XLOCK.1.sg +13 -0
- die/db/db/MSDOS/FACRYPT.2.sg +12 -0
- die/db/db/MSDOS/FCP_IV.2.sg +13 -0
- die/db/db/MSDOS/FSE.2.sg +61 -0
- die/db/db/MSDOS/File_Shield.1.sg +19 -0
- die/db/db/MSDOS/Fitted_Modula-2.4.sg +14 -0
- die/db/db/MSDOS/ForthInfo.4.sg +18 -0
- die/db/db/MSDOS/FromBAT.1.sg +13 -0
- die/db/db/MSDOS/GFX_to_EXE.1.sg +14 -0
- die/db/db/MSDOS/GIFEXE.1.sg +16 -0
- die/db/db/MSDOS/GOAT.1.sg +21 -0
- die/db/db/MSDOS/GRABBER.1.sg +26 -0
- die/db/db/MSDOS/GRASP.4.sg +20 -0
- die/db/db/MSDOS/GamBit_Pro_Library.1.sg +14 -0
- die/db/db/MSDOS/GameWizard_DOS_Extender.0a.sg +12 -0
- die/db/db/MSDOS/Go32Stub.0a.sg +22 -0
- die/db/db/MSDOS/Graphic_WorkShop.1.sg +14 -0
- die/db/db/MSDOS/Guardian_Angel.2.sg +21 -0
- die/db/db/MSDOS/H+BEDV_SelfCheck.1.sg +18 -0
- die/db/db/MSDOS/HACKSTOP.2.sg +77 -0
- die/db/db/MSDOS/HASP.2.sg +14 -0
- die/db/db/MSDOS/HEALTH.2.sg +12 -0
- die/db/db/MSDOS/Header_Changer.2.sg +13 -0
- die/db/db/MSDOS/Hi-Tech_C.4.sg +16 -0
- die/db/db/MSDOS/HyperLOCK_386.2.sg +14 -0
- die/db/db/MSDOS/IBM_PC_Pascal.4.sg +32 -0
- die/db/db/MSDOS/ICE.1.sg +13 -0
- die/db/db/MSDOS/IMMUN.1.sg +14 -0
- die/db/db/MSDOS/Inertia.2.sg +14 -0
- die/db/db/MSDOS/Ironthorn.2.sg +14 -0
- die/db/db/MSDOS/JAM.2.sg +12 -0
- die/db/db/MSDOS/JmCryptExe.2.sg +19 -0
- die/db/db/MSDOS/John_Socha_Library.3.sg +13 -0
- die/db/db/MSDOS/Joke.2.sg +13 -0
- die/db/db/MSDOS/KeyMaker.2.sg +14 -0
- die/db/db/MSDOS/Khrome_Crypt.2.sg +12 -0
- die/db/db/MSDOS/Kvetch.2.sg +14 -0
- die/db/db/MSDOS/LE.0.sg +11 -0
- die/db/db/MSDOS/LGLZ.2.sg +14 -0
- die/db/db/MSDOS/LH.1.sg +11 -0
- die/db/db/MSDOS/LHA.1.sg +20 -0
- die/db/db/MSDOS/LHarc.1.sg +19 -0
- die/db/db/MSDOS/LOCK.2.sg +14 -0
- die/db/db/MSDOS/LSI_C.4.sg +14 -0
- die/db/db/MSDOS/LX.0.sg +11 -0
- die/db/db/MSDOS/LZEXE.2.sg +42 -0
- die/db/db/MSDOS/L_O_V_E__FORTH.4.sg +18 -0
- die/db/db/MSDOS/Lahey_Fortran.4.sg +15 -0
- die/db/db/MSDOS/LamerStop.2.sg +12 -0
- die/db/db/MSDOS/Lattice_C.4.sg +88 -0
- die/db/db/MSDOS/LockTite+.2.sg +12 -0
- die/db/db/MSDOS/Logitech_Modula-2.4.sg +14 -0
- die/db/db/MSDOS/MEGALITE.2.sg +12 -0
- die/db/db/MSDOS/MESS.2.sg +30 -0
- die/db/db/MSDOS/MSLite.1.sg +14 -0
- die/db/db/MSDOS/Maker.2.sg +14 -0
- die/db/db/MSDOS/Mandrake.2.sg +13 -0
- die/db/db/MSDOS/MegaBasic.4.sg +16 -0
- die/db/db/MSDOS/MegaBasic1.4.sg +30 -0
- die/db/db/MSDOS/Meridian_Ada.4.sg +29 -0
- die/db/db/MSDOS/Meridian_Pascal.4.sg +22 -0
- die/db/db/MSDOS/MetaWare_High_C.4.sg +30 -0
- die/db/db/MSDOS/MetaWare_Professional_Pascal.4.sg +24 -0
- die/db/db/MSDOS/Micro_Focus_Cobol.4.sg +19 -0
- die/db/db/MSDOS/Micro_Focus_DOS_extender.0a.sg +13 -0
- die/db/db/MSDOS/Microsoft_Basic.4.sg +23 -0
- die/db/db/MSDOS/Microsoft_C.4.sg +57 -0
- die/db/db/MSDOS/Microsoft_C_Library.3.sg +20 -0
- die/db/db/MSDOS/Microsoft_Fortran.4.sg +15 -0
- die/db/db/MSDOS/Microsoft_Quick_Basic.4.sg +35 -0
- die/db/db/MSDOS/Microsoft_Quick_Pascal.4.sg +16 -0
- die/db/db/MSDOS/Microsoft_RTL.3.sg +48 -0
- die/db/db/MSDOS/Microsoft_RTL_(Clipper).3.sg +13 -0
- die/db/db/MSDOS/MultiLoop_Protection.2.sg +13 -0
- die/db/db/MSDOS/MutaWWP.2.sg +14 -0
- die/db/db/MSDOS/Mutate.2.sg +21 -0
- die/db/db/MSDOS/NE.0.sg +11 -0
- die/db/db/MSDOS/NOCLIP.2.sg +14 -0
- die/db/db/MSDOS/NOTA.2.sg +14 -0
- die/db/db/MSDOS/NTShell.2.sg +14 -0
- die/db/db/MSDOS/Netware_loader.1.sg +12 -0
- die/db/db/MSDOS/Nodebug.2.sg +14 -0
- die/db/db/MSDOS/Novex.2.sg +12 -0
- die/db/db/MSDOS/Oberon-M.4.sg +14 -0
- die/db/db/MSDOS/Optlink.2.sg +31 -0
- die/db/db/MSDOS/Overlay.2.sg +13 -0
- die/db/db/MSDOS/Oyster.1.sg +13 -0
- die/db/db/MSDOS/PACKWIN.2.sg +14 -0
- die/db/db/MSDOS/PC-Guard.2.sg +30 -0
- die/db/db/MSDOS/PCC.4.sg +28 -0
- die/db/db/MSDOS/PCOM.2.sg +14 -0
- die/db/db/MSDOS/PDC_Prolog.4.sg +15 -0
- die/db/db/MSDOS/PGMPAK.2.sg +17 -0
- die/db/db/MSDOS/PGPROT.1.sg +12 -0
- die/db/db/MSDOS/PKEXE.2.sg +13 -0
- die/db/db/MSDOS/PKLITE.2.sg +59 -0
- die/db/db/MSDOS/PKSFX.1.sg +15 -0
- die/db/db/MSDOS/PKTINY.2.sg +14 -0
- die/db/db/MSDOS/PKZIP-SFX.1.sg +13 -0
- die/db/db/MSDOS/PKZIP_mini-sfx.1.sg +17 -0
- die/db/db/MSDOS/PK_sig.1.sg +12 -0
- die/db/db/MSDOS/PMODE.0a.sg +17 -0
- die/db/db/MSDOS/PMWLite.2.sg +14 -0
- die/db/db/MSDOS/PRO-PACK.2.sg +16 -0
- die/db/db/MSDOS/PRO32.0a.sg +14 -0
- die/db/db/MSDOS/PROPACK_SFX.1.sg +13 -0
- die/db/db/MSDOS/PROTECT.2.sg +101 -0
- die/db/db/MSDOS/PVAC.2.sg +14 -0
- die/db/db/MSDOS/Pacific_C.4.sg +24 -0
- die/db/db/MSDOS/Pack.2.sg +14 -0
- die/db/db/MSDOS/Packers.2.sg +17 -0
- die/db/db/MSDOS/Palladix.1.sg +12 -0
- die/db/db/MSDOS/Panda_immunizer.1.sg +14 -0
- die/db/db/MSDOS/Pascal_MT+86.4.sg +20 -0
- die/db/db/MSDOS/PassEXE.2.sg +12 -0
- die/db/db/MSDOS/Patchers.1.sg +18 -0
- die/db/db/MSDOS/Phar_Lap.0a.sg +31 -0
- die/db/db/MSDOS/Pksmart.2.sg +14 -0
- die/db/db/MSDOS/Power_C.4.sg +16 -0
- die/db/db/MSDOS/ProtEXE.2.sg +58 -0
- die/db/db/MSDOS/Protector.2.sg +13 -0
- die/db/db/MSDOS/Quadru-Lock.2.sg +12 -0
- die/db/db/MSDOS/R-Crypt.2.sg +13 -0
- die/db/db/MSDOS/RAR.6.sg +8 -0
- die/db/db/MSDOS/REC.2.sg +22 -0
- die/db/db/MSDOS/REC_small.1.sg +26 -0
- die/db/db/MSDOS/REC_small_AV.1.sg +18 -0
- die/db/db/MSDOS/RELETTER.1.sg +14 -0
- die/db/db/MSDOS/RERP.2.sg +13 -0
- die/db/db/MSDOS/RHC.2.sg +14 -0
- die/db/db/MSDOS/RJcrush.2.sg +12 -0
- die/db/db/MSDOS/RLE_com-packer.2.sg +13 -0
- die/db/db/MSDOS/RM_FORTRAN.4.sg +14 -0
- die/db/db/MSDOS/ROSETINY.2.sg +15 -0
- die/db/db/MSDOS/RSX.0a.sg +12 -0
- die/db/db/MSDOS/RTLink_VM_Manager.0a.sg +12 -0
- die/db/db/MSDOS/RTPatch_SFX.1.sg +13 -0
- die/db/db/MSDOS/Realia_Cobol.4.sg +16 -0
- die/db/db/MSDOS/Realia_SPITBOL.4.sg +14 -0
- die/db/db/MSDOS/Relpack.2.sg +14 -0
- die/db/db/MSDOS/SCRNCH.2.sg +14 -0
- die/db/db/MSDOS/SEA-AXE.2.sg +15 -0
- die/db/db/MSDOS/SFX.1.sg +14 -0
- die/db/db/MSDOS/SHOW_IT.1.sg +14 -0
- die/db/db/MSDOS/SP-FORTH.4.sg +18 -0
- die/db/db/MSDOS/Scramb.2.sg +13 -0
- die/db/db/MSDOS/Secure.2.sg +37 -0
- die/db/db/MSDOS/SelfChk.2.sg +14 -0
- die/db/db/MSDOS/Self_UnStuffer.2.sg +16 -0
- die/db/db/MSDOS/Shrink.2.sg +15 -0
- die/db/db/MSDOS/Shrinker.2.sg +14 -0
- die/db/db/MSDOS/SimplyWare.1.sg +22 -0
- die/db/db/MSDOS/Small_C.4.sg +20 -0
- die/db/db/MSDOS/SnoopStop.2.sg +12 -0
- die/db/db/MSDOS/StonyBrook_Pascal.4.sg +26 -0
- die/db/db/MSDOS/Stub-386.0a.sg +13 -0
- die/db/db/MSDOS/SuckStop.2.sg +27 -0
- die/db/db/MSDOS/Sydex_SFX.1.sg +19 -0
- die/db/db/MSDOS/Symantec_BASIC.4.sg +16 -0
- die/db/db/MSDOS/TCEC.2.sg +18 -0
- die/db/db/MSDOS/TMTSTUB.0a.sg +14 -0
- die/db/db/MSDOS/TSCRUNCH.2.sg +13 -0
- die/db/db/MSDOS/TTW.1.sg +17 -0
- die/db/db/MSDOS/TUCCRYP.2.sg +14 -0
- die/db/db/MSDOS/TXT2COM.1.sg +18 -0
- die/db/db/MSDOS/TXTmaker.1.sg +14 -0
- die/db/db/MSDOS/Tenth_Planet.2.sg +13 -0
- die/db/db/MSDOS/TinyProg.2.sg +27 -0
- die/db/db/MSDOS/Tinyprot.2.sg +16 -0
- die/db/db/MSDOS/Topspeed_C.4.sg +20 -0
- die/db/db/MSDOS/Topspeed_Modula.4.sg +42 -0
- die/db/db/MSDOS/TraceLock.2.sg +13 -0
- die/db/db/MSDOS/Trap.2.sg +50 -0
- die/db/db/MSDOS/TurboChainer.1.sg +13 -0
- die/db/db/MSDOS/Turbo_Basic.4.sg +18 -0
- die/db/db/MSDOS/Turbo_Prolog.4.sg +16 -0
- die/db/db/MSDOS/Txt2Exe.1.sg +14 -0
- die/db/db/MSDOS/UCEXE.2.sg +22 -0
- die/db/db/MSDOS/UPX.2.sg +46 -0
- die/db/db/MSDOS/UR_FORTH.4.sg +14 -0
- die/db/db/MSDOS/Un2pack.2.sg +14 -0
- die/db/db/MSDOS/UnPackStop.2.sg +33 -0
- die/db/db/MSDOS/UniVac.1.sg +14 -0
- die/db/db/MSDOS/Unknown_cryptors.2.sg +54 -0
- die/db/db/MSDOS/Upper_Deck_Forth.4.sg +14 -0
- die/db/db/MSDOS/V-Load.1.sg +13 -0
- die/db/db/MSDOS/Visual_Cobol.4.sg +16 -0
- die/db/db/MSDOS/WATCOM.4.sg +59 -0
- die/db/db/MSDOS/WDOSX.0a.sg +14 -0
- die/db/db/MSDOS/WDOSX32.0a.sg +12 -0
- die/db/db/MSDOS/WPFORTH.4.sg +14 -0
- die/db/db/MSDOS/WWPACK.2.sg +89 -0
- die/db/db/MSDOS/WWPACK_mutator.2.sg +53 -0
- die/db/db/MSDOS/Whitesmiths_C.4.sg +21 -0
- die/db/db/MSDOS/Window_book.1.sg +21 -0
- die/db/db/MSDOS/Wizardy_protection.1.sg +12 -0
- die/db/db/MSDOS/WordPerfect_EXEPack.2.sg +12 -0
- die/db/db/MSDOS/XDOC.2.sg +13 -0
- die/db/db/MSDOS/XMLOD.0a.sg +16 -0
- die/db/db/MSDOS/XPACK.2.sg +37 -0
- die/db/db/MSDOS/Xtender.0a.sg +14 -0
- die/db/db/MSDOS/ZIPSCRUB.2.sg +14 -0
- die/db/db/MSDOS/ZOO.1.sg +14 -0
- die/db/db/MSDOS/Zbikowski_C.4.sg +19 -0
- die/db/db/MSDOS/Zip.6.sg +8 -0
- die/db/db/MSDOS/Zortech(Symantec)_C.4.sg +56 -0
- die/db/db/MSDOS/Zurenava_DOS_Extender.0a.sg +13 -0
- die/db/db/MSDOS/_MSDOS.0.sg +15 -0
- die/db/db/MSDOS/_init +52 -0
- die/db/db/MSDOS/aPACK.2.sg +60 -0
- die/db/db/MSDOS/aPatch.2.sg +13 -0
- die/db/db/MSDOS/anti-tracing_add-on.1.sg +12 -0
- die/db/db/MSDOS/com2exe.2.sg +21 -0
- die/db/db/MSDOS/cramble.2.sg +12 -0
- die/db/db/MSDOS/deep-CRyPTer.2.sg +12 -0
- die/db/db/MSDOS/djgpp.4.sg +16 -0
- die/db/db/MSDOS/dos_extender.0a.sg +16 -0
- die/db/db/MSDOS/dos_extender1.0a.sg +13 -0
- die/db/db/MSDOS/dos_extender2.0a.sg +16 -0
- die/db/db/MSDOS/iLUCRYPT.2.sg +18 -0
- die/db/db/MSDOS/immunizer.1.sg +13 -0
- die/db/db/MSDOS/mbp_SHRINK.2.sg +13 -0
- die/db/db/MSDOS/muLISP-87.4.sg +20 -0
- die/db/db/MSDOS/nbuild.2.sg +12 -0
- die/db/db/MSDOS/overlays.6.sg +73 -0
- die/db/db/MSDOS/self-displayer.1.sg +13 -0
- die/db/db/MSDOS/virus.1.sg +13 -0
- die/db/db/NE/ARC_SFX.1.sg +13 -0
- die/db/db/NE/Borland_C++.1.sg +25 -0
- die/db/db/NE/Borland_Pascal.1.sg +13 -0
- die/db/db/NE/MS_RTL.0.sg +28 -0
- die/db/db/NE/PKZIP-SFX.1.sg +13 -0
- die/db/db/NE/Setup-Specialist.1.sg +16 -0
- die/db/db/NE/Sydex_SFX.1.sg +13 -0
- die/db/db/NE/Watcom_C.1.sg +35 -0
- die/db/db/NE/_NE.0.sg +15 -0
- die/db/db/NE/_init +2 -0
- die/db/db/NPM/JavaScript.5.sg +11 -0
- die/db/db/NPM/PackageName.1.sg +15 -0
- die/db/db/NPM/TypeScript.5.sg +11 -0
- die/db/db/NPM/_NPM.0.sg +16 -0
- die/db/db/NPM/_init +2 -0
- die/db/db/PE/12Ghosts_Zip2.1.sg +16 -0
- die/db/db/PE/32Lite.2.sg +13 -0
- die/db/db/PE/7z.1.sg +43 -0
- die/db/db/PE/7z.4.sg +14 -0
- die/db/db/PE/7z.6.sg +21 -0
- die/db/db/PE/ACCAStore.1.sg +14 -0
- die/db/db/PE/ACE.6.sg +10 -0
- die/db/db/PE/ACProtect.2.sg +30 -0
- die/db/db/PE/ADS_Self_Extractor.1.sg +14 -0
- die/db/db/PE/AHTeam_EP_Protector.2.sg +71 -0
- die/db/db/PE/AHpacker.2.sg +13 -0
- die/db/db/PE/AMD_FSR.4.sg +23 -0
- die/db/db/PE/ANDpakk.2.sg +21 -0
- die/db/db/PE/AOLSetup.1.sg +15 -0
- die/db/db/PE/ARJSFX.1.sg +44 -0
- die/db/db/PE/ARM_Protector.2.sg +21 -0
- die/db/db/PE/ARQ.1.sg +16 -0
- die/db/db/PE/ASDPack.2.sg +12 -0
- die/db/db/PE/ASM_Guard.2.sg +27 -0
- die/db/db/PE/ASPR_Stripper.2.sg +12 -0
- die/db/db/PE/ASPack.2.sg +95 -0
- die/db/db/PE/ASProtect.2.sg +56 -0
- die/db/db/PE/AT4RE_Protector.2.sg +13 -0
- die/db/db/PE/AZProtect_0001.2.sg +11 -0
- die/db/db/PE/Aase_Crypter.2.sg +12 -0
- die/db/db/PE/Abbyy_Lingvo.1.sg +15 -0
- die/db/db/PE/Acronis_installer.1.sg +30 -0
- die/db/db/PE/ActiveMark.2.sg +14 -0
- die/db/db/PE/Active_Delivery.1.sg +16 -0
- die/db/db/PE/Actual_Installer.1.sg +16 -0
- die/db/db/PE/Adobe_FlashPlayer_downloader.1.sg +17 -0
- die/db/db/PE/Adobe_installers.1.sg +32 -0
- die/db/db/PE/Advanced_BAT_to_EXE_converter.2.sg +13 -0
- die/db/db/PE/Advanced_installer.1.sg +30 -0
- die/db/db/PE/Adveractive.1.sg +14 -0
- die/db/db/PE/Aeco_installer.1.sg +13 -0
- die/db/db/PE/Agile.2.sg +11 -0
- die/db/db/PE/Alchemy_Mindworks_installer.1.sg +19 -0
- die/db/db/PE/Alex_Protector.2.sg +15 -0
- die/db/db/PE/Alienyze.1.sg +14 -0
- die/db/db/PE/Amber.2.sg +17 -0
- die/db/db/PE/Anskya_Binder.2.sg +12 -0
- die/db/db/PE/Anskya_NTPacker_Generator.2.sg +11 -0
- die/db/db/PE/AntiDote.2.sg +33 -0
- die/db/db/PE/Anticrack_Software_Protector.2.sg +15 -0
- die/db/db/PE/App_Encryptor.2.sg +13 -0
- die/db/db/PE/ArmDot.2.sg +17 -0
- die/db/db/PE/Armadillo.2.sg +48 -0
- die/db/db/PE/Arxan.2.sg +69 -0
- die/db/db/PE/AssemblyInvoke.2.sg +11 -0
- die/db/db/PE/Astrum.1.sg +21 -0
- die/db/db/PE/AtomPePacker.2.sg +16 -0
- die/db/db/PE/AutoHotKey.3.sg +20 -0
- die/db/db/PE/AutoIt.3.sg +21 -0
- die/db/db/PE/AutoPlay_Media_Studio.1.sg +26 -0
- die/db/db/PE/Autodesk_Self-Extract.1.sg +14 -0
- die/db/db/PE/AutorunProEnterprise.1.sg +16 -0
- die/db/db/PE/AutorunProEnterpriseII.1.sg +16 -0
- die/db/db/PE/AverCryptor.2.sg +22 -0
- die/db/db/PE/BJFnt.2.sg +18 -0
- die/db/db/PE/Babel_.NET.2.sg +23 -0
- die/db/db/PE/BatToExe.1.sg +15 -0
- die/db/db/PE/BatToExeConverter.2.sg +18 -0
- die/db/db/PE/BatchToApp.2.sg +15 -0
- die/db/db/PE/BattlEye.5.sg +18 -0
- die/db/db/PE/BattleshipCrypter.2.sg +12 -0
- die/db/db/PE/BeRo.2.sg +37 -0
- die/db/db/PE/BeRo_Tiny_Pascal.4.sg +13 -0
- die/db/db/PE/Berio.2.sg +15 -0
- die/db/db/PE/BitRock_Installer.1.sg +22 -0
- die/db/db/PE/BitShape_PE_Crypt.2.sg +15 -0
- die/db/db/PE/BlindSpot.2.sg +12 -0
- die/db/db/PE/Blizzard_PrePatch.1.sg +15 -0
- die/db/db/PE/Borland_C++.4.sg +37 -0
- die/db/db/PE/Break_Into_Pattern.2.sg +12 -0
- die/db/db/PE/BulletProofSoft_installer.1.sg +14 -0
- die/db/db/PE/ByfronTech.2.sg +67 -0
- die/db/db/PE/ByteGuard.2.sg +17 -0
- die/db/db/PE/Bytessence_Install_Maker.1.sg +19 -0
- die/db/db/PE/CExe.2.sg +13 -0
- die/db/db/PE/CICompress.2.sg +12 -0
- die/db/db/PE/CSDD_installer.1.sg +18 -0
- die/db/db/PE/CUDA-Driver.4.sg +14 -0
- die/db/db/PE/CZ_installer.1.sg +14 -0
- die/db/db/PE/Cab.1.sg +60 -0
- die/db/db/PE/Cab.6.sg +33 -0
- die/db/db/PE/Calibre_installer.1.sg +19 -0
- die/db/db/PE/Cameyo.2.sg +12 -0
- die/db/db/PE/Celesty_File_Binder.1.sg +18 -0
- die/db/db/PE/ChainskiCrypter.1.sg +11 -0
- die/db/db/PE/Chaos_Software_installer.1.sg +14 -0
- die/db/db/PE/Chilkat_ZIP_Self-Extractor.1.sg +14 -0
- die/db/db/PE/Chromium_Embedded_Framework.4.sg +14 -0
- die/db/db/PE/Chromium_WebView.4.sg +14 -0
- die/db/db/PE/CipherWall.1.sg +20 -0
- die/db/db/PE/CliSecure.2.sg +21 -0
- die/db/db/PE/ClickTeam.1.sg +17 -0
- die/db/db/PE/CodeCrypt.2.sg +21 -0
- die/db/db/PE/CodeFusion_Wizard.1.sg +14 -0
- die/db/db/PE/CodeSafe.2.sg +12 -0
- die/db/db/PE/CodeVeil.2.sg +20 -0
- die/db/db/PE/Code_Virtualizer.2.sg +12 -0
- die/db/db/PE/Codegear_Installer.1.sg +14 -0
- die/db/db/PE/Codewall.2.sg +18 -0
- die/db/db/PE/CoffeeCup_SFX.2.sg +14 -0
- die/db/db/PE/Confuser.2.sg +39 -0
- die/db/db/PE/CopyMinder.2.sg +11 -0
- die/db/db/PE/Costura.Fody.4.sg +11 -0
- die/db/db/PE/CreateInstall.1.sg +22 -0
- die/db/db/PE/Crinkler.2.sg +15 -0
- die/db/db/PE/CronosCrypter.1.sg +12 -0
- die/db/db/PE/Crunch.2.sg +25 -0
- die/db/db/PE/CrypKey.2.sg +20 -0
- die/db/db/PE/CrypKey_Installer.1.sg +14 -0
- die/db/db/PE/CrypToCrack_Pe_Protector.2.sg +15 -0
- die/db/db/PE/Cryptect.1.sg +13 -0
- die/db/db/PE/Cryptic.2.sg +12 -0
- die/db/db/PE/CryptoObfuscator.2.sg +17 -0
- die/db/db/PE/Cxfreeze.1.sg +23 -0
- die/db/db/PE/Cygwin32.4.sg +11 -0
- die/db/db/PE/DBPE.2.sg +25 -0
- die/db/db/PE/DECFortran.4.sg +23 -0
- die/db/db/PE/DMD.4.sg +44 -0
- die/db/db/PE/DNGuard.2.sg +33 -0
- die/db/db/PE/DS.EZ-Logic.sg +12 -0
- die/db/db/PE/DS.Eutron_SmartKey_dongle.5.sg +29 -0
- die/db/db/PE/DS.HASP_dongle.5.sg +22 -0
- die/db/db/PE/DS.Hardlock_dongle.5.sg +24 -0
- die/db/db/PE/DS.MARX_Crypto-Box_dongle.5.sg +30 -0
- die/db/db/PE/DS.Matrix_Hardware_Lock_dongle.5.sg +19 -0
- die/db/db/PE/DS.NetHASP_dongle.5.sg +19 -0
- die/db/db/PE/DS.Novex_dongle.4.sg +13 -0
- die/db/db/PE/DS.RLM.4.sg +25 -0
- die/db/db/PE/DS.SenseLock_dongle.5.sg +20 -0
- die/db/db/PE/DS.Sentinel_SuperPro.2.sg +21 -0
- die/db/db/PE/DS.Sentinel_SuperPro_dongle.5.sg +20 -0
- die/db/db/PE/DS.Sentinel_dongle.5.sg +28 -0
- die/db/db/PE/DS.SoftLok_dongle.5.sg +17 -0
- die/db/db/PE/DS.Unikey_dongle.5.sg +30 -0
- die/db/db/PE/DS.WIBU_Key_dongle.5.sg +20 -0
- die/db/db/PE/DS.Wizzkey_dongle.5.sg +13 -0
- die/db/db/PE/DYAMAR.2.sg +12 -0
- die/db/db/PE/DZA_Patcher.2.sg +15 -0
- die/db/db/PE/Daemon_Protect.2.sg +13 -0
- die/db/db/PE/DalKrypt.2.sg +12 -0
- die/db/db/PE/DataAnubis.1.sg +11 -0
- die/db/db/PE/DeepSea.2.sg +18 -0
- die/db/db/PE/DelZip_SFX.2.sg +14 -0
- die/db/db/PE/Delphi.4.sg +270 -0
- die/db/db/PE/Denuvo.2.sg +97 -0
- die/db/db/PE/DeployMaster.1.sg +15 -0
- die/db/db/PE/Dimd_SFX.1.sg +15 -0
- die/db/db/PE/Ding_Boys_PE-lock_Phantasm.2.sg +18 -0
- die/db/db/PE/Direct2D.4.sg +14 -0
- die/db/db/PE/Direct3D.4.sg +38 -0
- die/db/db/PE/DirectX.4.sg +14 -0
- die/db/db/PE/Dolphin_VM.1.sg +18 -0
- die/db/db/PE/DotFix_Nice_Protect.2.sg +23 -0
- die/db/db/PE/Dotfuscator.2.sg +11 -0
- die/db/db/PE/Duals_eXe_Encryptor.2.sg +19 -0
- die/db/db/PE/DxPack.2.sg +22 -0
- die/db/db/PE/ENIGMA.2.sg +115 -0
- die/db/db/PE/EXE32Pack.2.sg +12 -0
- die/db/db/PE/EXECryptor.2.sg +99 -0
- die/db/db/PE/EXEFog.2.sg +22 -0
- die/db/db/PE/EXE_Password_Protector.2.sg +12 -0
- die/db/db/PE/Eazfuscator.2.sg +16 -0
- die/db/db/PE/ElecKey.2.sg +33 -0
- die/db/db/PE/ElectronApp.3.sg +22 -0
- die/db/db/PE/Enigma_Virtual_Box.2.sg +13 -0
- die/db/db/PE/Envoy_Packager.1.sg +15 -0
- die/db/db/PE/Escargot.2.sg +15 -0
- die/db/db/PE/Eschalon_installer.1.sg +15 -0
- die/db/db/PE/ExE_Pack.2.sg +23 -0
- die/db/db/PE/Excelsior_Installer.1.sg +14 -0
- die/db/db/PE/Excelsior_JET.4.sg +36 -0
- die/db/db/PE/ExeSplitter.1.sg +24 -0
- die/db/db/PE/ExeStealth.2.sg +40 -0
- die/db/db/PE/Exe_Guarder.2.sg +12 -0
- die/db/db/PE/Exe_Locker.2.sg +12 -0
- die/db/db/PE/Exe_Shield.2.sg +28 -0
- die/db/db/PE/FASM.4.sg +22 -0
- die/db/db/PE/FDM_Installer.1.sg +18 -0
- die/db/db/PE/FISH_.NET.2.sg +17 -0
- die/db/db/PE/FSG.2.sg +136 -0
- die/db/db/PE/FileSplit_Self-Merger.2.sg +13 -0
- die/db/db/PE/FishPE_Shield.2.sg +21 -0
- die/db/db/PE/Fish_PE.2.sg +22 -0
- die/db/db/PE/FixupPak.2.sg +12 -0
- die/db/db/PE/Fox_Pro.3.sg +25 -0
- die/db/db/PE/FreeBasic.6.sg +28 -0
- die/db/db/PE/FreeJoiner.1.sg +45 -0
- die/db/db/PE/Free_Pascal.4.sg +54 -0
- die/db/db/PE/Fusion.2.sg +12 -0
- die/db/db/PE/G!X_Protector.2.sg +12 -0
- die/db/db/PE/GPInstall.1.sg +19 -0
- die/db/db/PE/GSplit.1.sg +20 -0
- die/db/db/PE/GZip.1.sg +20 -0
- die/db/db/PE/GameGuard.2.sg +12 -0
- die/db/db/PE/Gentee_Installer.1.sg +35 -0
- die/db/db/PE/Ghost_Installer.1.sg +16 -0
- die/db/db/PE/GkSetup.1.sg +18 -0
- die/db/db/PE/Go.4.sg +61 -0
- die/db/db/PE/Goats_PE_Mutilator.2.sg +12 -0
- die/db/db/PE/GoldSrc.3.sg +20 -0
- die/db/db/PE/Goliath.2.sg +15 -0
- die/db/db/PE/Gremlin_patcher.1.sg +21 -0
- die/db/db/PE/HASP.2.sg +22 -0
- die/db/db/PE/HASP_HL_Protection.2.sg +34 -0
- die/db/db/PE/HTML_executable.1.sg +20 -0
- die/db/db/PE/HackShield.2.sg +17 -0
- die/db/db/PE/Hide&Protect.2.sg +12 -0
- die/db/db/PE/HidePE.2.sg +255 -0
- die/db/db/PE/Huan.1.sg +12 -0
- die/db/db/PE/HyperTech_Crackproof.2.sg +13 -0
- die/db/db/PE/I-D_Media_installer.1.sg +15 -0
- die/db/db/PE/IDM_Installer.1.sg +15 -0
- die/db/db/PE/ID_Application_Protector(NoNamePacker).2.sg +12 -0
- die/db/db/PE/ILProtector.2.sg +13 -0
- die/db/db/PE/ILUCRYPT.2.sg +15 -0
- die/db/db/PE/IMPostor_Pack.2.sg +12 -0
- die/db/db/PE/INCrypter.2.sg +12 -0
- die/db/db/PE/INFTool.1.sg +15 -0
- die/db/db/PE/INTENIUM.1.sg +13 -0
- die/db/db/PE/IProtect.2.sg +17 -0
- die/db/db/PE/Inno_Setup_Module.1.sg +97 -0
- die/db/db/PE/Inquartos_Obfuscator.2.sg +12 -0
- die/db/db/PE/Instalit.1.sg +25 -0
- die/db/db/PE/Install4j_installer.1.sg +16 -0
- die/db/db/PE/InstallAnywhere.1.sg +36 -0
- die/db/db/PE/InstallShield.1.sg +90 -0
- die/db/db/PE/InstallUs.1.sg +16 -0
- die/db/db/PE/Install_Factory.1.sg +14 -0
- die/db/db/PE/Intel_C.4.sg +14 -0
- die/db/db/PE/Intel_IPP.sg +15 -0
- die/db/db/PE/IntelliProtector.2.sg +17 -0
- die/db/db/PE/InxObfuscator.2.sg +14 -0
- die/db/db/PE/JDPack.2.sg +15 -0
- die/db/db/PE/JScript.4.sg +15 -0
- die/db/db/PE/Jar2exe.1.sg +26 -0
- die/db/db/PE/KBys_Packer.2.sg +21 -0
- die/db/db/PE/KGCrypt.2.sg +11 -0
- die/db/db/PE/KRZIP_SFX.2.sg +15 -0
- die/db/db/PE/KoiVM.2.sg +20 -0
- die/db/db/PE/Kryptonit.2.sg +17 -0
- die/db/db/PE/LARP.2.sg +13 -0
- die/db/db/PE/LCC-Win32.4.sg +15 -0
- die/db/db/PE/LCL.5.sg +17 -0
- die/db/db/PE/LDK.2.sg +21 -0
- die/db/db/PE/LDK_.NET.2.sg +13 -0
- die/db/db/PE/Lahey_Fortran_90.4.sg +20 -0
- die/db/db/PE/LameCrypt.2.sg +12 -0
- die/db/db/PE/Laserlok.2.sg +12 -0
- die/db/db/PE/LimeCrypter.2.sg +56 -0
- die/db/db/PE/Lua_Runtime.4.sg +17 -0
- die/db/db/PE/LucasArts_Update_Installer.1.sg +14 -0
- die/db/db/PE/Lyme_SFX.1.sg +15 -0
- die/db/db/PE/MEW.2.sg +26 -0
- die/db/db/PE/MP-ZipTool.1.sg +14 -0
- die/db/db/PE/MPQ.1.sg +15 -0
- die/db/db/PE/MPRESS.2.sg +52 -0
- die/db/db/PE/MSLRH.2.sg +117 -0
- die/db/db/PE/MZ-Crypt.2.sg +12 -0
- die/db/db/PE/MZ0oPE.2.sg +12 -0
- die/db/db/PE/MaskPE.2.sg +15 -0
- die/db/db/PE/Maxtocode.2.sg +21 -0
- die/db/db/PE/Metrowerks_CodeWarrior.2.sg +26 -0
- die/db/db/PE/MicroJoiner.1.sg +21 -0
- die/db/db/PE/Microsoft.6.sg +1735 -0
- die/db/db/PE/Microsoft_C_Runtime.4.sg +16 -0
- die/db/db/PE/Microsoft_Class_Installer.1.sg +22 -0
- die/db/db/PE/Microsoft_Compound-based_installer.1.sg +14 -0
- die/db/db/PE/Microsoft_Edge_WebView.4.sg +14 -0
- die/db/db/PE/Microsoft_NET_Runtime.4.sg +15 -0
- die/db/db/PE/Microsoft_Warbird.2.sg +15 -0
- die/db/db/PE/Microsoft_dotNET_installer.1.sg +16 -0
- die/db/db/PE/Miktex_Installer.1.sg +15 -0
- die/db/db/PE/MinGW.4.sg +78 -0
- die/db/db/PE/Minke.2.sg +12 -0
- die/db/db/PE/Mioplanet_installer.1.sg +14 -0
- die/db/db/PE/MoleBox.2.sg +41 -0
- die/db/db/PE/Morphnah.2.sg +23 -0
- die/db/db/PE/Multimedia_Fusion_Installer.1.sg +14 -0
- die/db/db/PE/Mystic_Compressor.2.sg +15 -0
- die/db/db/PE/N-Joiner.1.sg +12 -0
- die/db/db/PE/N-Joy.2.sg +25 -0
- die/db/db/PE/NETZ.2.sg +11 -0
- die/db/db/PE/NET_Spider.2.sg +14 -0
- die/db/db/PE/NOS_Installer.1.sg +22 -0
- die/db/db/PE/NOS_Packer.2.sg +13 -0
- die/db/db/PE/NTShell.2.sg +13 -0
- die/db/db/PE/NTkrnl_Protector.2.sg +37 -0
- die/db/db/PE/NakedPacker.2.sg +13 -0
- die/db/db/PE/NanoZip.1.sg +16 -0
- die/db/db/PE/NativeCryptor_by_DosX.2.sg +13 -0
- die/db/db/PE/Native_UD_Packer.2.sg +12 -0
- die/db/db/PE/NecroVM.Virt.2.sg +46 -0
- die/db/db/PE/NeoLite.2.sg +39 -0
- die/db/db/PE/NetReactor.2.sg +103 -0
- die/db/db/PE/NetShieldProtector.2.sg +55 -0
- die/db/db/PE/Newtonsoft.Json.4.sg +14 -0
- die/db/db/PE/Nim.4.sg +18 -0
- die/db/db/PE/Ningishzida.2.sg +12 -0
- die/db/db/PE/NodeJS_Nexe.sg +16 -0
- die/db/db/PE/NodeJS_Pkg.sg +16 -0
- die/db/db/PE/NoobyProtect.2.sg +12 -0
- die/db/db/PE/North_Star_PE_Shrinker.2.sg +12 -0
- die/db/db/PE/NsPacK.2.sg +61 -0
- die/db/db/PE/Nuitka.1.sg +26 -0
- die/db/db/PE/Nullsoft_Scriptable_Install_System.1.sg +96 -0
- die/db/db/PE/Nvidia_DLSS.4.sg +22 -0
- die/db/db/PE/Nvidia_PhysX.4.sg +15 -0
- die/db/db/PE/O'Setup95.1.sg +15 -0
- die/db/db/PE/ORiEN.2.sg +19 -0
- die/db/db/PE/Obfuscar.2.sg +14 -0
- die/db/db/PE/Obfuscator_.NET_2009.2.sg +16 -0
- die/db/db/PE/Obsidium.2.sg +272 -0
- die/db/db/PE/OneVM.2.sg +23 -0
- die/db/db/PE/OpenAL.4.sg +14 -0
- die/db/db/PE/OpenCL.4.sg +14 -0
- die/db/db/PE/OpenCV.4.sg +18 -0
- die/db/db/PE/OpenGL.4.sg +14 -0
- die/db/db/PE/OpenSSL.4.sg +14 -0
- die/db/db/PE/OpusAudio.4.sg +15 -0
- die/db/db/PE/Oreans_CodeVirtualizer.2.sg +14 -0
- die/db/db/PE/OxiJoiner.sg +15 -0
- die/db/db/PE/PACE.2.sg +17 -0
- die/db/db/PE/PACKWIN.2.sg +12 -0
- die/db/db/PE/PCInstall.1.sg +14 -0
- die/db/db/PE/PCShrink.2.sg +15 -0
- die/db/db/PE/PC_Guard.2.sg +20 -0
- die/db/db/PE/PE-Admin.2.sg +12 -0
- die/db/db/PE/PE-Armor.2.sg +21 -0
- die/db/db/PE/PE-Shield.2.sg +16 -0
- die/db/db/PE/PEBundle.2.sg +25 -0
- die/db/db/PE/PECRYPT32.2.sg +22 -0
- die/db/db/PE/PECompact.2.sg +167 -0
- die/db/db/PE/PELock.2.sg +47 -0
- die/db/db/PE/PESpin.2.sg +56 -0
- die/db/db/PE/PETetris.sg +11 -0
- die/db/db/PE/PEUnion.2.sg +122 -0
- die/db/db/PE/PE_Diminisher.2.sg +16 -0
- die/db/db/PE/PE_Encrypt.2.sg +12 -0
- die/db/db/PE/PE_Intro.2.sg +12 -0
- die/db/db/PE/PE_Lock_NT.2.sg +21 -0
- die/db/db/PE/PE_Password.2.sg +12 -0
- die/db/db/PE/PE_Protect.2.sg +15 -0
- die/db/db/PE/PEncrypt.2.sg +21 -0
- die/db/db/PE/PEnguinCrypt.2.sg +12 -0
- die/db/db/PE/PIMP.1.sg +14 -0
- die/db/db/PE/PKLITE.2.sg +15 -0
- die/db/db/PE/PKSFX.1.sg +14 -0
- die/db/db/PE/PMaker.1.sg +13 -0
- die/db/db/PE/PUNiSHER.2.sg +12 -0
- die/db/db/PE/Pack_Master.2.sg +12 -0
- die/db/db/PE/PackageForTheWeb.1.sg +15 -0
- die/db/db/PE/Packanoid.2.sg +12 -0
- die/db/db/PE/Packman.2.sg +18 -0
- die/db/db/PE/Pantaray_QSetup.1.sg +29 -0
- die/db/db/PE/Paquet.1.sg +16 -0
- die/db/db/PE/Paquet_Builder.1.sg +15 -0
- die/db/db/PE/Patch.1.sg +20 -0
- die/db/db/PE/PePack.2.sg +16 -0
- die/db/db/PE/PeX.2.sg +12 -0
- die/db/db/PE/Pe_Ninja.2.sg +12 -0
- die/db/db/PE/Pelles_C.4.sg +14 -0
- die/db/db/PE/Perl.3.sg +93 -0
- die/db/db/PE/PerlApp.1.sg +21 -0
- die/db/db/PE/Petite.2.sg +56 -0
- die/db/db/PE/Phoenix.2.sg +19 -0
- die/db/db/PE/Photo_Compiler.2.sg +15 -0
- die/db/db/PE/PowerBASIC.4.sg +14 -0
- die/db/db/PE/Power_Screen_Recorder.1.sg +16 -0
- die/db/db/PE/Private_EXE_Protector.2.sg +86 -0
- die/db/db/PE/PureBasic.4.sg +55 -0
- die/db/db/PE/PwdProtect.2.sg +11 -0
- die/db/db/PE/Py2exe.1.sg +15 -0
- die/db/db/PE/PyInstaller.2.sg +72 -0
- die/db/db/PE/PyInstallerHider.1.sg +27 -0
- die/db/db/PE/Python.3.sg +22 -0
- die/db/db/PE/Qt.4.sg +33 -0
- die/db/db/PE/Quantum.1.sg +17 -0
- die/db/db/PE/QuestPowerGUI.2.sg +16 -0
- die/db/db/PE/QuickBFC.2.sg +19 -0
- die/db/db/PE/QuickPack_NT.2.sg +13 -0
- die/db/db/PE/RADBasic.4.sg +17 -0
- die/db/db/PE/RCryptor.2.sg +39 -0
- die/db/db/PE/RDG_Tejon_Crypter.2.sg +12 -0
- die/db/db/PE/RJoiner.1.sg +17 -0
- die/db/db/PE/RLP.2.sg +12 -0
- die/db/db/PE/RLPack.2.sg +47 -0
- die/db/db/PE/RNsetup.1.sg +17 -0
- die/db/db/PE/RPP.1.sg +14 -0
- die/db/db/PE/RTPatch.1.sg +15 -0
- die/db/db/PE/ReNET-pack.2.sg +11 -0
- die/db/db/PE/RealBasic.4.sg +24 -0
- die/db/db/PE/RobustObfuscator.2.sg +15 -0
- die/db/db/PE/RosASM.4.sg +20 -0
- die/db/db/PE/Rust.4.sg +34 -0
- die/db/db/PE/SCE_installer.1.sg +18 -0
- die/db/db/PE/SC_Obfuscator.2.sg +12 -0
- die/db/db/PE/SC_Pack.2.sg +13 -0
- die/db/db/PE/SDL.4.sg +21 -0
- die/db/db/PE/SDProtector.2.sg +18 -0
- die/db/db/PE/SFXRun.1.sg +14 -0
- die/db/db/PE/SLVc0deProtector.2.sg +21 -0
- die/db/db/PE/STATICSUP.1.sg +14 -0
- die/db/db/PE/STUD.2.sg +12 -0
- die/db/db/PE/SVK_Protector.2.sg +22 -0
- die/db/db/PE/SZDD.1.sg +40 -0
- die/db/db/PE/Safedisc.2.sg +13 -0
- die/db/db/PE/Safenet_RMS.2.sg +12 -0
- die/db/db/PE/Safengine_Shielden.2.sg +43 -0
- die/db/db/PE/ScriptHookV.4.sg +14 -0
- die/db/db/PE/SecuPack.2.sg +13 -0
- die/db/db/PE/SecuROM.2.sg +22 -0
- die/db/db/PE/Secure_Shade.2.sg +13 -0
- die/db/db/PE/SerGreen_Appacker.2.sg +16 -0
- die/db/db/PE/Setup-Specialist.1.sg +15 -0
- die/db/db/PE/Setup_Factory.1.sg +42 -0
- die/db/db/PE/SfxCA.1.sg +20 -0
- die/db/db/PE/Shrink_Wrap.2.sg +12 -0
- die/db/db/PE/Shrinker.2.sg +27 -0
- die/db/db/PE/SimbiOZ.2.sg +19 -0
- die/db/db/PE/SimplePackerByEronana.2.sg +14 -0
- die/db/db/PE/Simple_Pack.2.sg +15 -0
- die/db/db/PE/Sixxpack.2.sg +20 -0
- die/db/db/PE/Skater.2.sg +16 -0
- die/db/db/PE/Smart_Assembly.2.sg +36 -0
- die/db/db/PE/Smart_Install_Maker.1.sg +17 -0
- die/db/db/PE/SmokesCrypt.2.sg +12 -0
- die/db/db/PE/SoftProtect.2.sg +13 -0
- die/db/db/PE/SoftSentry.2.sg +16 -0
- die/db/db/PE/Soft_Defender.2.sg +20 -0
- die/db/db/PE/Softlocx.1.sg +13 -0
- die/db/db/PE/Software_Compress.2.sg +15 -0
- die/db/db/PE/Sony_Windows_Installer.1.sg +16 -0
- die/db/db/PE/SpASM.4.sg +20 -0
- die/db/db/PE/Special_EXE_Password_Protector.2.sg +12 -0
- die/db/db/PE/SpicesNet.2.sg +34 -0
- die/db/db/PE/Spoon_Installer.1.sg +23 -0
- die/db/db/PE/Spoon_Studio.2.sg +16 -0
- die/db/db/PE/Squeez_SFX.1.sg +15 -0
- die/db/db/PE/Squirrel_installer.1.sg +16 -0
- die/db/db/PE/Squishy.2.sg +11 -0
- die/db/db/PE/StarForce.2.sg +58 -0
- die/db/db/PE/Ste@lth_PE.2.sg +16 -0
- die/db/db/PE/Steam.4.sg +14 -0
- die/db/db/PE/Stones_PE_Encryptor.2.sg +22 -0
- die/db/db/PE/Store_Installer.1.sg +13 -0
- die/db/db/PE/SwiftView_installer.1.sg +15 -0
- die/db/db/PE/Synactis_In-The-Box_Installer.1.sg +21 -0
- die/db/db/PE/TPP_Pack.2.sg +12 -0
- die/db/db/PE/Tages.2.sg +12 -0
- die/db/db/PE/Tarma_Installer.1.sg +29 -0
- die/db/db/PE/TheArk.2.sg +11 -0
- die/db/db/PE/Themida.2.sg +89 -0
- die/db/db/PE/Thinstall.2.sg +89 -0
- die/db/db/PE/TrueCrypt-VeraCrypt_installer.1.sg +18 -0
- die/db/db/PE/UFI_installer.1.sg +14 -0
- die/db/db/PE/UG2002_Cruncher.2.sg +12 -0
- die/db/db/PE/UPX-Patcher.6.sg +29 -0
- die/db/db/PE/UPX.2.sg +174 -0
- die/db/db/PE/UPXFreak.2.sg +12 -0
- die/db/db/PE/UPX_Inliner.2.sg +12 -0
- die/db/db/PE/UPX_Modifier.2.sg +12 -0
- die/db/db/PE/UPX_Mutanter.2.sg +21 -0
- die/db/db/PE/UPX_Protector.2.sg +12 -0
- die/db/db/PE/UPX_lock.2.sg +12 -0
- die/db/db/PE/UPX_scrambler.2.sg +20 -0
- die/db/db/PE/UPX_shit.2.sg +21 -0
- die/db/db/PE/UPXcrypter.2.sg +11 -0
- die/db/db/PE/UPolyX.2.sg +30 -0
- die/db/db/PE/UltraPro.2.sg +18 -0
- die/db/db/PE/UnoPiX.2.sg +27 -0
- die/db/db/PE/VBox.2.sg +15 -0
- die/db/db/PE/VCasm-Protector.2.sg +21 -0
- die/db/db/PE/VMProtect.2.sg +296 -0
- die/db/db/PE/VMProtect_NET.2.sg +57 -0
- die/db/db/PE/VPacker.2.sg +13 -0
- die/db/db/PE/VaySoft_PDF2EXE.2.sg +16 -0
- die/db/db/PE/VbsToExe.1.sg +31 -0
- die/db/db/PE/VbsToExeConverter.2.sg +18 -0
- die/db/db/PE/Virbox.2.sg +13 -0
- die/db/db/PE/Virtual_Pascal.4.sg +15 -0
- die/db/db/PE/Vise.1.sg +16 -0
- die/db/db/PE/VisualStudio_NET.6.sg +14 -0
- die/db/db/PE/Visual_Objects.4.sg +13 -0
- die/db/db/PE/Visual_Prolog.4.sg +15 -0
- die/db/db/PE/Vulkan.4.sg +14 -0
- die/db/db/PE/WF.Guna.UI2.4.sg +15 -0
- die/db/db/PE/WF.Krypton.4.sg +14 -0
- die/db/db/PE/WF.MetroFramework.4.sg +14 -0
- die/db/db/PE/WF_WPF.MaterialSkin.4.sg +14 -0
- die/db/db/PE/WWPACK.2.sg +11 -0
- die/db/db/PE/Watcom.4.sg +36 -0
- die/db/db/PE/WiX_Toolset_installer.1.sg +21 -0
- die/db/db/PE/Wibu_Codemeter.1.sg +30 -0
- die/db/db/PE/WinACE.1.sg +12 -0
- die/db/db/PE/WinIMP.1.sg +15 -0
- die/db/db/PE/WinImage.1.sg +15 -0
- die/db/db/PE/WinPatch.1.sg +18 -0
- die/db/db/PE/WinRAR.1.sg +18 -0
- die/db/db/PE/WinRAR_Installer.1.sg +28 -0
- die/db/db/PE/WinUpack.2.sg +64 -0
- die/db/db/PE/WinZip.1.sg +44 -0
- die/db/db/PE/Winamp_Installer.1.sg +14 -0
- die/db/db/PE/Wind_of_Crypt.2.sg +12 -0
- die/db/db/PE/Windows_Authenticode.7.sg +13 -0
- die/db/db/PE/Windows_Installer.1.sg +22 -0
- die/db/db/PE/Wine.3.sg +12 -0
- die/db/db/PE/Wise_Installer.1.sg +52 -0
- die/db/db/PE/XCR.2.sg +13 -0
- die/db/db/PE/XComp.2.sg +19 -0
- die/db/db/PE/XPACK.2.sg +17 -0
- die/db/db/PE/Xash.3.sg +20 -0
- die/db/db/PE/Xbase.4.sg +30 -0
- die/db/db/PE/Xenocode_Postbuild.2.sg +12 -0
- die/db/db/PE/Xerces-CPP.4.sg +15 -0
- die/db/db/PE/XerinFuscator.2.sg +31 -0
- die/db/db/PE/Xojo.3.sg +29 -0
- die/db/db/PE/Xoreax_installer.1.sg +19 -0
- die/db/db/PE/Xtreamlok.2.sg +22 -0
- die/db/db/PE/Yano.2.sg +12 -0
- die/db/db/PE/Yodas_Crypter.2.sg +35 -0
- die/db/db/PE/Yodas_Protector.2.sg +15 -0
- die/db/db/PE/Yummy_Game_SoftwareShield.2.sg +17 -0
- die/db/db/PE/Zig.4.sg +22 -0
- die/db/db/PE/ZipCentral_SFX.1.sg +16 -0
- die/db/db/PE/Zip_SFX.2.sg +62 -0
- die/db/db/PE/Zprotect.2.sg +26 -0
- die/db/db/PE/Zydis.4.sg +14 -0
- die/db/db/PE/_FixDetects.9.sg +79 -0
- die/db/db/PE/_NetCompilersLibs.4.sg +39 -0
- die/db/db/PE/_PE.0.sg +22 -0
- die/db/db/PE/__GenericHeuristicAnalysis_By_DosX.7.sg +3357 -0
- die/db/db/PE/_init +138 -0
- die/db/db/PE/_simpleNetAntivirus.1.sg +246 -0
- die/db/db/PE/aPack.2.sg +26 -0
- die/db/db/PE/arj.6.sg +10 -0
- die/db/db/PE/beria.2.sg +12 -0
- die/db/db/PE/curl.4.sg +14 -0
- die/db/db/PE/dUP.1.sg +20 -0
- die/db/db/PE/de4dot.6.sg +20 -0
- die/db/db/PE/dePACK.2.sg +13 -0
- die/db/db/PE/distutils.1.sg +18 -0
- die/db/db/PE/eXPressor.2.sg +59 -0
- die/db/db/PE/ezip.2.sg +14 -0
- die/db/db/PE/gcc.4.sg +15 -0
- die/db/db/PE/hXOR_packer.sg +13 -0
- die/db/db/PE/hmimys_PE-Pack.2.sg +23 -0
- die/db/db/PE/hmimys_Protect.2.sg +18 -0
- die/db/db/PE/iPB_Protect.2.sg +12 -0
- die/db/db/PE/inPEct.1.sg +10 -0
- die/db/db/PE/java.3.sg +21 -0
- die/db/db/PE/keygens.1.sg +25 -0
- die/db/db/PE/kkrunchy.2.sg +19 -0
- die/db/db/PE/ldc.4.sg +13 -0
- die/db/db/PE/linker.6.sg +100 -0
- die/db/db/PE/mPack.2.sg +15 -0
- die/db/db/PE/mkfPack.2.sg +12 -0
- die/db/db/PE/nPack.2.sg +36 -0
- die/db/db/PE/netshrink.2.sg +25 -0
- die/db/db/PE/obfus_h.5.sg +15 -0
- die/db/db/PE/obfusheader_h.5.sg +32 -0
- die/db/db/PE/ps2exe.2.sg +15 -0
- die/db/db/PE/rar.1.sg +16 -0
- die/db/db/PE/rar.6.sg +10 -0
- die/db/db/PE/scr2exe.2.sg +18 -0
- die/db/db/PE/sql-server.sg +14 -0
- die/db/db/PE/sqlite.4.sg +14 -0
- die/db/db/PE/sqx.1.sg +14 -0
- die/db/db/PE/tElock.2.sg +81 -0
- die/db/db/PE/tcc.4.sg +45 -0
- die/db/db/PE/wxWidgets.5.sg +27 -0
- die/db/db/PE/yzPack.2.sg +26 -0
- die/db/db/PE/zip.6.sg +10 -0
- die/db/db/PE/zlib.4.sg +14 -0
- die/db/db/QtFramework +16 -0
- die/db/db/RosASM +13 -0
- die/db/db/SpASM +8 -0
- die/db/db/ZIP/_ZIP.0.sg +17 -0
- die/db/db/ZIP/_init +2 -0
- die/db/db/_debug +23 -0
- die/db/db/_init +149 -0
- die/db/db/archive-file +36 -0
- die/db/db/arj +80 -0
- die/db/db/cab +45 -0
- die/db/db/duration +14 -0
- die/db/db/language +46 -0
- die/db/db/python +30 -0
- die/db/db/rar +75 -0
- die/db/db/read +692 -0
- die/db/db/shell-script +24 -0
- die/db/db/wxWidgets +12 -0
- die/db/db/zip-file +87 -0
- die/db/db/zlib +23 -0
- die/db/db_custom/PE/example.sg +18 -0
- die/db/db_custom/where-is-structure-example.txt +1 -0
- die/die.lib +0 -0
- die.lib +0 -0
- die_python-0.4.0.dist-info/METADATA +335 -0
- die_python-0.4.0.dist-info/RECORD +2917 -0
- die_python-0.4.0.dist-info/WHEEL +5 -0
- die_python-0.4.0.dist-info/licenses/LICENSE +201 -0
- include/die.h +60 -0
db/Binary/rom.1.sg
ADDED
|
@@ -0,0 +1,1327 @@
|
|
|
1
|
+
// Detect It Easy: detection rule file
|
|
2
|
+
// https://github.com/horsicq/Detect-It-Easy
|
|
3
|
+
// Covers cartridge, tape, or CD-delivered software, such as ROM images for various
|
|
4
|
+
//videogame systems, and/or for their emulators.
|
|
5
|
+
//Also includes snapshots like VSF or SNA, and resource packs like WAD.
|
|
6
|
+
// Authors:
|
|
7
|
+
// Kaens TG@kaens
|
|
8
|
+
// (...yes I'm looking at you, you obviously want to add something so go ahead)
|
|
9
|
+
|
|
10
|
+
init("ROM", "");
|
|
11
|
+
|
|
12
|
+
includeScript("read");
|
|
13
|
+
|
|
14
|
+
/* beautify ignore:start */
|
|
15
|
+
function detect() {
|
|
16
|
+
|
|
17
|
+
if((X.c("'A2R1'FF0A0D0A ................'DATA'")) || X.c("'A2R'..FF0A0D0A 'INFO'") && isWithin(X.U8(3),0x32,0x33)) {
|
|
18
|
+
//ref https://applesaucefdc.com/a2r/ & https://applesaucefdc.com/a2r2-reference/
|
|
19
|
+
sName = "Apple II Applesauce disk archival image (.A2R)"; sVersion = 'v'+X.SA(3,1);
|
|
20
|
+
if(v1 = X.c("'1'",3)) { bDetected = true; p = 0x10 } else p = 8;
|
|
21
|
+
meta = bad = '';
|
|
22
|
+
while(p < X.Sz()) {
|
|
23
|
+
var hkhd = X.SA(p,4), hksz = X.U32(p+4,v1?_BE:_LE); p += 8;
|
|
24
|
+
switch(hkhd) {
|
|
25
|
+
case 'INFO':
|
|
26
|
+
if(v1) meta = X.SC(p,hksz,'UTF8').replace(/\x0A/g,",").replace(/\x09/g,":"); else {
|
|
27
|
+
iV = X.U8(p); bDetected = true;
|
|
28
|
+
switch(X.U8(p+33)) {
|
|
29
|
+
case 1: dim = '5¼" SS 40trk 0.25 step'; break;
|
|
30
|
+
case 2: dim = '3½" DS 80trk Apple CLV'; break;
|
|
31
|
+
case 3: dim = '5¼" DS 40trk'; break;
|
|
32
|
+
case 4: dim = '5¼" DS 80trk'; break;
|
|
33
|
+
case 5: dim = '3½" DS 80trk'; break;
|
|
34
|
+
case 6: dim = '8" DS'; break;
|
|
35
|
+
case 7: dim = '3" DS 80trk'; break;
|
|
36
|
+
case 8: dim = '3" DS 40trk'; break;
|
|
37
|
+
default: dim = '?'
|
|
38
|
+
}
|
|
39
|
+
sOption('disk:'+dim);
|
|
40
|
+
if(X.U8(p+34) == 1) sOption('write-protected');
|
|
41
|
+
if(iV >= 2) {
|
|
42
|
+
if(t=X.U8(p+42)) sOption(t,'min.RAM:','k');
|
|
43
|
+
t = ''; fl = X.U16(p+40); if(!fl) t = '?'; if(fl & (1 << 0)) t = t.append('][');
|
|
44
|
+
if(fl & (1 << 1)) t = t.append('][ Plus'); if(fl & (1 << 2)) t = t.append('//e');
|
|
45
|
+
if(fl & (1 << 3)) t = t.append('//c'); if(fl & (1 << 4)) t = t.append('//e Enhanced');
|
|
46
|
+
if(fl & (1 << 5)) t = t.append('IIgs'); if(fl & (1 << 6)) t = t.append('//c Plus');
|
|
47
|
+
if(fl & (1 << 7)) t = t.append('///'); if(fl & (1 << 8)) t = t.append('/// Plus');
|
|
48
|
+
sOption(t,'for Apple ');
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
break;
|
|
52
|
+
case 'DATA': case 'STRM': case 'RWCP': case 'SLVD': break;
|
|
53
|
+
case 'META': meta = X.SC(p,hksz,'UTF8').replace(/\x0A/g,",").replace(/\x09/g,":"); break
|
|
54
|
+
}
|
|
55
|
+
p += hksz;
|
|
56
|
+
}
|
|
57
|
+
if(p > X.Sz()) bad = bad.addIfNone('!short');
|
|
58
|
+
//if(X.isDeepScan() && X.calculateCRC32(12,sz-12) != X.U32(8)) bad = bad.addIfNone('!badcrc');
|
|
59
|
+
if(bad != '') sVersion = sVersion.appendS('/malformed'+bad,'/')
|
|
60
|
+
if(X.isVerbose()) {
|
|
61
|
+
sOptionT(addEllipsis(meta),'info:"','"');
|
|
62
|
+
sOption(outSz(p), 'sz:');
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
else if(X.c("'AT8X'") && isWithin(t0p=X.U32(0x1C),0x24,0x40) && X.c("0000",t0p+4)
|
|
67
|
+
&& isWithin(t0sz=X.U32(t0p), (t0hdsz=X.U32(t0p+0x14))+X.U32(t0p+t0hdsz), 0x1000)
|
|
68
|
+
&& isWithin(t0sec=X.U16(t0p+0xA),1,40) && X.U32(t0p+t0hdsz) == 8+8*t0sec) {
|
|
69
|
+
//ref http://www.whizzosoftware.com/sio2arduino/vapi.html
|
|
70
|
+
sName = "Atari VAPI/ATX disk image (.ATX)"; sVersion = 'v'+X.U16(4); bDetected = true;
|
|
71
|
+
if(X.isVerbose()) {
|
|
72
|
+
for(trk = 0, p = t0p, sec = 0; trk < 40 && p < X.Sz(); trk++, p += X.U32(p))
|
|
73
|
+
sec += X.U16(p+0xA);
|
|
74
|
+
sOption('trk:'+trk+' sec.total:'+sec+' sz:'+outSz(p))
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
else if(X.c("'<BALLY format=1>'") && X.c("'</BALLY>'",(sz=X.U16(0x11,_LE))-8)) {
|
|
79
|
+
sName = "Bally Arcade/Astrocade BASIC tape (.BIN)"; bDetected = true; if(X.isVerbose()) sOption(outSz(sz),'sz:')
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
else if(X.c("0E0000800E..FFFE........FFFFFFFF020000000200..FFFFFFFFFE")
|
|
83
|
+
&& [0x1F,0x2F].indexOf(X.U8(5)) >= 0 && [0x1F,0x7F].indexOf(X.U8(0x161)) >= 0) {
|
|
84
|
+
sName = "Casio Loopy (big-endian) cartridge (.BIN)"; bDetected = true
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
else if(X.c("4C....4C....01'CBM::::::::'") && X.c("FF",0x333E) && X.c("FF",0x3980)) {
|
|
88
|
+
sName = "Commodore Plus/4 cartridge (.BIN)"; bDetected = true
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
else if(X.c("000003", 0x08) && X.c("'DMC '", 0x100) && X.c("' GM 00000000-00'", 0x160)) {
|
|
92
|
+
sName = "AtGames/中娛/愛勝 Firecore digital media cartridge (.BIN)"; bDetected = true
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
// else if([0x1F,0x20].indexOf(X.U8(0) >= 0) &&
|
|
96
|
+
// (X.fSig(1,0x200,"929376..7702") > 0) || X.fSig(1,0x200,"9276..937702") > 0) { // quite a few ROMs mismatch it
|
|
97
|
+
// // 2560 is a pretty unique CPU, may be possible to statistically analyse the instructions and go from there
|
|
98
|
+
// sName = "Emerson Arcadia 2001 cartridge (.BIN)"; bDetected = true
|
|
99
|
+
// }
|
|
100
|
+
|
|
101
|
+
else if(X.c("F50400") && X.c("04",0x800) && X.c("8383",0x808) && F.Sz() == 0x1000) {
|
|
102
|
+
sName = "Entex Adventure Vision cartridge (.BIN)"; bDetected = true
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
else if((X.c("55..40..40....00") || X.c("5512521252B0")) && X.U8(1) == X.U8(3)
|
|
106
|
+
&& (X.Sz() == 0x2000 || X.Sz() == 0x4000)) {
|
|
107
|
+
sName = "Epoch ゲームポケコン/Game Pocket Computer cartridge (.BIN)"; bDetected = true
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
else if(X.c("BBA56EB3E9C5A7A4CCB3D7B2CFA8CEA5CCAAA3A46FB1EFB9BBA56EB3E9C569B6E6A6F4A5F3A6CFA456A675A47BB5'r(vereese gnniee)rB'A1CFA4D5B2B6C442A1CFA473BDB6C4CEA9F3A7EFA7BBA56EB3E9C5ECAD6CA97BB5A1A65DB370AD57A4EFB96EB3E9C5BAAAEAC277A950BBD1B8A3B0EAC277A9'rTdamera kybU inet diMrceoeltcorinscC ro.pa dnF nuethcE tnreatniemtnC ro.pA llr gith seresvrde .iLecsn esip reimttde'002E",0x2000)
|
|
111
|
+
|| X.c("1E00E32AE401E501 E601E7011B48E801 E901EAC401300EEB 01B426ECEED26401 EF26F00108604E30 F201F301F4010128")) {
|
|
112
|
+
sName = "Funtech Super Acan cartridge (.BIN)"; bDetected = true
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
else if((X.c("AA04FFFF68FF") || X.c("AA4E840D196900") || X.c("AA544E85706A90")
|
|
116
|
+
|| X.c("AA54E9A7640202") || X.c("AAC0BA69004DCC") || X.c("AA694169146914"))
|
|
117
|
+
&& isWithin(X.Sz(),0x2000,0x8000) && !(X.Sz() & 0xFFF)) {
|
|
118
|
+
sName = "Hartung Game Master cartridge (.BIN)"; bDetected = true
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
else if(X.c("'ZPJ'") && X.c("0003....0003", 0x18) && charStat(X.SA(3,3)) == 'allnum'
|
|
122
|
+
&& charStat(X.SA(6,13),true).indexOf('allasc' >= 0)) {
|
|
123
|
+
// name db: https://github.com/libretro/libretro-database/blob/master/metadat/no-intro/Konami%20-%20Picno.dat
|
|
124
|
+
sName = "Konami Picno image (.BIN)"; bDetected = true;
|
|
125
|
+
sOption(charStat(X.SA(3,3)))
|
|
126
|
+
if(X.isVerbose()) {
|
|
127
|
+
var t = X.SA(3,13); while(t.length && t[t.length-1] == '+') t = t.slice(0,t.length-1)
|
|
128
|
+
sOption(t)
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
else if(X.c("'Copyright LeapFrog '00..01010000000080", 0x100)) {
|
|
133
|
+
sName = "Leapfrog Leapster Learning Game System image (.BIN)"; bDetected = true;
|
|
134
|
+
if(X.fSig(1,0x1000,"'Lil ducked. The jet zipped past her head. Dust flew, Lil sneezed, and Leap turned red. Then Lil got up, about to yell. Leap gasped, \"Look, Lil! Your tooth! It fell!\"'"))
|
|
135
|
+
sVersion = 'Approved Content'; else sVersion = 'unapproved content' //what a way to show something so useless
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
else if(!(X.Sz()&7) && (t=X.fSig(0,0x1000,"1FA6DEBACC137D74")) >= 0 && !(t&7)) {
|
|
139
|
+
sName = "Microsoft MSX tape image (.CAS)"; bDetected = true
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
else if(X.c("00000000'Root-CPCA00000108-CP00000110'00000000000000000000000000000000000000000000000000000000000000000000000000", 0x2854)) {
|
|
143
|
+
sName = "iQue (N64 for China) CMD (.CMD)"; bDetected = true
|
|
144
|
+
}
|
|
145
|
+
else if(X.c("803712400000000F80....00000014") && X.c("AD0000", 0x1010) && X.c("FF", 0x101E)) {
|
|
146
|
+
sName = "iQue (N64 for China) Z64 image (.Z64)"; bDetected = true
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
else if(X.c("'C64 CARTRIDGE '") && (p=X.U32(0x10,_BE)) >= 0x40 && X.c("'CHIP'",p)) {
|
|
150
|
+
//ref 64copy / formats.zip/CRT.TXT
|
|
151
|
+
bDetected = true; sName = "Commodore 64 cartridge (.CRT)";
|
|
152
|
+
sVersion = "v"+X.U8(0x14)+"."+X.U8(0x15).padStart(2,'0'); bad = '';
|
|
153
|
+
while(p < X.Sz()) {
|
|
154
|
+
if(!X.c("'CHIP'",p)) break;
|
|
155
|
+
var hksz = X.U32(p+4,_BE), romsz = X.U16(0x0E,_BE);
|
|
156
|
+
if(romsz > hksz-0x10) bad = bad.addIfNone('!badchipsz');
|
|
157
|
+
if(p+hksz > X.Sz())
|
|
158
|
+
if(p+0x10+romsz <= X.Sz()) { //ignore the weird chunk length, use the ROM length
|
|
159
|
+
p += romsz+0x10; bad = bad.addIfNone('!badchunk'); continue }
|
|
160
|
+
else if(!X.isVerbose() && p+hksz > X.Sz()) { bad = bad.addIfNone('!short') }
|
|
161
|
+
p += hksz
|
|
162
|
+
}
|
|
163
|
+
if(bad != '') sVersion = sVersion.appendS('malformed'+bad,'/');
|
|
164
|
+
if(X.isVerbose()) {
|
|
165
|
+
sOption(X.SC(0x20,0x20,"Shift_JIS"));
|
|
166
|
+
switch(X.U16(0x16,_BE)) {
|
|
167
|
+
case 0: hw = "normal cartridge"; break;
|
|
168
|
+
case 1: hw = "Action Replay"; break;
|
|
169
|
+
case 2: hw = "KCS Power Cartridge"; break;
|
|
170
|
+
case 3: hw = "Final Cartridge III"; break;
|
|
171
|
+
case 4: hw = "Simons Basic"; break;
|
|
172
|
+
case 5: hw = "Ocean type 1"; break;
|
|
173
|
+
case 6: hw = "Expert Cartridge"; break;
|
|
174
|
+
case 7: hw = "Fun Play, Power Play"; break;
|
|
175
|
+
case 8: hw = "Super Games"; break;
|
|
176
|
+
case 9: hw = "Atomic Power"; break;
|
|
177
|
+
case 10: hw = "Epyx Fastload"; break;
|
|
178
|
+
case 11: hw = "Westermann Learning"; break;
|
|
179
|
+
case 12: hw = "Rex Utility"; break;
|
|
180
|
+
case 13: hw = "Final Cartridge I"; break;
|
|
181
|
+
case 14: hw = "Magic Formel"; break;
|
|
182
|
+
case 15: hw = "C64 Game System/System 3"; break;
|
|
183
|
+
case 16: hw = "WarpSpeed"; break;
|
|
184
|
+
case 17: hw = "Dinamic"; break;
|
|
185
|
+
case 18: hw = "Zaxxon, Super Zaxxon (SEGA)"; break;
|
|
186
|
+
case 19: hw = "Magic Desk/Domark/HES Australia"; break;
|
|
187
|
+
case 20: hw = "Super Snapshot 5"; break;
|
|
188
|
+
case 21: hw = "Comal-80"; break;
|
|
189
|
+
case 22: hw = "Structured Basic"; break;
|
|
190
|
+
case 23: hw = "Ross"; break;
|
|
191
|
+
case 24: hw = "Dela EP64"; break;
|
|
192
|
+
case 25: hw = "Dela EP7x8"; break;
|
|
193
|
+
case 26: hw = "Dela EP256"; break;
|
|
194
|
+
case 27: hw = "Rex EP256"; break;
|
|
195
|
+
case 28: hw = "Mikro Assembler"; break;
|
|
196
|
+
case 29: hw = "reserved"; break;
|
|
197
|
+
case 30: hw = "Action Replay 4"; break;
|
|
198
|
+
case 31: hw = "StarDOS"; break;
|
|
199
|
+
case 32: hw = "EasyFlash"; break;
|
|
200
|
+
default: hw = "?";
|
|
201
|
+
}
|
|
202
|
+
sOption('hw.type: '+hw+' /EXROM:'+(X.U8(0x18)?'inactive':'active')
|
|
203
|
+
+' /GAME:'+(X.U8(0x19)?'inactive':'active')+' sz:'+outSz(p));
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
function isDC42() {
|
|
208
|
+
//ref https://www.discferret.com/wiki/Apple_DiskCopy_4.2
|
|
209
|
+
if(X.Sz() < 0x32000 || !X.c("0100",0x52) || !isWithin(tl=X.U8(0),1,0x3F)) return false;
|
|
210
|
+
title = X.SC(1,tl,'CP1252'); var tcs = charStat(title,true); if(tcs.indexOf('allxsc') < 0) return false;
|
|
211
|
+
if(tl != X.U8(0x478) || title != X.SC(0x479,X.U8(0x478),'CP1252')) return false; //the volume label, I presume
|
|
212
|
+
var discsz = X.U32(0x40,_BE),tagsz = X.U32(0x44,_BE);
|
|
213
|
+
if(!isWithin(discsz,0x32000,0x200000) || (tagsz && discsz*12/512 != tagsz)) return false;
|
|
214
|
+
if(!tagsz && X.U32(0x4C,_BE)) return false;
|
|
215
|
+
sz = 0x54+discsz+X.U32(0x44,_BE); discszt = Util.divu64(discsz,1024)+'k';
|
|
216
|
+
switch(X.U8(0x50)) {
|
|
217
|
+
case 0: discszt += ' GCR CLV ssdd'; break; case 1: discszt += ' GCR CLV dsdd'; break;
|
|
218
|
+
case 2: discszt += ' MFM CAV dsdd'; break; case 3: discszt += ' MFM CAV dshd'; break;
|
|
219
|
+
default: discszt += ' unk.type'
|
|
220
|
+
}
|
|
221
|
+
return true
|
|
222
|
+
}
|
|
223
|
+
if(!bDetected && isDC42()) {
|
|
224
|
+
sName = "Apple DiskCopy 4.2 disk image (.DC42)"; sVersion = discszt; bDetected = true;
|
|
225
|
+
if(X.isVerbose()) {
|
|
226
|
+
sOption(title); sOption(outSz(sz),'sz:')
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
if(!bDetected) if(X.c("'ACT Apricot disk image'1A04") && isAllZeroes(0x18,0x58)) {
|
|
231
|
+
//ref https://github.com/latchdevel/HxCFloppyImageConverter/blob/master/libhxcfe/trunk/sources/loaders/apridisk_loader/apridisk_format.h
|
|
232
|
+
sName = "Jonathan Marsters's ACT/Apricot PC ApriDisk image (.DSK)"; bDetected = true;
|
|
233
|
+
var cyl = sec = 0, interrupt = false, cmt = by = '';
|
|
234
|
+
for(p=0x80; p < X.Sz();) {
|
|
235
|
+
var hkhd = X.U32(p), hdsz = X.U16(p+6), hksz = X.U32(p+8);
|
|
236
|
+
switch(hkhd) {
|
|
237
|
+
case 0xE31D0000: break; //del
|
|
238
|
+
case 0xE31D0001: //sec
|
|
239
|
+
if((t=X.U8(p+13)) > sec) sec = t; if((t=X.U16(p+14)+1) > cyl) cyl = t;
|
|
240
|
+
break;
|
|
241
|
+
case 0xE31D0002: cmt = X.SA(p+hdsz,hksz); break;
|
|
242
|
+
case 0xE31D0003: by = X.SA(p+hdsz,hksz); break;
|
|
243
|
+
default: interrupt = true
|
|
244
|
+
}
|
|
245
|
+
if(interrupt) break;
|
|
246
|
+
p += hdsz+hksz;
|
|
247
|
+
if(hkhd == 0xE31D0002) break
|
|
248
|
+
}
|
|
249
|
+
if(X.isVerbose()) {
|
|
250
|
+
sOption(cmt); sOption(by,'by: '); sOption('cyl:'+cyl+' sec:'+sec+' sz:'+outSz(p))
|
|
251
|
+
} else if(p > X.Sz()) sVersion = 'malformed!short'
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
else if((X.c("'EXTENDED CPC DSK File'0D0A'Disk-Info'0D0A") || X.c("'MV - CPCEMU Disk-File'0D0A'Disk-Info'0D0A")
|
|
255
|
+
|| X.c("'MV - CPC'")) && isWithin(trk=X.U8(0x30),20,84) && isWithin(sd=X.U8(0x31),1,2)
|
|
256
|
+
&& X.c("'Track-Info'0D0A000000",0x100)) {
|
|
257
|
+
//ref https://github.com/latchdevel/HxCFloppyImageConverter/blob/master/libhxcfe/trunk/sources/loaders/cpcdsk_loader/*
|
|
258
|
+
sName = "Amstrad CPC disk image (.DSK)"; bDetected = true;
|
|
259
|
+
if(X.c("'E'")) {trksz = 0; sVersion = 'extended' } else trksz = X.U16(0x32)+1;
|
|
260
|
+
if(X.isVerbose()) {
|
|
261
|
+
sOption(X.SA(0x22,0xE)); sOption('trk:'+trk+(trksz?' trksz:'+trksz:'')+' sides:'+sd)
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
function isEALIB() {
|
|
266
|
+
//from https://aluigi.altervista.org/bms/ealib.bms
|
|
267
|
+
if(!X.c("'EALIB'")) return false;
|
|
268
|
+
n = X.U16(5); var oldp = p = 7;
|
|
269
|
+
for(var i=0; i < n && p < X.Sz(); i++) {
|
|
270
|
+
p += 0xD; var z = X.U8(p++), ofs = X.U32(p); p += 4;
|
|
271
|
+
if(z > 4 || !isWithin(ofs,p,X.Sz())) return false;
|
|
272
|
+
}
|
|
273
|
+
return true
|
|
274
|
+
}
|
|
275
|
+
if(!bDetected && isEALIB()) {
|
|
276
|
+
sName = "Electronic Arts Library resource pack"; bDetected = true;
|
|
277
|
+
if(X.isVerbose()) sOption(n,'files:')
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
if(!bDetected)
|
|
281
|
+
if(X.c("'FCSX'") && X.U32(4) > X.U32(8) && X.U32(8) <= X.Sz()) { //found this one in a collection of NES ROMs
|
|
282
|
+
sName = "FCSX zlib format (.FCS)"; bDetected = true;
|
|
283
|
+
if(X.isVerbose()) sOptions = 'Zlib @10h, unp.sz:'+X.U32(4)+' sz:'+outSz(X.U32(8))
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
function isPC98FDI() {
|
|
287
|
+
if(!X.c("00000000")) return false;
|
|
288
|
+
var id = X.U32(4), hdrsz = X.U32(8), datasz = X.U32(0xC), bpsec = X.U32(0x10),
|
|
289
|
+
sec = X.U32(0x14), heads = X.U32(0x18), cyl = X.U32(0x1C);
|
|
290
|
+
if([0x10,0x30,0x90].indexOf(id) < 0 || bpsec*sec*heads*cyl != datasz
|
|
291
|
+
|| (sz=hdrsz+datasz) > X.Sz() || hdrsz < 0x20) return false;
|
|
292
|
+
if(id == 0x10 && !isWithin(datasz,0x80000,0xB6000) //let's allow some space for stupid formatting
|
|
293
|
+
|| id == 0x30 && !isWithin(datasz,0x160000,0x300000)
|
|
294
|
+
|| id == 0x90 && !isWithin(datasz,0x120000,0x140000)) return false;
|
|
295
|
+
info = 'disc:'+(id==0x10? "640/720k": id==0x30? "1.44M": id==0x90? "1.2M": '?')
|
|
296
|
+
+' ('+(datasz/0x400).toFixed(1)+'k)';
|
|
297
|
+
info = info.append('hd:'+heads+' cyl:'+cyl+' sec:'+sec+' sz:'+outSz(sz))
|
|
298
|
+
return true
|
|
299
|
+
}
|
|
300
|
+
if(isPC98FDI()) {
|
|
301
|
+
sName = "EPSON's PC-98 disk image (.FDI)"; bDetected = true;
|
|
302
|
+
if(X.isVerbose()) sOption(info)
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
//.GG has no clear header...
|
|
306
|
+
|
|
307
|
+
if(!bDetected) if(X.c("EB0A9090'IPL1'0000001EA08405B48ECD1BA8",0x1000) && //empirical and may be incorrect!
|
|
308
|
+
X.c("E9D102' NEC 'CADFB0BFC5D9BADDCBDFADB0C08CC592E8836683428358834E8B4E93AE8381836A8385815B8376838D834F8389838020CADEB0BCDEAEDD' 2.'....' Copyright (C) NEC Corporation 1985,'", 0x1400)) {
|
|
309
|
+
sName = "NEC PS-98 hard disk image (.HDI)"; bDetected = true
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
else if((X.c("EB1C904E") || X.c("EB2790B1") || X.c("EB279028") || X.c("EB3C9027") || X.c("EB3C904E"))
|
|
313
|
+
&& X.c("000401010002C000D004FE0200080002000000",0xB)
|
|
314
|
+
|| (X.c("EB..90") && X.Sz() == 0x134000)) { // and no real way to detect user disks
|
|
315
|
+
sName = "NEC PC-98 disk image (.HDM)"; bDetected = true
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
else if(X.c("'HXCPICFE'") && isWithin(sides=X.U8(0xA),1,2)
|
|
319
|
+
&& isWithin(baud=X.U16(0xC)*1000,150000,3000000) && (ro=X.U8(0x11)) <= 1) {
|
|
320
|
+
//ref https://github.com/latchdevel/HxCFloppyImageConverter/blob/master/libhxcfe/trunk/sources/loaders/hfe_loader/hfe_format.h
|
|
321
|
+
// & hfe_writer.c & hfe_loader.c
|
|
322
|
+
sName = "HxC PIC/HFE disk image (.HFE)"; sVersion = 'rev.'+X.U8(8); bDetected = true;
|
|
323
|
+
if(X.isVerbose()) {
|
|
324
|
+
const trkencs = ["ISO IBM MFM", "Amiga MFM", "ISO IBM FM", "emulated FM", "unk."],
|
|
325
|
+
ifmodes = ["IBM PC DD", "IBM PC HD", "Atari ST DD", "Atari ST HD", "Amiga DD", "Amiga HD",
|
|
326
|
+
"Amstrad CPC DD", "generic Shugart DD", "IBM PC ED", "MSX2 DD", "Commodore 64 DD",
|
|
327
|
+
"emulated Shugart"];
|
|
328
|
+
var trk = X.U8(9), ifmode=X.U8(0x10), tofs = [], t = X.U8(0xB), sz = 0x200, datasz = 0;
|
|
329
|
+
p = 0x200; trkenc = t > 3 ? trkencs[4]: trkencs[t] & 3; ifmode = ifmode <= 0xB? ifmodes[ifmode]: 'unk.';
|
|
330
|
+
for(i=0; i < trk && p < X.Sz(); i++,p+=4) {
|
|
331
|
+
datasz += t=X.U16(p+2)
|
|
332
|
+
}
|
|
333
|
+
t = t&0x1FF? 0x200+(t&0xFFFFFE00): t; sz = X.U16(p-4)*0x200+t;
|
|
334
|
+
sOption('trk:'+trk+(sides==2?' DS':' SS'));
|
|
335
|
+
sOption(trkenc,'trkenc:'); sOption(ifmode,'floppy mode:'); sOption(ro?'write-protected':'');
|
|
336
|
+
sOption(baud+' baud = '+(baud/8192).toFixed(1)+'k/s');
|
|
337
|
+
sOption('datasz:'+datasz+' sz:'+outSz(sz))
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
else if(X.c("'CHKH'........00000000") && X.c("'CHKH'........01000000",X.U32(4)) && X.Sz() > 12) {
|
|
342
|
+
//ref https://github.com/latchdevel/HxCFloppyImageConverter/blob/11ee45a77f237846eebdf1c6f1c732e5c0505be5/libhxcfe/trunk/sources/loaders/hxcstream_loader/hxcstream.c#L143
|
|
343
|
+
sName = "HxC Stream Loader disk track (.hxcstream)"; bDetected = true;
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
else if(X.c("'CAPS'0000000C1CD573BA'INFO'00000060") && X.c("'IMGE'",0x6C)) {
|
|
347
|
+
//ref http://info-coach.fr/atari/documents/_mydoc/IPF-Documentation.pdf
|
|
348
|
+
sName = "SPS's KryoFlux Interchangeable Preservation Format disk image (.IPF)"; bDetected = true;
|
|
349
|
+
switch(X.U32(0x048,_BE)) {
|
|
350
|
+
case 0: sVersion = 'no-platform'; break; case 1: sVersion = 'Amiga'; break;
|
|
351
|
+
case 2: sVersion = 'Atari ST'; break; case 3: sVersion = 'PC'; break; case 4: sVersion = 'Amstrad CPC'; break;
|
|
352
|
+
case 5: sVersion = 'ZX Spectrum'; break; case 6: sVersion = 'SAM Coupe'; break;
|
|
353
|
+
case 7: sVersion = 'Acorn Archimedes'; break; case 8: sVersion = 'C64'; break;
|
|
354
|
+
case 9: sVersion = 'Atari 8-bit'; break; default: sVersion = 'unk.'
|
|
355
|
+
}
|
|
356
|
+
sVersion += X.U32(0x18,_BE) == 1? ' floppy': ' unk.media';
|
|
357
|
+
if(X.isVerbose()) {
|
|
358
|
+
for(p = 0x6C, density = '', densities = []; p < X.Sz(); ) {
|
|
359
|
+
hkhd = X.SA(p,4); if(!/[A-Z]{4}/.test(hkhd) || !X.c("0000",p+4)/*a floppy block can't be this long*/) break;
|
|
360
|
+
hksz = X.U32(p+4,_BE);
|
|
361
|
+
if(hkhd === 'IMGE') {
|
|
362
|
+
switch(X.U32(p+20)) {
|
|
363
|
+
case 3: density = 'Copylock Amiga'; break; case 4: density = 'Copylock Amiga new'; break;
|
|
364
|
+
case 5: density ='Copylock ST'; break; case 6: density = 'Speedlock Amiga'; break;
|
|
365
|
+
case 7: density = 'Speedlock Amiga old'; break; case 8: density = 'Adam Brierley Amiga'; break;
|
|
366
|
+
case 9: density = 'Adam Brierley & density key Amiga'; break;
|
|
367
|
+
}
|
|
368
|
+
if(densities.indexOf(density) < 0) densities.push(density);
|
|
369
|
+
}
|
|
370
|
+
else if(hkhd === 'DATA') p += X.U32(p+12,_BE);
|
|
371
|
+
p += hksz }
|
|
372
|
+
sOption(X.U32(0x28,_BE),'rev.');
|
|
373
|
+
sOption('tracks:'+X.U32(0x30,_BE)+'-'+X.U32(0x34,_BE)+' sides:'+(1+X.U32(0x3C,_BE)));
|
|
374
|
+
sOption(X.U32(0x1C,_BE) == 1? 'CAPS': X.U32(0x1C,_BE) == 2? 'SPS': 'unk.','encoder:',' rev.'+X.U32(0x20,_BE));
|
|
375
|
+
sOption(Hex(X.U32(0x24,_BE),8),'cat.ID:'); sOption(densities.join(' + '),'copy protection:'); sOption('sz:'+outSz(p))
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
else if(X.c("'JFDI'") && isWithin(tt=X.U32(0x18),0x130,X.Sz()) && isWithin(st=X.U32(0x1C),tt,X.Sz())
|
|
380
|
+
&& isWithin(dt=X.U32(0x20),st,X.Sz()) && X.c("FFFFFFFF",st-4) && X.c("FFFFFFFF",dt-8)
|
|
381
|
+
&& (!(dtt=X.U32(0x24)) || isWithin(dtt,dt,X.Sz())) && (!(dst=X.U32(0x28)) || isWithin(dst,dt,X.Sz()))
|
|
382
|
+
&& (!(ddt=X.U32(0x2C)) || isWithin(ddt,dt,X.Sz()))) {
|
|
383
|
+
//ref https://gist.github.com/Kaens/a139d96dc429b49788e47ea57e55017d
|
|
384
|
+
sName = "Acorn Archimedes ADFFS JFD disk image (.JFD)"; bDetected = true;
|
|
385
|
+
nV = Util.divu64(nv=X.U32(4,_LE),100); nv %= 100; sVersion = 'v'+nV+'.'+nv;
|
|
386
|
+
+'+/img v'+((iv=X.U8(0x14))>>5)+'.'+(iv&0x1F);
|
|
387
|
+
if(X.isVerbose()) {
|
|
388
|
+
sOption('tt:'+Hex(tt)+' st:'+Hex(st)+' dt:'+Hex(dt))
|
|
389
|
+
sOption(addEllipsis(decAnsi(0x30,0x100,CPRISCOS).trim(),0xC0,0xA0));
|
|
390
|
+
if((ds = X.U16(0xE)) > 1) sOptions += ' ('+X.U16(0xC)+'/'+ds+')';
|
|
391
|
+
sOption('trk:'+Util.divu64(st-tt,4)+' sec:'+(Util.divu64(dt-st-tt*4,8)));
|
|
392
|
+
if(X.U32(4) >= 204) { fl = X.U32(0x130);
|
|
393
|
+
if(fl & (1 << 0)) sOption('write-protected'); if(fl & (1 << 2)) sOption('Protect CMOS req.');
|
|
394
|
+
if(fl & (1 << 3)) sOption('Protect Modules req.'); if(fl & (1 << 5)) sOption('Shift+Break to load');
|
|
395
|
+
sOption('for:');
|
|
396
|
+
if(fl & (1 << 8)) sOption('ARM3'); if(fl & (1 << 9)) sOption('ARM250');
|
|
397
|
+
if(fl & (1 << 10)) sOption('ARM610/710'); if(fl & (1 << 11)) sOption('ARM7500');
|
|
398
|
+
if(fl & (1 << 12)) sOption('StrongArm'); if(fl & (1 << 13)) sOption('ARMv5/v6/v7');
|
|
399
|
+
if(fl & (1 << 16)) sOption('RiscOS 2'); if(fl & (1 << 17)) sOption('RiscOS 3.1');
|
|
400
|
+
if(fl & (1 << 18)) sOption('RiscOS 3.5'); if(fl & (1 << 19)) sOption('RiscOS 3.7');
|
|
401
|
+
if(fl & (1 << 20)) sOption('RiscOS 3.8/4.x'); if(fl & (1 << 21)) sOption('RiscOS 5.x');
|
|
402
|
+
if(fl & (1 << 22)) sOption('RiscOS 6.x');
|
|
403
|
+
if(X.U8(0x134)) sOption('fps:'+(X.U8(0x134)/2)); if(X.U32(0x138)) sOption('Obey file sz:'+X.U32(0x138));
|
|
404
|
+
sOption('datasz:'+X.U32(8)); if(ddt) sOption('delta data')
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
else if((X.c("'SEGA 32X '",0x100) || X.c("'SEGA GENESIS'",0x100)) && X.c("'(C)'",0x110)) {
|
|
410
|
+
sName = "Sega MD/Genesis/32X (.MD,.32X)"; bDetected = true
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
function isMGT() {
|
|
414
|
+
//ref https://sinclair.wiki.zxnet.co.uk/wiki/MGT_filesystem
|
|
415
|
+
//TODO test on SAM with subdirs, +D, HDD...
|
|
416
|
+
if([0x32000,0x64000,0xC8000].indexOf(X.Sz()) < 0) return false; // single-sided 40-cylinder, ds40/ss80, ds80
|
|
417
|
+
var p = files = erased = subdir = 0, ds = X.Sz() > 0x64000, msz = Math.min(X.Sz(),0xC8000);
|
|
418
|
+
var xroot = X.U8(0xFF); if(xroot > 35) return false; //betaDOS/MasterDOS extra tracks for root
|
|
419
|
+
var zx = [0,'ZX Spectrum'], sam = [0,'SAM Coupé'], dd = [0,'DISCiPLE/+D'], hd = [0,'HDD'];
|
|
420
|
+
var samboot = X.c("'BOOT'",0x100); if(samboot) sam[0] += 20;
|
|
421
|
+
var allocmap = []; for(i=0; i < 195; i++) allocmap.push(0);
|
|
422
|
+
soption = ''; fnames = []; label = ''; sus = 0;
|
|
423
|
+
if(!extIs('mgt')) sus++; //could be gzipped which removes the extension as far as DiE is concerned
|
|
424
|
+
if(X.Sz() != 0xC8000) sus++; //in practice, only ds 80-cyl is seen around
|
|
425
|
+
const fts = [/*0*/'erased','ZXBASIC','ZXnum.array','ZXstr.array','ZXcode','ZX48ksnap','ZXMD','ZXscr','special',
|
|
426
|
+
/*9*/'ZX128ksnap','Opentype','ZXexec','UNI-DOSdir','UNI-DOScreate','14?','15?','SAMBASIC','SAMnum.array',
|
|
427
|
+
/*18*/'SAMstr.array','SAMcode','SAMscr','MasterDOSdir','SAMDriverapp','SAMDriverbootstrap','EDOSNOMEN',
|
|
428
|
+
'EDOSsys','EDOSovl','27?','HDOSHdos','HDOSHdir','HDOSHdisk','HDOSHfree/Htmp'];
|
|
429
|
+
if((X.U8(0) & 0x3F) != 19 && charStat(X.readBytes(0xD2,10),1).indexOf('allasc') >= 0) {
|
|
430
|
+
sam[0] += 10; label = X.SA(0xD2,10).trim() }
|
|
431
|
+
//if(xroot) _l2r('mgt',0xFF,xroot+' xroot found!'); if(samboot) _l2r('mgt',0x100,'SAM BOOT found!')
|
|
432
|
+
for(p=_sec=_side=_trk=0,end=false; _trk < 4+xroot && p < X.Sz(); ) {
|
|
433
|
+
for(s=0; s < 2; s++) { //go through the 2 records per sector
|
|
434
|
+
if(samboot && files == 1) { files++; continue }
|
|
435
|
+
//_l2r('mgt',p,'looking at rec #'+files+'"'+X.SA(p+1,10)+'": T'+_trk+'S'+_side+'s'+_sec+' type '+X.U8(p))
|
|
436
|
+
if(!X.U8(p+1)) {end = true; continue }
|
|
437
|
+
if(end) sus++; files++;
|
|
438
|
+
var fname1 = X.readBytes(p+2,9); if(charStat(fname1,1).indexOf('allasc') < 0) return false; //space-padded
|
|
439
|
+
var ft = (X.U8(p)&0x3F); if(ft > 0x1F) return false; //file type
|
|
440
|
+
if(!ft) erased++; else if(isWithin(ft,1,11)) zx[0]++; else if(isWithin(ft,12,13)) dd[0]++;
|
|
441
|
+
else if(isWithin(ft,16,23)) sam[0]++; else hd[0]++;
|
|
442
|
+
var fsecsz = X.U16(p+0xB,_BE); if(!fsecsz) return false; //sectors used by the file
|
|
443
|
+
var ftrk0 = X.U8(p+0xD), fside0 = ftrk0 >> 7; ftrk0 &= 0x7F; if(!isWithin(ftrk0,0,79)) return false;
|
|
444
|
+
var fsec0 = X.U8(p+0xE); if(!isWithin(fsec0,1,10)) return false;
|
|
445
|
+
if(!ds) ds = fside0; //double-sided disc. there must be a better way to tell...
|
|
446
|
+
if(!files) { if(ft == 0) sus++; if(X.U8(p) & 0x80) sus++ } //super unlikely the first file's erased or hidden
|
|
447
|
+
for(i=0; i < 195; i++) { t = X.U8(p+0xF+i); if(allocmap[i] & t) return false; allocmap[i] |= t }
|
|
448
|
+
if(firstNotOf(p+0xDC,11,[0x20,0xFF]) < 0) sam[0] += 10;
|
|
449
|
+
if(firstNotOf(p+0xE8,4,[0xFF]) < 0) sam[0] += 4;
|
|
450
|
+
if(X.U8(p+0xFA) == 0xFF) sam[0]++; if(X.U8(p+0xFB) == 0xFF) sam[0]++;
|
|
451
|
+
fnames.push(X.SA(p+1,10).trim()
|
|
452
|
+
+':'+fts[ft] //file type briefly explained
|
|
453
|
+
//+'@'+Hex((fsec0+(fside0+ftrk0*2)*10)*0x200) //just the 1st sector address won't be too useful
|
|
454
|
+
);
|
|
455
|
+
if(ft == 21) { subdir++; t = ((fsec0+(fside0+ftrk0*2)*10)*0x200)+1; if(X.U8(t)) fnames.push('/'+X.SA(t,10)+'...') }
|
|
456
|
+
if(!s) p += 0x100
|
|
457
|
+
}
|
|
458
|
+
_sec++; if(_sec > 9) { _sec = 0; _side++; if(_side == 1) { _side = 0; _trk++ } }
|
|
459
|
+
p = (_sec+(_side+_trk*2)*10)*0x200;
|
|
460
|
+
}
|
|
461
|
+
if(sus > 5 || !files) return false;
|
|
462
|
+
function am0max() { if(!arguments.length) return '';
|
|
463
|
+
var i,r = arguments[0]; for(i=1; i < arguments.length; i++) if(arguments[i][0] > r[0]) r = arguments[i];
|
|
464
|
+
return r
|
|
465
|
+
}
|
|
466
|
+
sv = am0max(zx, sam, dd, hd)[1]+'/'+(ds?'DS':'SS');
|
|
467
|
+
return true
|
|
468
|
+
}
|
|
469
|
+
if(!bDetected && isMGT()) {
|
|
470
|
+
sName = "Miles Gordon Technology floppy image (.MGT)";
|
|
471
|
+
sVersion = sv; bDetected = 1;
|
|
472
|
+
if(X.isVerbose()) {
|
|
473
|
+
sOption((subdir?'≈':'')+(files-erased-subdir)+(erased?'+'+erased+' erased':'')+(subdir?'+'+subdir+'subdirs':''),'files:');
|
|
474
|
+
if(files) sOption('('+addEllipsis(fnames.join('; '))+')');
|
|
475
|
+
if(sus) sOption('possibly malformed (level '+sus+')');
|
|
476
|
+
}
|
|
477
|
+
}
|
|
478
|
+
|
|
479
|
+
|
|
480
|
+
if(!bDetected)
|
|
481
|
+
if(X.c("'NES'1A") && (X.Sz() > 15)) {
|
|
482
|
+
//ref https://www.nesdev.org/wiki/INES & https://www.nesdev.org/wiki/NES_2.0
|
|
483
|
+
sName = "NES ROM image (.nes)"; bDetected = true; malformed = false;
|
|
484
|
+
szprg = X.U8(4)*16384; szchr = X.U8(5)*8192;
|
|
485
|
+
flg9 = X.U8(9); //v1.0: ROMs don't use it; v2.0: sz*msb
|
|
486
|
+
flg6 = X.U8(6);
|
|
487
|
+
//fmirroring = (flg6&1)>0; //0 for hrz 1 for vrt, tons of fallout though so better to ignore this
|
|
488
|
+
fstorage = (flg6&2)>0; trainer = (flg6&4)*0x80; f4scrvram = (flg6&8)>0; flg7 = X.U8(7);
|
|
489
|
+
mapper = ((flg6&0xF0)>>4)+(flg7&0xF0); fvsunisystem = (flg7&1)>0; fplaychoice10 = (flg7&2)>0;
|
|
490
|
+
fv20_ = ((flg7&0x0C)==8); fv20 = false; szprgmsb = ((flg9&0x0F)<<8)*16384;
|
|
491
|
+
szchrmsb = ((flg9&0xF0)<<4)*8192; ex = region = tv = "";
|
|
492
|
+
sz = 16+trainer+szprg+szprgmsb+szchr+szchrmsb;
|
|
493
|
+
if(fv20_) fv20 = sz < X.Sz();
|
|
494
|
+
if(fv20) {
|
|
495
|
+
szprg += szprgmsb; szchr += szchrmsb; flg8 = X.U8(8); flg11 = X.U8(11); flg12 = X.U8(12);
|
|
496
|
+
flg13 = X.U8(13); flg14 = X.U8(14); flg15 = X.U8(15); sVersion = "NES v2.0";
|
|
497
|
+
mapper += (flg8&0x0F)<<8; submapper = (flg8&0xF0)>>4;
|
|
498
|
+
switch(flg7&2) {
|
|
499
|
+
case 0: sVersion += " #NES/Famicom/Dendy"; break;
|
|
500
|
+
case 1:
|
|
501
|
+
sVersion += " #Nintendo Vs. System (";
|
|
502
|
+
switch(flg13 & 0x0F) {
|
|
503
|
+
case 0: sVersion += "RP2C03B)"; break; case 1: sVersion += "RP2C03G)"; break;
|
|
504
|
+
case 2: sVersion += "RP2C04-0001)"; break; case 3: sVersion += "RP2C04-0002)"; break;
|
|
505
|
+
case 4: sVersion += "RP2C04-0003)"; break; case 5: sVersion += "RP2C04-0004)"; break;
|
|
506
|
+
case 6: sVersion += "RC2C03B)"; break; case 7: sVersion += "RC2C03C)"; break;
|
|
507
|
+
case 8: sVersion += "RC2C05-01)"; break; case 9: sVersion += "RC2C05-02)"; break;
|
|
508
|
+
case 0x0A: sVersion += "RC2C05-03)"; break; case 0x0B: sVersion += "RC2C05-04)"; break;
|
|
509
|
+
case 0x0C: sVersion += "RC2C05-05)"; break; default: sVersion += "unk.PPU)"
|
|
510
|
+
}
|
|
511
|
+
break;
|
|
512
|
+
case 2: sVersion += " #Nintendo Playchoice 10"; break;
|
|
513
|
+
default:
|
|
514
|
+
switch(flg13 & 0x0F) {
|
|
515
|
+
case 0: sVersion += " #NES/Famicom/Dendy"; break;
|
|
516
|
+
case 1: sVersion += " #Nintendo Vs. System"; break;
|
|
517
|
+
case 2: sVersion += " #Nintendo Playchoice 10"; break;
|
|
518
|
+
case 3: sVersion += " #Famiclone+DecimalMode"; break;
|
|
519
|
+
case 4: sVersion += " #NES/Famicom+EPSM/plug-through"; break;
|
|
520
|
+
case 5: sVersion += " #V.R. VT01 red/cyan"; break;
|
|
521
|
+
case 6: sVersion += " #V.R. Technology VT02"; break;
|
|
522
|
+
case 7: sVersion += " #V.R. Technology VT03"; break;
|
|
523
|
+
case 8: sVersion += " #V.R. Technology VT09"; break;
|
|
524
|
+
case 9: sVersion += " #V.R. Technology VT32"; break;
|
|
525
|
+
case 0x0A: sVersion += " #V.R. Technology VT369"; break;
|
|
526
|
+
case 0x0B: sVersion += " #UMC UM6578"; break;
|
|
527
|
+
case 0x0C: sVersion += " #Famicom Network System"; break;
|
|
528
|
+
default: sVersion += " #(reserved)"
|
|
529
|
+
}
|
|
530
|
+
}
|
|
531
|
+
switch(flg12 & 3) {
|
|
532
|
+
case 0: region = "NA/JP/SK/TW: NTSC NES"; break; case 1: region = "WE/AU: Licenced PAL NES"; break;
|
|
533
|
+
case 2: region = "Multiple"; break; default: region = "EU/RU/ZH/IN/AF: Dendy"
|
|
534
|
+
}
|
|
535
|
+
switch(flg15 & 0x3F) {
|
|
536
|
+
case 0x00: break;
|
|
537
|
+
case 0x01: ex = "Std. Sontrollers"; break;
|
|
538
|
+
case 0x02: ex = "NES Four Score/Satellite + 2 Std. Controllers"; break;
|
|
539
|
+
case 0x03: ex = "Famicom 4P Adapter"; break;
|
|
540
|
+
case 0x04: ex = "Vs. System (1P via $4016)"; break;
|
|
541
|
+
case 0x05: ex = "Vs. System (1P via $4017)"; break;
|
|
542
|
+
case 0x06: ex = "(obsolete MAME behaviour)"; break;
|
|
543
|
+
case 0x07: ex = "Vs. Zapper"; break;
|
|
544
|
+
case 0x08: ex = "Zapper ($4017)"; break;
|
|
545
|
+
case 0x09: ex = "2 Zappers"; break;
|
|
546
|
+
case 0x0A: ex = "Bandai Hyper Shot Lightgun"; break;
|
|
547
|
+
case 0x0B: ex = "Power Pad Side A"; break;
|
|
548
|
+
case 0x0C: ex = "Power Pad Side B"; break;
|
|
549
|
+
case 0x0D: ex = "Family Trainer Side A"; break;
|
|
550
|
+
case 0x0E: ex = "Family Trainer Side B"; break;
|
|
551
|
+
case 0x0F: ex = "Arkanoid Vaus Controller (NES)"; break;
|
|
552
|
+
case 0x10: ex = "Arkanoid Vaus Controller (Famicom)"; break;
|
|
553
|
+
case 0x11: ex = "2 Vaus Controllers + Famicom Data Recorder"; break;
|
|
554
|
+
case 0x12: ex = "Konami Hyper Shot Controller"; break;
|
|
555
|
+
case 0x13: ex = "Coconuts Pachinko Controller"; break;
|
|
556
|
+
case 0x14: ex = "Exciting Boxing Punching Bag (Blowup Doll)"; break;
|
|
557
|
+
case 0x15: ex = "Jissen Mahjong Controller"; break;
|
|
558
|
+
case 0x16: ex = "Party Tap"; break;
|
|
559
|
+
case 0x17: ex = "Oeka Kids Tablet"; break;
|
|
560
|
+
case 0x18: ex = "Sunsoft Barcode Battler"; break;
|
|
561
|
+
case 0x19: ex = "Miracle Piano Keyboard"; break;
|
|
562
|
+
case 0x1A: ex = "Pokkun Moguraa (Whack-a-Mole Mat & Mallet)"; break;
|
|
563
|
+
case 0x1B: ex = "Top Rider (Inflatable Bicycle)"; break;
|
|
564
|
+
case 0x1C: ex = "Double-Fisted"; break;
|
|
565
|
+
case 0x1D: ex = "Famicom 3D System"; break;
|
|
566
|
+
case 0x1E: ex = "Doremikko Keyboard"; break;
|
|
567
|
+
case 0x1F: ex = "R.O.B. Gyro Set"; break;
|
|
568
|
+
case 0x20: ex = 'Famicom Data Recorder ("silent" keyboard)'; break;
|
|
569
|
+
case 0x21: ex = "ASCII Turbo File"; break;
|
|
570
|
+
case 0x22: ex = "IGS Storage Battle Box"; break;
|
|
571
|
+
case 0x23: ex = "Family BASIC Keyboard + Famicom Data Recorder"; break;
|
|
572
|
+
case 0x24: ex = "Dongda PEC-586 Keyboard"; break;
|
|
573
|
+
case 0x25: ex = "Bit Corp. Bit-79 Keyboard"; break;
|
|
574
|
+
case 0x26: ex = "Subor Keyboard"; break;
|
|
575
|
+
case 0x27: ex = "Subor Keyboard + Mouse (3x8-bit)"; break;
|
|
576
|
+
case 0x28: ex = "Subor Keyboard + Mouse (24-bit)"; break;
|
|
577
|
+
case 0x29: ex = "SNES Mouse ($4017.d0)"; break;
|
|
578
|
+
case 0x2A: ex = "Multicart"; break;
|
|
579
|
+
case 0x2B: ex = "2 SNES Controllers"; break;
|
|
580
|
+
case 0x2C: ex = "RacerMate Bicycle"; break;
|
|
581
|
+
case 0x2D: ex = "U-Force"; break;
|
|
582
|
+
case 0x2E: ex = "R.O.B. Stack-Up"; break;
|
|
583
|
+
case 0x2F: ex = "City Patrolman Lightgun"; break;
|
|
584
|
+
case 0x30: ex = "Sharp C1 Cassette Interface"; break;
|
|
585
|
+
case 0x31: ex = "Std. Controller w/swapped ←→/↑↓/BA"; break;
|
|
586
|
+
case 0x32: ex = "Excalibor Sudoku Pad"; break;
|
|
587
|
+
case 0x33: ex = "ABL Pinball"; break;
|
|
588
|
+
case 0x34: ex = "Golden Nugget Casino extra buttons"; break;
|
|
589
|
+
default: ex = "(unknown)"
|
|
590
|
+
}
|
|
591
|
+
sz = 16+trainer+szprg+szprgmsb+szchr+szchrmsb
|
|
592
|
+
}
|
|
593
|
+
else {
|
|
594
|
+
if(!(flg7&0x0C) && X.c("0000 0000",12)) sVersion = "iNES";
|
|
595
|
+
else if((flg7&0x0C) == 4) sVersion = "archaic iNES";
|
|
596
|
+
else sVersion = "iNES v0.7 or archaic";
|
|
597
|
+
|
|
598
|
+
szprgram = X.U8(8)*8192; if(!szprgram) szprgram = 8192; //PRG RAM size
|
|
599
|
+
flg10 = X.U8(10);
|
|
600
|
+
switch(flg10 & 3) {
|
|
601
|
+
case 0: tv = "NTSC"; break;
|
|
602
|
+
case 2: tv = "PAL"; break;
|
|
603
|
+
default: tv = "NTSC/PAL"
|
|
604
|
+
}
|
|
605
|
+
if(X.c("0000 0000",X.Sz()-4)) { fprgram = (flg10&0x10)>0; fbusconflicts = (flg10&0x20)>0 }
|
|
606
|
+
else { fprgram = false; fbusconflicts = false; }
|
|
607
|
+
region = "n/a";
|
|
608
|
+
}
|
|
609
|
+
if(X.isVerbose()) {
|
|
610
|
+
sOption(tv,"tv: "); sOption(region,"region: "); sOption(mapper,"mapper: "); sOption(ex,"expansion: ");
|
|
611
|
+
if(fplaychoice10) sOption("PlayChoice-10"); if(trainer) sOption("trainer");
|
|
612
|
+
if(fstorage) sOption("battery-backed RAM"); sOption(outSz(sz),'sz:')
|
|
613
|
+
}
|
|
614
|
+
}
|
|
615
|
+
|
|
616
|
+
else if(X.c("'MNIB-1541-RAW'..000002..04..06..08..0A")) { bDetected = true; sVersion = 'v'+X.U8(0xD);
|
|
617
|
+
sName = "Markus Brenner's MNIB/Peter Rittwage's C64PP NIBTools disk image (.NIB)"
|
|
618
|
+
}
|
|
619
|
+
|
|
620
|
+
else if(X.c("01'CD001'01''",0x53000)) {
|
|
621
|
+
n = X.c("'NERO'",X.Sz()-8) ? 1 : X.c("'NER5'",X.Sz()-12) ? 2 : 0;
|
|
622
|
+
sName = (n? "Nero AG's ": '')+"optical disc image (.NRG)"; if(n) sVersion = "Nero AG/v"+n;
|
|
623
|
+
if(X.isVerbose()) sOptions = X.SA(0x53028,0x20).trim(); bDetected = true;
|
|
624
|
+
}
|
|
625
|
+
|
|
626
|
+
else if(X.c("0D04..00'host_date='") && X.fSig(0,0x80,"'KryoFlux DiskSystem'")) {
|
|
627
|
+
sName = "SPS's KryoFlux DiskSystem disk sector (.RAW)"; bDetected = true
|
|
628
|
+
}
|
|
629
|
+
|
|
630
|
+
else if(X.c("'CAPS'0000000C1CD573BA'DATA'") && X.c("'PACK'",X.U32(0x10,_BE)+0x14)) {
|
|
631
|
+
//ref https://www.kryoflux.com/download/spsdeclib_5.1_source.zip / Codec/CapsDefinitions.h
|
|
632
|
+
sName = "SPS's KryoFlux CT Raw disk image (.RAW)"; bDetected = true;
|
|
633
|
+
if(X.isVerbose()) {
|
|
634
|
+
for(p = 0xC, trk = unpsz = 0; p < X.Sz(); ) {
|
|
635
|
+
hkhd = X.SA(p,4); if(!/[A-Z]{4}/.test(hkhd) || !X.c("0000",p+4)/*a floppy block can't be this long*/) break;
|
|
636
|
+
hksz = X.U32(p+4,_BE);
|
|
637
|
+
switch(hkhd) {
|
|
638
|
+
case 'DATA': hksz += X.U32(p+12,_BE); break;
|
|
639
|
+
case 'PACK': unpsz += hksz; hksz = X.U32(p+12,_BE)+0x18; break;
|
|
640
|
+
case 'TRCK': trk++; break }
|
|
641
|
+
p += hksz }
|
|
642
|
+
sOption('trk:'+trk+' sz:'+outSz(p))
|
|
643
|
+
}
|
|
644
|
+
}
|
|
645
|
+
|
|
646
|
+
function isSCL() {
|
|
647
|
+
if(!X.c("'SINCLAIR'") || !isWithin(n=X.U8(8),1, 128) || X.Sz() < 9+14*n) return false;
|
|
648
|
+
files = [], p = 9, i = c = 0; sz = 9+14*n;
|
|
649
|
+
sec = 0; bad = '';
|
|
650
|
+
for(; i < n && sz < X.Sz(); i++,p+=14) {
|
|
651
|
+
var fn = decAnsi(p,8,CPSpeccy); if(fn.length < 8) return false; fn = fn.trim();
|
|
652
|
+
if(fn[0] === '\x01') fn[0] = '*'; //deleted file
|
|
653
|
+
var ext = decAnsi(p+8,1,CPSpeccy); if(!ext.length) return false;
|
|
654
|
+
//I'd test the filenames for sanity but some copyprots are quite insane...
|
|
655
|
+
files.push(fn+'.$'+ext); t=X.U8(p+0xD); sec += t; sz += t << 8;
|
|
656
|
+
}
|
|
657
|
+
if(sz > X.Sz() || sz > 655364) return false; //max available size is 835600-ish so not much of a constraint
|
|
658
|
+
if(X.Sz() >= sz+4) { // despite the barebones specs there seems to be a CRC at the very end
|
|
659
|
+
for(i=0; i < sz; c+=X.U8(i++)){} sz += 4;
|
|
660
|
+
if(c != X.U32(i)) bad = '!badcrc' //not returning false; it's not guaranteed that all SCL will have this
|
|
661
|
+
} else bad = '!nocrc'; //...but it is common enough to mark it as malformed if it's absent
|
|
662
|
+
files = files.join(';'); return true
|
|
663
|
+
}
|
|
664
|
+
if(!bDetected && isSCL()) {
|
|
665
|
+
sName = 'ZX Spectrum floppy disk image (.SCL)'; bDetected = true;
|
|
666
|
+
if(bad.length) sVersion = 'malformed'+bad;
|
|
667
|
+
if(X.isVerbose()) {
|
|
668
|
+
sOption(addEllipsis(files,0xA0)); sOption('sec:'+sec+' sz:'+outSz(sz))
|
|
669
|
+
}
|
|
670
|
+
}
|
|
671
|
+
|
|
672
|
+
function isSCP() {
|
|
673
|
+
if(!X.c("'SCP'") || X.U8(6) > 165 || X.U8(7) > 165 || X.U8(0xA) > 2) return false;
|
|
674
|
+
var p, mtdp = mtdsz = 0, r = X.U8(5), bitw = X.U8(9);
|
|
675
|
+
sz = 0x2B0; if(!bitw) bitw = 2; else bitw >>= 3;
|
|
676
|
+
for(p = 0x10; p < 0x2B0; p += 4) {
|
|
677
|
+
var tdhp = X.U32(p); if(!tdhp) continue; if(!X.c("'TRK'",tdhp)) return false;
|
|
678
|
+
var i = 0; for(q = tdhp+4; i < r; i++) {
|
|
679
|
+
var tdsz = X.U32(q+4) * bitw, tdp = X.U32(q+8)+tdhp;
|
|
680
|
+
if(tdp > mtdp) { mtdp = tdp; mtdsz = tdsz }
|
|
681
|
+
q += 12
|
|
682
|
+
}
|
|
683
|
+
}
|
|
684
|
+
if(mtdp) if(mtdp > X.Sz()) return false; else sz = mtdp + mtdsz;
|
|
685
|
+
return true
|
|
686
|
+
}
|
|
687
|
+
if(!bDetected && isSCP()) {
|
|
688
|
+
sName = "SuperCard Pro disk image (.SCP)"; bDetected = true;
|
|
689
|
+
var v = X.U8(3); if(v) v = 'v'+(v>>4)+' rev.'+(v&0xF); else v = 'v.?';
|
|
690
|
+
var tp = X.U8(4), revolutions = X.U8(5), sttrk = X.U8(6), edtrk = X.U8(7), fl = X.U8(8),
|
|
691
|
+
tpi5in = fl & 2? '96': '48', rpm = fl&1? (fl & 4? '360': '300'): '300/360',
|
|
692
|
+
quality = fl & 8? 'normalised': 'preservation', ro = fl & 0x10? 'read/write': 'read-only', ext = fl & 0x20,
|
|
693
|
+
side = !X.U8(0xA)? 'double': (X.U8(0xA) == 1? 'bottom': 'top'), made, dtp;
|
|
694
|
+
if(ext) {
|
|
695
|
+
v = 'app v'+(X.U8(sz+0x28)>>4)+'.'+(X.U8(sz+0x28)&0xF)+
|
|
696
|
+
'h/w v'+(X.U8(sz+0x29)>>4)+'.'+(X.U8(sz+0x29)&0xF);
|
|
697
|
+
if(!X.c("'FPCS'",sz+0x2C)) v += '/malformed!noendtag'; sz += 0x30
|
|
698
|
+
}
|
|
699
|
+
sVersion = v;
|
|
700
|
+
if(X.isVerbose()) {
|
|
701
|
+
switch(tp&0xF) {
|
|
702
|
+
case 0: dtp = 'CBM'; break; case 1: dtp = 'Amiga'; break; case 2: dtp = 'Apple ]['; break;
|
|
703
|
+
case 3: dtp = 'Atari ST'; break; case 4: dtp = 'Atari 800'; break; case 5: dtp = 'Mac 800'; break;
|
|
704
|
+
case 6: dtp = '360k/720k'; break; case 7: dtp = '1.44M'; break; default: dtp = 'unk.'
|
|
705
|
+
}
|
|
706
|
+
switch(tp >> 4) {
|
|
707
|
+
case 0: made = 'Commodore'; break; case 1: made = 'Atari'; break; case 2: made = 'Apple'; break;
|
|
708
|
+
case 3: made = 'PC'; break; case 4: made = 'Tandy'; break; case 5: made = 'Texas Inst.'; break;
|
|
709
|
+
case 6: made = 'Roland'; break; case 8: made = '(other)'; break; default: made = 'unk.'
|
|
710
|
+
}
|
|
711
|
+
sOption('type '+dtp+' by '+made); sOption('trk:'+sttrk+'-'+edtrk+' side:'+side);
|
|
712
|
+
sOption(ro); sOption(quality,'quality:'); sOption(rpm,'',' rpm');
|
|
713
|
+
sOption(outSz(sz),'sz:');
|
|
714
|
+
}
|
|
715
|
+
}
|
|
716
|
+
|
|
717
|
+
if(!bDetected)
|
|
718
|
+
if(X.c("EC..A50000") && X.c("EC00",0x100) && X.c("55AA55AA55AA55AAFFFFFFFFFFFFFFFF0000",0x110)
|
|
719
|
+
&& X.c("FFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFF",0x400)
|
|
720
|
+
&& X.c("4199015564F0FFFF 201B0C824118EA61 F00107F60301EE1B 0C834118EA617001 07760301EE15140500",0X4630)) {
|
|
721
|
+
sName = "GamePark GP32 SmartMedia card (.SMC)"; bDetected = true //may not catch all options, but the official games are there
|
|
722
|
+
}
|
|
723
|
+
|
|
724
|
+
else if(X.c("'RSY'000300")) {
|
|
725
|
+
//ref http://info-coach.fr/atari/documents/_mydoc/Pasti-documentation.pdf
|
|
726
|
+
sName = "Jorge 'Ijor' Cwik's Pasti disk image (.STX)"; bDetected = true;
|
|
727
|
+
sVersion = 'v3'+(X.U8(11) == 2?' new':X.U8(11) == 0?' old':'');
|
|
728
|
+
if(X.isVerbose()) {
|
|
729
|
+
sOption(X.U8(10),'trk.total:');
|
|
730
|
+
for(i=0,p=0x10; i < X.U8(10) && p < X.Sz(); i++,p += X.U32(p)) {}
|
|
731
|
+
sOption(outSz(p),'sz:')
|
|
732
|
+
}
|
|
733
|
+
}
|
|
734
|
+
|
|
735
|
+
else if(X.c("'ZXST'") && charStat(X.readBytes(0x10+X.U32(0xC),4),1).indexOf('allxsc') >= 0
|
|
736
|
+
&& X.fSig(8,0x200,"'Z80R'") > 0 && X.fSig(0x20,0x200,"'SPCR'") > 0
|
|
737
|
+
&& isWithin(V=X.U8(4),1,1) && (v=X.U8(5)) <= 5 && (hw=X.U8(6)) <= 16 && (fl=X.U8(7)) <= 1) {
|
|
738
|
+
//ref https://sinclair.wiki.zxnet.co.uk/wiki/ZX-State_format
|
|
739
|
+
sName = 'Spectaculator zx-state file (.SZX)'; sVersion = 'v'+V+'.'+v; bDetected = true;
|
|
740
|
+
switch(hw) {
|
|
741
|
+
case 0: hw = 'ZX Spectrum 16k'; break; case 1: hw = 'ZX Spectrum 48k/+'; break;
|
|
742
|
+
case 2: hw = 'ZX Spectrum 128k'; break; case 3: hw = 'ZX Spectrum +2'; break;
|
|
743
|
+
case 4: hw = 'ZX Spectrum +2A/B'; break; case 5: hw = 'ZX Spectrum +3'; break;
|
|
744
|
+
case 6: hw = 'ZX Spectrum +3e'; break; case 7: hw = 'Pentagon 128'; break;
|
|
745
|
+
case 8: hw = 'Timex Sinclair TC-2048'; break; case 9: hw = 'Timex Sinclair TC-2068'; break;
|
|
746
|
+
case 0xA: hw = 'Scorpion ZS-256'; break; case 0xB: hw = 'ZX Spectrum SE'; break;
|
|
747
|
+
case 0xC: hw = 'Timex Sinclair TS-2068'; break; case 0xD: hw = 'Pentagon 512'; break;
|
|
748
|
+
case 0xE: hw = 'Pentagon 1024'; break; case 0xF: hw = 'ZX Spectrum 48k (NTSC)'; break;
|
|
749
|
+
case 0x10: hw = 'ZX Spectrum 128Ke'; break;
|
|
750
|
+
default: hw = '(unk.)'
|
|
751
|
+
}
|
|
752
|
+
sOption(hw,'h/w:');
|
|
753
|
+
if(X.isVerbose()) {
|
|
754
|
+
var p = 8;
|
|
755
|
+
while(p < X.Sz()) {
|
|
756
|
+
var hkhd = X.SA(p,4), hksz = X.U32(p+4);
|
|
757
|
+
if(!hksz || hksz+p > X.Sz() || charStat(X.readBytes(p,4),1).indexOf('allxsc') < 0
|
|
758
|
+
|| hkhd.length < 2 || hkhd.toUpperCase() != hkhd) break;
|
|
759
|
+
p += 8;
|
|
760
|
+
switch(hkhd) {
|
|
761
|
+
case 'CRTR': sOption(X.SA(p,0x20),'in:'); break;
|
|
762
|
+
}
|
|
763
|
+
p += hksz
|
|
764
|
+
}
|
|
765
|
+
sz = p; sOption(outSz(sz),'sz:')
|
|
766
|
+
}
|
|
767
|
+
}
|
|
768
|
+
|
|
769
|
+
else if(/^C64S?\s*tape.*file/.test(X.SA(0,0x20))) {
|
|
770
|
+
sName = "C64 cassette tape (.T64)"; bDetected = true;
|
|
771
|
+
sVersion = 'v'+X.U8(0x20)+"."+X.U8(0x21).padStart(2,'0');
|
|
772
|
+
if(X.isVerbose()) {
|
|
773
|
+
var files = [], totalent = X.U16(0x22,_LE), usedent = X.U16(0x24,_LE);
|
|
774
|
+
for(i=0; i < totalent; i++)
|
|
775
|
+
if(i < usedent) files[i] = X.SA(0x50+i*0x20,0x20).trim();
|
|
776
|
+
sOption(usedent," entries:");
|
|
777
|
+
for(i=0; i < files.length; i++) sOptions = sOptions.appendS(files[i]," ");
|
|
778
|
+
}
|
|
779
|
+
}
|
|
780
|
+
|
|
781
|
+
else if(X.c("'XM7 TAPE IMAGE 0'")) {
|
|
782
|
+
//ref https://github.com/yas-sim/xm7-related-tools/blob/main/t77dec/t77dec.cpp
|
|
783
|
+
//& https://web.archive.org/web/20191207131958/http://xm7.la.coocan.jp:80/xm7/xm7.html
|
|
784
|
+
sName = "Fujitsu FM-7 emulator XM7 tape (.T77)"; bDetected = true
|
|
785
|
+
}
|
|
786
|
+
|
|
787
|
+
else if(X.c("'C64-TAPE-RAW'") && X.U8(0xC) < 2) { bDetected = true;
|
|
788
|
+
sName = "C64 cassette tape (.TAP)"; sVersion = "v"+X.U8(0xC);
|
|
789
|
+
var sz = X.U32(0x10)+0x14; if(!X.isVerbose()) { if(sz > X.Sz()) sVersion += '/malformed!short' }
|
|
790
|
+
else sOptions = "sz:"+outSz(sz)
|
|
791
|
+
}
|
|
792
|
+
|
|
793
|
+
function isTAP() {
|
|
794
|
+
//from https://github.com/0sAND1s/HCDisk/blob/master/Tape/tap.cpp
|
|
795
|
+
if(X.Sz() < 17 || X.Sz() < X.U16(0)+2) return false;
|
|
796
|
+
p = blk = sus = 0; fnames = bad = ''; const types = ['B','N','S','C'];
|
|
797
|
+
while(p < X.Sz()) { //parse the blocks
|
|
798
|
+
hksz = X.U16(p); if(!hksz) return false; p += 2; if(X.Sz() < p+hksz) break;
|
|
799
|
+
var c = 0, tp = X.U8(p); if([0,0xFF].indexOf(tp) < 0) break;
|
|
800
|
+
if(p < 0xC000 && blk < 5) { /*CRC test. No need to test the WHOLE file*/
|
|
801
|
+
for(i=p; i < p+hksz-1; i++) c ^= X.U8(i); if(c != X.U8(i)) return false;
|
|
802
|
+
}
|
|
803
|
+
if(tp == 0) {
|
|
804
|
+
if(charStat(t=X.readBytes(p+2,10), 1).indexOf('allasc') < 0) { sus++; bad = bad.addIfNone('!nonASCII:'+decEncoding(t,CPSpeccy)) }
|
|
805
|
+
t = decEncoding(t,CPSpeccy).trim();
|
|
806
|
+
if(!t) if(X.U8(p+1) < 3) return false; else { sus++; bad = bad.addIfNone('!emptyname') }
|
|
807
|
+
fnames = fnames.appendS(t+'.'+types[X.U8(p+1)], ',') }
|
|
808
|
+
else fnames = fnames.appendS((hksz-3),':');
|
|
809
|
+
if(sus > 2) return false; blk++; p += hksz
|
|
810
|
+
}
|
|
811
|
+
if(!fnames.length && blk) { sus++; bad = bad.addIfNone('!nonameblk0') }
|
|
812
|
+
if(blk < 2 && bad.indexOf('!nonASCII')) sus++;
|
|
813
|
+
//if(X.Sz() != p) sus++;
|
|
814
|
+
if(sus > 2 || !blk || !fnames.length) { delete bad; return false }
|
|
815
|
+
return true
|
|
816
|
+
}
|
|
817
|
+
if(!bDetected && isTAP()) {
|
|
818
|
+
sName = 'ZX Spectrum tape (.TAP)'; bDetected = true;
|
|
819
|
+
if(bad.length) sVersion = 'malformed#'+sus+bad;
|
|
820
|
+
if(X.isVerbose()) {
|
|
821
|
+
sOptionT(addEllipsis(fnames,0xA0),'blocks:'+blk+' (',')');
|
|
822
|
+
sOption(outSz(p),'sz:')
|
|
823
|
+
}
|
|
824
|
+
}
|
|
825
|
+
|
|
826
|
+
if(!bDetected)
|
|
827
|
+
if(X.c("'ZXTape!'1A")) { // a bit large
|
|
828
|
+
// from https://www.alessandrogrussu.it/tapir/tzxform120.html
|
|
829
|
+
// & https://www.msx.org/wiki/Emulation_related_file_formats#.TSX
|
|
830
|
+
sVersion = 'v'+X.U8(8)+'.'+X.U8(9).padStart(2,'0'); bDetected = true;
|
|
831
|
+
var ismsx = end = false, x = 0;
|
|
832
|
+
var bad = title = publisher = auth = year = lang = apptype = price = protload
|
|
833
|
+
= org = cmt = hw = sel = '';
|
|
834
|
+
p = 10; while(!end && p < X.Sz()) {
|
|
835
|
+
switch(X.U8(p++)) {
|
|
836
|
+
case 0x10: p += 4+X.U16(p+2); break;
|
|
837
|
+
case 0x11: p += 0x12+X.U24(p+0xF); break;
|
|
838
|
+
case 0x12: p += 4; break;
|
|
839
|
+
case 0x13: p += 1+2*X.U8(p); break;
|
|
840
|
+
case 0x14:
|
|
841
|
+
if(!X.U8(p+4) > 8) { end = true; bad = bad.addIfNone('!badnbitsin14') }
|
|
842
|
+
else p += 0xA+X.U24(p+7); break;
|
|
843
|
+
case 0x15:
|
|
844
|
+
if(!isWithin(X.U8(p+4),1,8)) { end = true; bad = bad.addIfNone('!badnbitsin15') }
|
|
845
|
+
else p += 8+X.U24(p+5); break;
|
|
846
|
+
case 0x18: if(!isWithin(X.U8(p+9),1,2)) { end = true; bad = bad.addIfNone('!badcomptypein18') }
|
|
847
|
+
else p += 4+X.U32(p); break;
|
|
848
|
+
case 0x19: case 0x2A: p += 4+X.U32(p); break;
|
|
849
|
+
case 0x20: case 0x23: case 0x24: p += 2; break;
|
|
850
|
+
case 0x21: p += 1+X.U8(p); break;
|
|
851
|
+
case 0x22: case 0x25: case 0x27: break;
|
|
852
|
+
case 0x26: p += 2+2*X.U16(p); break;
|
|
853
|
+
case 0x28:
|
|
854
|
+
var p1 = p+2+X.U16(p), n = X.U8(p+2); p += 3;
|
|
855
|
+
for(i=0; i < n; i++) { var tl = X.U8(p+2); p += 3;
|
|
856
|
+
sel = sel.appendS(decAnsi(p,tl,CPSpeccy,1,Chars0to1FSpeccy),'/'); p += tl
|
|
857
|
+
}
|
|
858
|
+
p = p1; break;
|
|
859
|
+
case 0x2B: if(X.U8(p+4) > 1) { end = true; bad = bad.addIfNone('!badsignalin2B'); }
|
|
860
|
+
else p += 4+X.U32(p); break;
|
|
861
|
+
case 0x30: cmt = cmt.append('-'+decAnsi(p+1,X.U8(p),CPSpeccy,1,Chars0to1FSpeccy).trim()+'-');
|
|
862
|
+
p += 1+X.U8(p); break;
|
|
863
|
+
case 0x31: p += 2+X.U8(p+1); break;
|
|
864
|
+
case 0x32:
|
|
865
|
+
var p1 = p+2+X.U16(p), n = X.U8(p+2); p += 3;
|
|
866
|
+
for(i=0; i < n; i++) {
|
|
867
|
+
var tp = X.U8(p++); t = X.SC(p+1,Math.min(X.U8(p),p1-p),'CP1252').trim();
|
|
868
|
+
switch(tp) {
|
|
869
|
+
case 0: title = title.append(t); break; case 1: publisher = publisher.append(t); break;
|
|
870
|
+
case 2: auth = auth.append(t); break; case 3: year = year.append(t); break;
|
|
871
|
+
case 4: lang = lang.append(t); break; case 5: apptype = apptype.append(t); break;
|
|
872
|
+
case 6: price = price.append(t); break; case 7: protload = protload.append(t); break;
|
|
873
|
+
case 8: org = org.append(t); break; case 0xFF: cmt = cmt.appendS(t,' / '); break;
|
|
874
|
+
default: cmt = cmt.append(t,'\ninfo#'+tp.toString(16)+':') }
|
|
875
|
+
p += 1+X.U8(p);
|
|
876
|
+
}
|
|
877
|
+
p = p1; break;
|
|
878
|
+
case 0x33:
|
|
879
|
+
var hwin = X.U8(p++);
|
|
880
|
+
for(i=0; i < hwin; i++) {
|
|
881
|
+
var hwtp = X.U8(p++), hwid = X.U8(p++);
|
|
882
|
+
switch(hwtp) {
|
|
883
|
+
case 0: hwtp = '[PC]';
|
|
884
|
+
switch(hwid) {
|
|
885
|
+
case 0: hwid = 'ZX Spectrum 16k'; break; case 1: hwid = 'ZX Spectrum 48k/+'; break;
|
|
886
|
+
case 2: hwid = 'ZX Spectrum 48k ISSUE 1'; break; case 3: hwid = 'ZX Spectrum 128k +(Sinclair)'; break;
|
|
887
|
+
case 4: hwid = 'ZX Spectrum 128k +2 (grey case)'; break; case 5: hwid = 'ZX Spectrum 128k +2A/+3'; break;
|
|
888
|
+
case 6: hwid = 'Timex Sinclair TC-2048'; break; case 7: hwid = 'Timex Sinclair TS-2068'; break;
|
|
889
|
+
case 8: hwid = 'Pentagon 128'; break; case 9: hwid = 'SAM Coupe'; break;
|
|
890
|
+
case 0xA: hwid = 'Didaktik M'; break; case 0xB: hwid = 'Didaktik Gama'; break;
|
|
891
|
+
case 0xC: hwid = 'ZX-80'; break; case 0xD: hwid = 'ZX-81'; break;
|
|
892
|
+
case 0xE: hwid = 'ZX Spectrum 128k Spanish version'; break;
|
|
893
|
+
case 0xF: hwid = 'ZX Spectrum Arabic version'; break;
|
|
894
|
+
case 0x10: hwid = 'Microdigital TK 90-X'; break; case 0x11: hwid = 'MicrodigitalTK 95'; break;
|
|
895
|
+
case 0x12: hwid = 'Byte'; break; case 0x13: hwid = 'Elwro 800-3'; break;
|
|
896
|
+
case 0x14: hwid = 'ZS Scorpion 256'; break; case 0x15: hwid = 'Amstrad CPC 464'; break;
|
|
897
|
+
case 0x16: hwid = 'Amstrad CPC 664'; break; case 0x17: hwid = 'Amstrad CPC 6128'; break;
|
|
898
|
+
case 0x18: hwid = 'Amstrad CPC 464+'; break; case 0x19: hwid = 'Amstrad CPC 6128+'; break;
|
|
899
|
+
case 0x1A: hwid = 'Jupiter ACE'; break; case 0x1B: hwid = 'Enterprise'; break;
|
|
900
|
+
case 0x1E: hwid = 'Inves Spectrum+'; break; case 0x1F: hwid = 'Profi'; break;
|
|
901
|
+
case 0x20: hwid = 'GrandRomMax'; break; case 0x21: hwid = 'Kay 1024'; break;
|
|
902
|
+
case 0x22: hwid = 'Ice Felix HC 91'; break; case 0x23: hwid = 'Ice Felix HC 2000'; break;
|
|
903
|
+
case 0x24: hwid = 'Amaterske RADIO Mistrum'; break; case 0x25: hwid = 'Quorum 128'; break;
|
|
904
|
+
case 0x26: hwid = 'MicroART ATM'; break; case 0x27: hwid = 'MicroART ATM Turbo 2'; break;
|
|
905
|
+
case 0x28: hwid = 'Chrome'; break; case 0x29: hwid = 'ZX Badaloc'; break;
|
|
906
|
+
case 0x2A: hwid = 'TS-1500'; break; case 0x2B: hwid = 'Lambda'; break;
|
|
907
|
+
case 0x2C: hwid = 'TK-65'; break; case 0x2D: hwid = 'ZX-97'; break;
|
|
908
|
+
default: hwid = '(unk.)'
|
|
909
|
+
} break;
|
|
910
|
+
case 1: hwtp = '[ext.storage]';
|
|
911
|
+
switch(hwid) {
|
|
912
|
+
case 0: hwid = 'ZX Microdrive'; break; case 1: hwid = 'Opus Discovery'; break;
|
|
913
|
+
case 2: hwid = 'MGT DISCiPLE'; break; case 3: hwid = 'MGT +D'; break;
|
|
914
|
+
case 4: hwid = 'Rotronics Wafadrive'; break; case 5: hwid = 'TR-DOS (BetaDisk)'; break;
|
|
915
|
+
case 6: hwid = 'Byte Drive'; break; case 7: hwid = 'Watsford'; break;
|
|
916
|
+
case 8: hwid = 'FIZ'; break; case 9: hwid = 'Radofin'; break;
|
|
917
|
+
case 0xA: hwid = 'Didaktik disk drives'; break; case 0xB: hwid = 'BS-DOS (MB-02)'; break;
|
|
918
|
+
case 0xC: hwid = 'ZX Spectrum +3 disk drive'; break;
|
|
919
|
+
case 0xD: hwid = 'JLO (Oliger) disk interface'; break;
|
|
920
|
+
case 0xE: hwid = 'Timex FDD3000'; break; case 0xF: hwid = 'Zebra disk drive'; break;
|
|
921
|
+
case 0x10: hwid = 'Ramex Millenia'; break; case 0x11: hwid = 'Larken'; break;
|
|
922
|
+
case 0x12: hwid = 'Kempston disk interface'; break; case 0x13: hwid = 'Sandy'; break;
|
|
923
|
+
case 0x14: hwid = 'ZX Spectrum +3e hard disk'; break; case 0x15: hwid = 'ZXATASP'; break;
|
|
924
|
+
case 0x16: hwid = 'DivIDE'; break; case 0x17: hwid = 'ZXCF'; break;
|
|
925
|
+
default: hwid = '(unk.)'
|
|
926
|
+
} break;
|
|
927
|
+
case 2: hwtp = '[memory addon]';
|
|
928
|
+
switch(hwid) {
|
|
929
|
+
case 0: hwid = 'Sam Ram'; break; case 1: hwid = 'Multiface ONE'; break;
|
|
930
|
+
case 2: hwid = 'Multiface 128k'; break; case 3: hwid = 'Multiface +3'; break;
|
|
931
|
+
case 4: hwid = 'MultiPrint'; break; case 5: hwid = 'MB-02 ROM/RAM exp.'; break;
|
|
932
|
+
case 6: hwid = 'SoftROM'; break; case 7: hwid = '1k'; break; case 8: hwid = '16k'; break;
|
|
933
|
+
case 9: hwid = '48k'; break; case 10: hwid = 'memory in 8-16k used'; break;
|
|
934
|
+
default: hwid = '(unk.)'
|
|
935
|
+
} break;
|
|
936
|
+
case 3: hwtp = '[sound device]';
|
|
937
|
+
switch(hwid) {
|
|
938
|
+
case 0: hwid = 'classic 128k ZX-compatible AY hw'; break;
|
|
939
|
+
case 1: hwid = 'Fuller Box AY hw'; break; case 2: hwid = 'Currah microSpeech'; break;
|
|
940
|
+
case 3: hwid = 'SpecDrum'; break; case 4: hwid = 'AY ACB (L:A+C R:B+C) stereo/Melodik'; break;
|
|
941
|
+
case 5: hwid = 'AY ABC (L:A+B R:B+C) stereo/Melodik'; break;
|
|
942
|
+
case 6: hwid = 'RAM Music Machine'; break; case 7: hwid = 'Covox'; break;
|
|
943
|
+
case 8: hwid = 'General Sound'; break; case 9: hwid = 'Intec Electronic Digital Interface B8001'; break;
|
|
944
|
+
case 0xA: hwid = 'Zon-X AY'; break; case 0xB: hwid = 'QuickSilva AY'; break;
|
|
945
|
+
case 0xC: hwid = 'Jupiter ACE'; break; default: hwid = '(unk.)'
|
|
946
|
+
} break;
|
|
947
|
+
case 4: hwtp = '[joystick]';
|
|
948
|
+
switch(hwid) {
|
|
949
|
+
case 0: hwid = 'Kempston'; break; case 1: hwid = 'Cursor/Protek/AGF'; break;
|
|
950
|
+
case 2: hwid = 'Sinclair 2 Left (12345)'; break; case 3: hwid = 'Sinclair 1 Right (67890)'; break;
|
|
951
|
+
case 4: hwid = 'Fuller'; break; default: hwid = '(unk.)'
|
|
952
|
+
} break;
|
|
953
|
+
case 5: hwtp = '[mouse]';
|
|
954
|
+
switch(hwid) {
|
|
955
|
+
case 0: hwid = 'AMX mouse'; break; case 1: hwid = 'Kempston mouse'; break;
|
|
956
|
+
default: hwid = '(unk.)'
|
|
957
|
+
} break;
|
|
958
|
+
case 6: hwtp = '[controller]';
|
|
959
|
+
switch(hwid) {
|
|
960
|
+
case 0: hwid = 'Trickstick'; break; case 1: hwid = 'ZX Light Gun'; break;
|
|
961
|
+
case 2: hwid = 'Zebra Graphics Tablet'; break; case 3: hwid = 'Defender Light Gun'; break;
|
|
962
|
+
default: hwid = '(unk.)'
|
|
963
|
+
} break;
|
|
964
|
+
case 7: hwtp = '[serial port]';
|
|
965
|
+
switch(hwid) {
|
|
966
|
+
case 0: hwid = 'ZX Interface I'; break; case 1: hwid = 'ZX Spectrum 128k'; break;
|
|
967
|
+
default: hwid = '(unk.)'
|
|
968
|
+
} break;
|
|
969
|
+
case 8: hwtp = '[parallel port]';
|
|
970
|
+
switch(hwid) {
|
|
971
|
+
case 0: hwid = 'Kempston S'; break; case 1: hwid = 'Kempston E'; break;
|
|
972
|
+
case 2: hwid = 'ZX Spectrum +3'; break; case 3: hwid = 'Tasman'; break;
|
|
973
|
+
case 4: hwid = "DK'Tronics"; break; case 5: hwid = 'Hilderbay'; break;
|
|
974
|
+
case 6: hwid = 'INES Printerface'; break; case 7: hwid = 'Z LPrint Interface 3'; break;
|
|
975
|
+
case 8: hwid = 'MultiPrint'; break; case 9: hwid = 'Opus Discovery'; break;
|
|
976
|
+
case 10: hwid = 'Standard 8255 chip with ports 31+63+95'; break;
|
|
977
|
+
default: hwid = '(unk.)'
|
|
978
|
+
} break;
|
|
979
|
+
case 9: hwtp = '[printer]';
|
|
980
|
+
switch(hwid) {
|
|
981
|
+
case 0: hwid = 'ZX Printer/Alphacom 32 & compat.'; break;
|
|
982
|
+
case 1: hwid = 'Generic printer'; break; case 2: hwid = 'EPSON compat.'; break;
|
|
983
|
+
default: hwid = '(unk.)'
|
|
984
|
+
} break;
|
|
985
|
+
case 0xA: hwtp = '[modem]';
|
|
986
|
+
switch(hwid) {
|
|
987
|
+
case 0: hwid = 'Prism VTX 5000'; break; case 1: hwid = 'T/S 2050/Westridge 2050'; break;
|
|
988
|
+
default: hwid = '(unk.)'
|
|
989
|
+
} break;
|
|
990
|
+
case 0xB: hwtp = '[digitizer]';
|
|
991
|
+
switch(hwid) {
|
|
992
|
+
case 0: hwid = 'RD Digital Tracer'; break; case 1: hwid = "DK'Tronics Light Pen"; break;
|
|
993
|
+
case 2: hwid = 'British MicroGraph Pad'; break; case 3: hwid = 'Romantic Robot Videoface'; break;
|
|
994
|
+
default: hwid = '(unk.)'
|
|
995
|
+
} break;
|
|
996
|
+
case 0xC: hwtp = '[network adapter]';
|
|
997
|
+
if(hwid == 0) hwid = 'ZX Interface I'; else hwid = '(unk.)'; break;
|
|
998
|
+
case 0xD: hwtp = '[keyboard]';
|
|
999
|
+
if(hwid == 0) hwid = 'Keypad for ZX Spectrum 128k'; else hwid = '(unk.)'; break;
|
|
1000
|
+
case 0xE: hwtp = '[AD/DA converter]';
|
|
1001
|
+
switch(hwid) {
|
|
1002
|
+
case 0: hwid = 'Harley Systems ADC 8.2'; break;
|
|
1003
|
+
case 1: hwid = 'Blackboard Electronics'; break;
|
|
1004
|
+
default: hwid = '(unk.)'
|
|
1005
|
+
} break;
|
|
1006
|
+
case 0xF: hwtp = '[EEPROM programmer]';
|
|
1007
|
+
switch(hwid) {
|
|
1008
|
+
case 0: hwid = 'Orme Electronics'; break; case 1: hwid = 'Blackboard Electronics'; break;
|
|
1009
|
+
default: hwid = '(unk.)'
|
|
1010
|
+
} break;
|
|
1011
|
+
case 0x10: hwtp = '[GPU]';
|
|
1012
|
+
switch(hwid) {
|
|
1013
|
+
case 0: hwid = 'WRX Hi-Res'; break; case 1: hwid = 'G007'; break; case 2: hwid = 'Memotech'; break;
|
|
1014
|
+
case 3: hwid = 'Lambda Colour'; break; default: hwid = '(unk.)'
|
|
1015
|
+
} break;
|
|
1016
|
+
}
|
|
1017
|
+
switch(X.U8(p++)) {
|
|
1018
|
+
case 0: hw = hw.append('runs on '+hwtp+' '+hwid); break;
|
|
1019
|
+
case 1: hw = hw.append('uses '+hwtp+' '+hwid); break;
|
|
1020
|
+
case 2: hw = hw.append('runs w/o specifics of '+hwtp+' '+hwid); break;
|
|
1021
|
+
case 3: hw = hw.append("won't run on "+hwtp+' '+hwid); break; default: break }
|
|
1022
|
+
} break;
|
|
1023
|
+
case 0x35: p += 0x14+X.U32(p+0x10); break;
|
|
1024
|
+
case 0x5A: if(!X.c("'XTape!'1A",p)) { end = true; p-- } else { x++; p += 9 } break;
|
|
1025
|
+
case 0x16: case 0x17: p += X.U32(p); break;
|
|
1026
|
+
case 0x34: p += 8; break;
|
|
1027
|
+
case 0x40: sOption('snapshot'); p += 4+X.U24(p+1); break;
|
|
1028
|
+
case 0x4B: ismsx = true; p += 4+X.U32(p); break; //Kansas City Standard
|
|
1029
|
+
default: end = true; p--;// ripper-ready! // bad = bad.addIfNone('!unkID')
|
|
1030
|
+
}
|
|
1031
|
+
}
|
|
1032
|
+
if(ismsx) sName = "ZX Spectrum/MSX tape (.TSX)"; else sName = "ZX Spectrum tape (.TZX)";
|
|
1033
|
+
if(bad.length) sVersion = sVersion.appendS('malformed'+bad,'/');
|
|
1034
|
+
if(X.isVerbose()) {
|
|
1035
|
+
sOptionT(title); if(x > 1) sOption(x,'x'); sOptionT(auth,'by:'); sOptionT(year,"'"); sOptionT(publisher,'(c) ');
|
|
1036
|
+
sOptionT(lang,'in:'); sOptionT(apptype,'apptype:'); sOptionT(price,'price:');
|
|
1037
|
+
sOptionT(org,'origin:'); sOptionT(protload,'prot/ldr:'); sOption(hw);
|
|
1038
|
+
sOptionT(addEllipsis(cmt,0xA0)); sOptionT(sel,'choices:'); sOption(outSz(p),'sz:')
|
|
1039
|
+
}
|
|
1040
|
+
}
|
|
1041
|
+
|
|
1042
|
+
else if(X.c("'UEF File!'00") && X.U8(0xB) <= 2) {
|
|
1043
|
+
//ref http://electrem.emuunlim.com/UEFSpecs.html
|
|
1044
|
+
sName = "Acorn PC Unified Emulator Format data (.UEF)"; bDetected = true;
|
|
1045
|
+
sVersion = 'v'+X.U8(0xB)+'.'+X.U8(0xA);
|
|
1046
|
+
var title = info = man = gear = kb = tp = '', interrupt = false;
|
|
1047
|
+
for(p = 0xC; p < X.Sz();) {
|
|
1048
|
+
var hkhd = X.U16(p), hksz = X.U32(p+2);
|
|
1049
|
+
if([0,1,2,3,4,0xFF].indexOf(hkhd>>8) < 0) break; //unrelated info follows?
|
|
1050
|
+
p += 6; switch(hkhd) {
|
|
1051
|
+
case 0x0000: info = info.appendS(X.SA(p,hksz),'/'); break;
|
|
1052
|
+
case 0x0001: man = man.appendS(X.SA(p,hksz),' '); break;
|
|
1053
|
+
case 0x0005: gear = 'Acorn ';
|
|
1054
|
+
switch(X.U8(p)>>4) {
|
|
1055
|
+
case 0: gear += 'BBC Model A'; break; case 1: gear += 'Electron'; break;
|
|
1056
|
+
case 2: gear += 'BBC Model B'; break; case 3: gear += 'BBC Master'; break;
|
|
1057
|
+
case 4: gear += 'Atom'; break
|
|
1058
|
+
}
|
|
1059
|
+
switch(X.U8(p) & 0xF) {
|
|
1060
|
+
case 0: kb = 'any'; break; case 1: kb = 'target PC'; break; case 2: kb = 'host PC'; break
|
|
1061
|
+
}
|
|
1062
|
+
break;
|
|
1063
|
+
case 0x0009: title = X.SA(p,hksz); break;
|
|
1064
|
+
case 0x0101: case 0x0102: case 0x0103: case 0x0104:
|
|
1065
|
+
case 0x0110: case 0x0111: case 0x0112: case 0x0113: case 0x0114: case 0x0115:
|
|
1066
|
+
case 0x0116: case 0x0117: case 0x0120: case 0x0131:
|
|
1067
|
+
tp = tp.addIfNone('#tape'); break;
|
|
1068
|
+
case 0x0130:
|
|
1069
|
+
switch(X.U8(p)) {
|
|
1070
|
+
case 0: t = 'unit'; break; case 1: t = 'tape'; break; case 2: t = 'disc'; break;
|
|
1071
|
+
case 3: t = 'vtape'; break; case 4: t = 'cartridge'; break; default: 'unk.media'
|
|
1072
|
+
}
|
|
1073
|
+
if(X.U8(p+1) > 1) t += ' ×'+X.U8(p+1);
|
|
1074
|
+
if(X.U8(p+2) > 1) t += (X.U8(p) == 1 || X.U8(p) == 3)? ' ch:': X.U8(p) == 2? ' '+X.U8(p+2)+' audiotracks':'..?';
|
|
1075
|
+
info += ' #'+t; break;
|
|
1076
|
+
case 0x0200: case 0x0201: case 0x0202: tp = tp.addIfNone('#disc'); break;
|
|
1077
|
+
case 0x0300: tp = tp.addIfNone('#ROM');
|
|
1078
|
+
t = 'content:';
|
|
1079
|
+
switch(X.U8(p)) {
|
|
1080
|
+
case 0: t += 'generic'; break; case 1: t += 'OS'; break; case 2: t += 'BASIC'; break;
|
|
1081
|
+
case 3: t += 'language'; break; case 4: t += 'utility'; break; case 5: t += 'filing system'; break;
|
|
1082
|
+
case 6: t += 'h/w driver'; break; case 7: t += 'game'; break; default: t += 'unk'
|
|
1083
|
+
} info += ' #'+t; break;
|
|
1084
|
+
case 0x0301: tp = tp.addIfNone('#ROM'); break;
|
|
1085
|
+
case 0x0400: case 0x0401: case 0x0402: case 0x0403:
|
|
1086
|
+
case 0x0410: case 0x0411: case 0x0412: case 0x0420:
|
|
1087
|
+
tp = tp.addIfNone('#snapshot'); break;
|
|
1088
|
+
case 0xFF00: info += '#emu:'+X.SA(p,hksz); break;
|
|
1089
|
+
case 0x0100: break; //the "implicit data chunk"! eh?
|
|
1090
|
+
default:
|
|
1091
|
+
if(hkhd > 0xFF00) tp = tp.addIfNone('#customdata');
|
|
1092
|
+
else interrupt = true // unknown chunk = unrelated tailing data?
|
|
1093
|
+
}
|
|
1094
|
+
if(interrupt) { p -= 6; break }
|
|
1095
|
+
//_log(Hex(p-6)+' > '+Hex(hkhd));
|
|
1096
|
+
p += hksz
|
|
1097
|
+
}
|
|
1098
|
+
sVersion += tp;
|
|
1099
|
+
if(X.isVerbose()) {
|
|
1100
|
+
sOption(title); sOptionT(info,'info:'); sOptionT(man,'manual:');
|
|
1101
|
+
sOptionT(gear,'gear:'); sOptionT(kb,'layout:');
|
|
1102
|
+
sOption(outSz(p),'sz:')
|
|
1103
|
+
}
|
|
1104
|
+
}
|
|
1105
|
+
|
|
1106
|
+
else if(X.c("'UNIF'???????? 0000 0000 0000 0000 0000 0000 0000") && (X.Sz() > 32)) {
|
|
1107
|
+
sName = "UNIF NES cartridge (.UNF)"; sVersion = "v"+X.U32(4,_LE); bDetected = true;
|
|
1108
|
+
if(X.isVerbose()) {
|
|
1109
|
+
p=8;
|
|
1110
|
+
t=''; mapr = ''; tv = ''; ex = ''; fstorage = lastchunk = false;
|
|
1111
|
+
while (p < X.Sz() && !lastchunk) {
|
|
1112
|
+
var hkhd = X.SA(p,4), hksz = X.U32(p+4); p += 0x08;
|
|
1113
|
+
switch(hkhd) {
|
|
1114
|
+
case "MAPR": mapr = X.SA(p,hksz); break;
|
|
1115
|
+
case "NAME": t = X.SA(p,hksz); break;
|
|
1116
|
+
case "TCVI": switch(X.U8(p)) {
|
|
1117
|
+
case 0: tv = "NTSC"; break;
|
|
1118
|
+
case 1: tv = "PAL"; break;
|
|
1119
|
+
case 2: tv = "NTSC/PAL" }
|
|
1120
|
+
break;
|
|
1121
|
+
case "CTRL":
|
|
1122
|
+
var exa = [], bm = X.U8(p);
|
|
1123
|
+
if(bm&1) exa.push("Std. Controller");
|
|
1124
|
+
if(bm&2) exa.push("Zapper");
|
|
1125
|
+
if(bm&4) exa.push("R.O.B.");
|
|
1126
|
+
if(bm&8) exa.push("Arkanoid Controller");
|
|
1127
|
+
if(bm&0x10) exa.push("Power Pad");
|
|
1128
|
+
if(bm&0x20) exa.push("Four Score");
|
|
1129
|
+
if(bm) ex = "#"+exa.join("+");
|
|
1130
|
+
break;
|
|
1131
|
+
case "BATR": fstorage = true; break;
|
|
1132
|
+
case "MIRR": lastchunk = true; break
|
|
1133
|
+
}
|
|
1134
|
+
p += hksz;
|
|
1135
|
+
}
|
|
1136
|
+
sOptionT(t);
|
|
1137
|
+
sOption(tv);
|
|
1138
|
+
sOption(ex,'expansion: ');
|
|
1139
|
+
if(fstorage) sOption('battery-backed RAM');
|
|
1140
|
+
if(lastchunk) sOption(outSz(p),'sz:'); else sVersion += '/malformed!short'
|
|
1141
|
+
}
|
|
1142
|
+
}
|
|
1143
|
+
|
|
1144
|
+
else if(X.c("'g GCE 198'..80")) {
|
|
1145
|
+
sName = "GCE Vectrex cartridge (.VEC)"; bDetected = true;
|
|
1146
|
+
if(X.isVerbose()) {
|
|
1147
|
+
p = X.fSig(0x11,0x20,"80"); if(p > 0) sOption(X.SA(0x11,p-0x11))
|
|
1148
|
+
}
|
|
1149
|
+
}
|
|
1150
|
+
|
|
1151
|
+
else if(X.c("'VICE Snapshot File'1A")) {
|
|
1152
|
+
sName = "C64 VICE emulator snapshot (.VSF)"; bDetected = 1;
|
|
1153
|
+
sVersion = 'v'+X.U8(0x13)+'.'+X.U8(0x14).padStart(2,'0');
|
|
1154
|
+
p = 0x25; bad = ''
|
|
1155
|
+
while(p < X.Sz()) {
|
|
1156
|
+
var hkhd = X.SA(p,0x10), hksz = X.U32(p+0x12,_BE);
|
|
1157
|
+
if(!/([A-Z0-9-]{3,}|Acia1)/.test(hkhd) || !isAllZeroes(p+hkhd.length, 0x10-hkhd.length)) {
|
|
1158
|
+
bad = bad.addIfNone('badchunk'); break } else p += hksz;
|
|
1159
|
+
}
|
|
1160
|
+
if(X.isVerbose()) sOptions = X.SA(0x15,0xF)+' sz:'+outSz(sz);
|
|
1161
|
+
else if(p > X.Sz()) bad = bad.addIfNone('!short');
|
|
1162
|
+
if(bad != '') sVersion = sVersion.appendS('/malformed'+bad,'/')
|
|
1163
|
+
}
|
|
1164
|
+
|
|
1165
|
+
function isWAD() {
|
|
1166
|
+
//ref https://doomwiki.org/wiki/WAD
|
|
1167
|
+
if(!X.c("'IWAD'") && !X.c("'PWAD'")) return false;
|
|
1168
|
+
var susBE = 0, en = _LE; // Atari Jaguar port has special stuff: big-endian, the final lump tag
|
|
1169
|
+
lumpn = X.I32(4,en); if(lumpn < 0 || lumpn > X.I32(4,_BE)) {
|
|
1170
|
+
lumpn = X.I32(4,_BE); if(lumpn > 0) { susBE++; en = _BE } else return false; }
|
|
1171
|
+
var i = 0, msz = 0, dirp = X.I32(8,en), p = dirp; if(!isWithin(dirp, 12, X.Sz())) return false; else susBE++;
|
|
1172
|
+
var lumps = [], maxlump = Math.min(lumpn,0x40); //a bit too many lumps in a doom2.wad file, too slow
|
|
1173
|
+
for(; i < maxlump; i++, p += 0x10) {
|
|
1174
|
+
if(p+0x10 > X.Sz()) return false;
|
|
1175
|
+
var ofs = X.I32(p,en), sz = X.I32(p+4,en); if(ofs < 0 || sz < 0 || !isWithin(ofs,12,X.Sz())) return false;
|
|
1176
|
+
if(X.c("'ENDOFWAD'",p+8)) susBE++; lumps.push([ofs,sz,X.readBytes(p+8,8)]);
|
|
1177
|
+
}
|
|
1178
|
+
lumps = lumps.sort(function(a,b){return a[0]-b[0]});
|
|
1179
|
+
for(i=0; i < maxlump; i++) {
|
|
1180
|
+
var co = (lumps[i][2][0] & 0x80) > 0; lumps[i][2][0] = lumps[i][2][0] & 0x7F;
|
|
1181
|
+
if(charStat(lumps[i][2],true).indexOf('allxsc') < 0) return false;
|
|
1182
|
+
if(!co && i < maxlump-2 && lumps[i][0]+lumps[i][1] > lumps[i+1][0]) return false
|
|
1183
|
+
}
|
|
1184
|
+
v = susBE >= 2? 'Atari Jaguar': 'PC';
|
|
1185
|
+
return true
|
|
1186
|
+
}
|
|
1187
|
+
if(!bDetected && isWAD()) {
|
|
1188
|
+
sName = "iD Software's Where's All the Data resource pack (.WAD)"; bDetected = true;
|
|
1189
|
+
sVersion = X.c("'I'")? 'initial': 'patch'; sVersion += '#'+v;
|
|
1190
|
+
}
|
|
1191
|
+
|
|
1192
|
+
if(!bDetected) if(X.c("'WOZ'..FF0A0D0A ........ 'INFO'") && isWithin(X.U8(3),0x31,0x32)) {
|
|
1193
|
+
//ref https://applesaucefdc.com/woz/reference2/
|
|
1194
|
+
sName = "Apple II Applesauce disk image (.WOZ)"; sVersion = 'v'+X.SA(3,1);
|
|
1195
|
+
p = 0xC; meta = bad = '';
|
|
1196
|
+
while(p < X.Sz()) {
|
|
1197
|
+
var hkhd = X.SA(p,4), hksz = X.U32(p+4); p += 8;
|
|
1198
|
+
switch(hkhd) {
|
|
1199
|
+
case 'INFO':
|
|
1200
|
+
iV = X.U8(p); bDetected = true;
|
|
1201
|
+
dim = X.U8(p+1) == 1? '5¼"': X.U8(p+1) == 2? '3½"': '?';
|
|
1202
|
+
if(iV >= 2) ds = X.U8(p+37) == 1? ' SS': X.U8(p+37) == 2? ' DS':' ?'; else ds = '';
|
|
1203
|
+
sOption('disk:'+dim+ds);
|
|
1204
|
+
if(X.U8(p+2) == 1) sOption('write-protected');
|
|
1205
|
+
if(iV >= 2) {
|
|
1206
|
+
if(t=X.U8(p+42)) sOption(t,'min.RAM:','k');
|
|
1207
|
+
t = ''; fl = X.U16(p+40); if(!fl) t = '?'; if(fl & (1 << 0)) t = t.append('][');
|
|
1208
|
+
if(fl & (1 << 1)) t = t.append('][ Plus'); if(fl & (1 << 2)) t = t.append('//e');
|
|
1209
|
+
if(fl & (1 << 3)) t = t.append('//c'); if(fl & (1 << 4)) t = t.append('//e Enhanced');
|
|
1210
|
+
if(fl & (1 << 5)) t = t.append('IIgs'); if(fl & (1 << 6)) t = t.append('//c Plus');
|
|
1211
|
+
if(fl & (1 << 7)) t = t.append('///'); if(fl & (1 << 8)) t = t.append('/// Plus');
|
|
1212
|
+
sOption(t,'for Apple ');
|
|
1213
|
+
}
|
|
1214
|
+
break;
|
|
1215
|
+
case 'TMAP': case 'TRKS': case 'FLUX': case 'WRIT': break;
|
|
1216
|
+
case 'META': meta = X.SC(p,hksz,'UTF8').replace(/\x0A/g,",").replace(/\x09/g,":"); break
|
|
1217
|
+
}
|
|
1218
|
+
p += hksz;
|
|
1219
|
+
}
|
|
1220
|
+
if(p > X.Sz()) bad = bad.addIfNone('!short');
|
|
1221
|
+
//if(X.isDeepScan() && X.calculateCRC32(12,sz-12) != X.U32(8)) bad = bad.addIfNone('!badcrc');
|
|
1222
|
+
if(bad != '') sVersion = sVersion.appendS('/malformed'+bad, '/')
|
|
1223
|
+
if(X.isVerbose()) {
|
|
1224
|
+
sOptionT(addEllipsis(meta),'info:"','"');
|
|
1225
|
+
sOption(outSz(p), 'sz:');
|
|
1226
|
+
}
|
|
1227
|
+
}
|
|
1228
|
+
|
|
1229
|
+
// shaky heuristics follow
|
|
1230
|
+
if(X.isHeuristicScan()) {
|
|
1231
|
+
|
|
1232
|
+
function isZ80() {
|
|
1233
|
+
//from https://github.com/FuseEmulator/fuse-emulator-svn/blob/master/libspectrum/z80.c
|
|
1234
|
+
// & https://worldofspectrum.org/faq/reference/z80format.htm
|
|
1235
|
+
// basic header len = 30, v2ext = 23, v3ext = 54, xzxext = 55
|
|
1236
|
+
if(!extIs('z80')) return false;
|
|
1237
|
+
|
|
1238
|
+
nv = 0; joystick = hw = ''; const xhdr = 32; var pc = X.U16(6), srx = X.U8(37) & 0x80;
|
|
1239
|
+
if(!pc) {
|
|
1240
|
+
switch(X.U16(30)) { case 23: nv = 2; break; case 54: case 55: nv = 3; break; default: return false }
|
|
1241
|
+
co = '';
|
|
1242
|
+
switch(nv) {
|
|
1243
|
+
case 1: case 2:
|
|
1244
|
+
switch((X.U8(29)>>6) && 3) {
|
|
1245
|
+
case 0: joystick = 'cursor'; break; case 1: joystick = 'Kempston'; break;
|
|
1246
|
+
case 2: joystick = 'SinclairI2-L'; break; case 3: joystick = 'SinclairI2-R'
|
|
1247
|
+
} break;
|
|
1248
|
+
case 3:
|
|
1249
|
+
switch((X.U8(29)>>6) && 3) {
|
|
1250
|
+
case 0: joystick = 'cursor'; break; case 1: joystick = 'Kempston'; break; case 3: joystick = 'SinclairI2-R'; break;
|
|
1251
|
+
case 2: if(X.c("030F0308 03040302 0301",xhdr+32)) joystick = 'Sinclair2-L'; else joystick = 'custom';
|
|
1252
|
+
} break;
|
|
1253
|
+
default: return false
|
|
1254
|
+
}
|
|
1255
|
+
var tp = X.U8(xhdr+2), mgttp = X.U8(xhdr+51);
|
|
1256
|
+
if(tp < 7) {
|
|
1257
|
+
switch(nv) {
|
|
1258
|
+
case 2:
|
|
1259
|
+
switch(tp) {
|
|
1260
|
+
case 0: hw = 'ZX Spectrum '+(srx?'16k':'48k'); break;
|
|
1261
|
+
case 1: hw = 'ZX Spectrum '+(srx?'16':'48')+'k & Interface1'; break;
|
|
1262
|
+
case 2: hw = 'ZX Spectrum '+(srx?'16':'48')+'k & SamRam'; break;
|
|
1263
|
+
case 3: hw = 'ZX Spectrum '+(srx?'+2':'128k'); break;
|
|
1264
|
+
case 4: hw = 'ZX Spectrum '+(srx?'+2':'128k')+' & Interface1'; break;
|
|
1265
|
+
default: return false
|
|
1266
|
+
}
|
|
1267
|
+
return true;
|
|
1268
|
+
case 3:
|
|
1269
|
+
const mgttps = ['MGT EPSON DISCiPLE','MGT HP DISCiPLE','MGT +D'];
|
|
1270
|
+
mgttp = [0,1,16].indexOf(mgttp);
|
|
1271
|
+
switch(tp) {
|
|
1272
|
+
case 0: hw = 'ZX Spectrum '+(srx?'16k':'48k'); break;
|
|
1273
|
+
case 1: hw = 'ZX Spectrum '+(srx?'16':'48')+'k & Interface1'; break;
|
|
1274
|
+
case 2: hw = 'ZX Spectrum '+(srx?'16':'48')+'k & SamRam'; break;
|
|
1275
|
+
case 3: if(mgttp < 0) return false;
|
|
1276
|
+
hw = 'ZX Spectrum '+(srx?'16':'48')+'k & '+mgttps[mgttp]+' MGT'; break;
|
|
1277
|
+
case 4: hw = 'ZX Spectrum '+(srx?'+2':'128k'); break;
|
|
1278
|
+
case 5: hw = 'ZX Spectrum '+(srx?'+2':'128k')+' & Interface1'; break;
|
|
1279
|
+
case 6: if(mgttp < 0) return false;
|
|
1280
|
+
hw = 'ZX Spectrum '+(srx?'+2':'128k')+' & '+mgttps[mgttp]+' MGT'; break;
|
|
1281
|
+
default: return false //won't happen
|
|
1282
|
+
}
|
|
1283
|
+
break;
|
|
1284
|
+
default: return false //won't happen
|
|
1285
|
+
}
|
|
1286
|
+
} else {
|
|
1287
|
+
switch(tp) {
|
|
1288
|
+
case 7: case 8: hw = 'ZX Spectrum '(srx?'+2A':'+3'); break; case 9: hw = 'Pentagon 128+'; break;
|
|
1289
|
+
case 10: hw = 'Scorpion ZS-256'; break; case 12: hw = 'ZX Spectrum +2'; break;
|
|
1290
|
+
case 13: hw = 'ZX Spectrum +2A'; break; case 14: hw = 'Timex Sinclair TC-2048'; break;
|
|
1291
|
+
case 15: hw = 'Timex Sinclair TC-2068'; case 128: hw = 'Timex Sinclair TS-2068'; break;
|
|
1292
|
+
default: return false
|
|
1293
|
+
}
|
|
1294
|
+
}
|
|
1295
|
+
if(X.U8(37) & 0x44) hw += ' + Fuller Box'; else if(X.U8(37) & 4) hw += ' + Melodik';
|
|
1296
|
+
} else {
|
|
1297
|
+
nv = 1; hw = 'ZX Spectrum 48k'; co = X.U8(12)&0x20 ? 'compressed,' : '';
|
|
1298
|
+
switch((X.U8(29)>>6) && 3) {
|
|
1299
|
+
case 0: joystick = 'cursor'; break; case 1: joystick = 'Kempston'; break;
|
|
1300
|
+
case 2: joystick = 'SinclairI2-L'; break; case 3: joystick = 'SinclairI2-R'
|
|
1301
|
+
}
|
|
1302
|
+
}
|
|
1303
|
+
return true
|
|
1304
|
+
}
|
|
1305
|
+
if(isZ80()) _setResult('ROM','ZX Spectrum state snapshot (.Z80)','v'+nv,
|
|
1306
|
+
hw+','+co+'joystick: '+joystick
|
|
1307
|
+
)
|
|
1308
|
+
|
|
1309
|
+
// if(extIs('bin'))
|
|
1310
|
+
// if(X.c("FA33C08E") || X.c("FA33C08E",0x455E0)) { //doens't catch all
|
|
1311
|
+
// _setResult("ROM","Palm OS disk image (.BIN)",'','')
|
|
1312
|
+
// }
|
|
1313
|
+
|
|
1314
|
+
if(extIs('rom'))
|
|
1315
|
+
if((X.c("4142") || X.c("4142",0x4000) || X.c("41421040",0x3C000)
|
|
1316
|
+
|| X.c("0002204810A8D08055E0A8B088800280",0x7FF0)) // the weirdly specific one for Eagle Fighter (JP).rom
|
|
1317
|
+
&& [0x2000,0x4000,0x8000,0xC000,0x10000,
|
|
1318
|
+
0x20000,0x40000,0x60000,0x80000,0x100000].indexOf(X.Sz()) >= 0) {
|
|
1319
|
+
_setResult("ROM","Microsoft MSX/MSX 2 cartridge (.ROM)",'','')
|
|
1320
|
+
}
|
|
1321
|
+
//else {}
|
|
1322
|
+
|
|
1323
|
+
}
|
|
1324
|
+
|
|
1325
|
+
return result()
|
|
1326
|
+
}
|
|
1327
|
+
/* beautify ignore:end */
|