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.
Files changed (2917) hide show
  1. db/.vscode/about.txt +1 -0
  2. db/.vscode/settings.json +5 -0
  3. db/ACE +48 -0
  4. db/APK/APKProtect.2.sg +15 -0
  5. db/APK/APKProtector.2.sg +20 -0
  6. db/APK/AlibabaProtection.2.sg +15 -0
  7. db/APK/AndroidRepublic.2.sg +17 -0
  8. db/APK/ApktoolPlus.6.sg +12 -0
  9. db/APK/AppGuard.2.sg +17 -0
  10. db/APK/AppSolid.2.sg +12 -0
  11. db/APK/BaiduProtection.2.sg +18 -0
  12. db/APK/BangBangReinforcement.2.sg +27 -0
  13. db/APK/BangcleProtection.2.sg +14 -0
  14. db/APK/DXShield.2.sg +12 -0
  15. db/APK/DexProtector.2.sg +23 -0
  16. db/APK/DingXiangReinforcement.2.sg +14 -0
  17. db/APK/EasyShield.2.sg +19 -0
  18. db/APK/Gemalto.2.sg +19 -0
  19. db/APK/Hdus-Wjus.2.sg +14 -0
  20. db/APK/IL2CPP.4.sg +14 -0
  21. db/APK/Ijiami.2.sg +24 -0
  22. db/APK/Jiagu.2.sg +17 -0
  23. db/APK/Kiro.2.sg +12 -0
  24. db/APK/Kiwi.2.sg +23 -0
  25. db/APK/Kony.2.sg +12 -0
  26. db/APK/LIAPP.2.sg +16 -0
  27. db/APK/MedusaH.2.sg +12 -0
  28. db/APK/MobileTencentProtect.2.sg +14 -0
  29. db/APK/NQShield.2.sg +15 -0
  30. db/APK/NagaPTProtection.2.sg +14 -0
  31. db/APK/OLLVM-TTL.2.sg +14 -0
  32. db/APK/Obfuscapk.2.sg +14 -0
  33. db/APK/PackageName.1.sg +15 -0
  34. db/APK/PangXie.2.sg +14 -0
  35. db/APK/ProGuard.2.sg +12 -0
  36. db/APK/QDBH.2.sg +12 -0
  37. db/APK/Qihoo360Protection.2.sg +15 -0
  38. db/APK/SandHook.4.sg +16 -0
  39. db/APK/SecNeo.2.sg +19 -0
  40. db/APK/SecShell.2.sg +15 -0
  41. db/APK/SingleJar.3.sg +10 -0
  42. db/APK/TencentLegu.2.sg +18 -0
  43. db/APK/TencentProtection.2.sg +14 -0
  44. db/APK/TencentSecurity.2.sg +17 -0
  45. db/APK/TongfuShield.2.sg +21 -0
  46. db/APK/UnicomSDK.4.sg +21 -0
  47. db/APK/Unity.4.sg +12 -0
  48. db/APK/VDog.2.sg +16 -0
  49. db/APK/Yidun.2.sg +16 -0
  50. db/APK/_APK.0.sg +15 -0
  51. db/APK/_init +2 -0
  52. db/APK/iCrypt.2.sg +24 -0
  53. db/Amiga/DeliTracker.1.sg +14 -0
  54. db/Amiga/_Amiga.0.sg +15 -0
  55. db/Amiga/_init +2 -0
  56. db/Archive/_Archive.0.sg +17 -0
  57. db/Archive/_init +2 -0
  58. db/Binary/Amiga_loadable.1.sg +16 -0
  59. db/Binary/Empty.1.sg +11 -0
  60. db/Binary/Img.UDIF.1.sg +15 -0
  61. db/Binary/RIFF.1.sg +19 -0
  62. db/Binary/U-Boot.1.sg +321 -0
  63. db/Binary/Universal_Binary.1.sg +17 -0
  64. db/Binary/Video.FLV.1.sg +16 -0
  65. db/Binary/__MiniExtensionsHeuristic_By_DosX.7.sg +184 -0
  66. db/Binary/__MiniJavaScriptHeuristic_By_DosX.7.sg +44 -0
  67. db/Binary/_init +4 -0
  68. db/Binary/archive.7z.1.sg +14 -0
  69. db/Binary/archive.ACE.1.sg +10 -0
  70. db/Binary/archive.AR.1.sg +85 -0
  71. db/Binary/archive.ARC.1.sg +16 -0
  72. db/Binary/archive.ARJ.1.sg +9 -0
  73. db/Binary/archive.ASAR.sg +13 -0
  74. db/Binary/archive.BZip.1.sg +20 -0
  75. db/Binary/archive.CFL3.1.sg +25 -0
  76. db/Binary/archive.Cab.1.sg +25 -0
  77. db/Binary/archive.DEFLATE.1.sg +186 -0
  78. db/Binary/archive.DotBundle.sg +9 -0
  79. db/Binary/archive.LRZ.1.sg +57 -0
  80. db/Binary/archive.LZ4.1.sg +42 -0
  81. db/Binary/archive.LZOP.1.sg +13 -0
  82. db/Binary/archive.MS_Compound.1.sg +24 -0
  83. db/Binary/archive.PEA.1.sg +65 -0
  84. db/Binary/archive.RAR.1.sg +9 -0
  85. db/Binary/archive.Unity.1.sg +74 -0
  86. db/Binary/archive.ZIP.1.sg +10 -0
  87. db/Binary/archive.ZLIB.1.sg +14 -0
  88. db/Binary/archive.ZPAQ.1.sg +15 -0
  89. db/Binary/archive.btoa.1.sg +14 -0
  90. db/Binary/archives.1.sg +299 -0
  91. db/Binary/archives.ancient.sg +506 -0
  92. db/Binary/audio.1.sg +12079 -0
  93. db/Binary/audio.8svx.1.sg +16 -0
  94. db/Binary/audio.ACM.1.sg +22 -0
  95. db/Binary/audio.AU.1.sg +49 -0
  96. db/Binary/audio.DSS.1.sg +57 -0
  97. db/Binary/audio.FSB.1.sg +105 -0
  98. db/Binary/audio.VOC.1.sg +97 -0
  99. db/Binary/audio.WAV.1.sg +320 -0
  100. db/Binary/audio.mp3.2.sg +189 -0
  101. db/Binary/backup_images.1.sg +27 -0
  102. db/Binary/bin.AAALogo.1.sg +16 -0
  103. db/Binary/bin.Atari_ST.1.sg +12 -0
  104. db/Binary/bin.GameMaps.1.sg +13 -0
  105. db/Binary/bin.GuitarPro.1.sg +26 -0
  106. db/Binary/bin.Hermes.1.sg +16 -0
  107. db/Binary/bin.IDA.1.sg +78 -0
  108. db/Binary/bin.ISO_9660.1.sg +13 -0
  109. db/Binary/bin.JMDL.1.sg +34 -0
  110. db/Binary/bin.JSC.1.sg +88 -0
  111. db/Binary/bin.Java.1.sg +152 -0
  112. db/Binary/bin.KeePass.1.sg +22 -0
  113. db/Binary/bin.LUA.1.sg +48 -0
  114. db/Binary/bin.NVA.1.sg +15 -0
  115. db/Binary/bin.PDB.1.sg +16 -0
  116. db/Binary/bin.PEFF.1.sg +11 -0
  117. db/Binary/bin.PalmFile.1.sg +104 -0
  118. db/Binary/bin.Python.1.sg +628 -0
  119. db/Binary/bin.RPGMaker2Kdata.1.sg +242 -0
  120. db/Binary/bin.SWF.1.sg +26 -0
  121. db/Binary/bin.WAD.1.sg +19 -0
  122. db/Binary/bin.WindowsIconCacheDB.1.sg +34 -0
  123. db/Binary/bin.ZBMP.1.sg +16 -0
  124. db/Binary/cad.DWG.1.sg +63 -0
  125. db/Binary/cert.WinAuth.1.sg +13 -0
  126. db/Binary/database.SQLite.1.sg +45 -0
  127. db/Binary/databases.1.sg +117 -0
  128. db/Binary/debugData.1.sg +68 -0
  129. db/Binary/doc.CHM.1.sg +18 -0
  130. db/Binary/doc.DJVU.1.sg +113 -0
  131. db/Binary/doc.HLP.1.sg +11 -0
  132. db/Binary/doc.PDF.1.sg +16 -0
  133. db/Binary/doc.RTF.1.sg +13 -0
  134. db/Binary/donut.1.sg +49 -0
  135. db/Binary/font.ADOBE.1.sg +35 -0
  136. db/Binary/font.BMF.1.sg +63 -0
  137. db/Binary/format.MS-DBG.1.sg +19 -0
  138. db/Binary/format.MS-PST.sg +15 -0
  139. db/Binary/format.MS-VHD.1.sg +61 -0
  140. db/Binary/format.MS-VHDX.sg +16 -0
  141. db/Binary/format.MS-WIM.1.sg +43 -0
  142. db/Binary/format.MS-XNA.1.sg +80 -0
  143. db/Binary/format.UE.1.sg +36 -0
  144. db/Binary/format.VDI.1.sg +40 -0
  145. db/Binary/formats.1.sg +90 -0
  146. db/Binary/graphics.1.sg +37 -0
  147. db/Binary/image.ANI.1.sg +26 -0
  148. db/Binary/image.BMP.1.sg +48 -0
  149. db/Binary/image.CUR.1.sg +55 -0
  150. db/Binary/image.DDS.1.sg +26 -0
  151. db/Binary/image.EPS.1.sg +26 -0
  152. db/Binary/image.GIF.1.sg +95 -0
  153. db/Binary/image.ICO.1.sg +57 -0
  154. db/Binary/image.JNG.1.sg +34 -0
  155. db/Binary/image.JPEG.1.sg +52 -0
  156. db/Binary/image.JPEG.DQT.4.sg +13 -0
  157. db/Binary/image.JPEG.Tools.3.sg +53 -0
  158. db/Binary/image.JPEG.camera.2.sg +16 -0
  159. db/Binary/image.JPEG.comment.4.sg +16 -0
  160. db/Binary/image.JPEGXL.1.sg +15 -0
  161. db/Binary/image.KTX.1.sg +44 -0
  162. db/Binary/image.LBM.1.sg +69 -0
  163. db/Binary/image.MNG.1.sg +19 -0
  164. db/Binary/image.PCX.1.sg +69 -0
  165. db/Binary/image.PNG.1.sg +165 -0
  166. db/Binary/image.PSD.1.sg +63 -0
  167. db/Binary/image.PVR.1.sg +29 -0
  168. db/Binary/image.QOI.1.sg +36 -0
  169. db/Binary/image.TGA.1.sg +149 -0
  170. db/Binary/image.TIFF.1.sg +186 -0
  171. db/Binary/image.XAR.1.sg +31 -0
  172. db/Binary/img.VM.1.sg +13 -0
  173. db/Binary/overlays.6.sg +367 -0
  174. db/Binary/rom.1.sg +1327 -0
  175. db/Binary/shellcode.pe_to_shellcode.1.sg +107 -0
  176. db/Binary/srdi-monoxgas.1.sg +128 -0
  177. db/Binary/text.HTML.1.sg +14 -0
  178. db/Binary/text.Pascal.1.sg +19 -0
  179. db/Binary/text.RegistryFile.sg +20 -0
  180. db/Binary/text.Shell.1.sg +14 -0
  181. db/Binary/text.XML.1.sg +18 -0
  182. db/Binary/text.c.1.sg +35 -0
  183. db/Binary/text.pdb.1.sg +40 -0
  184. db/Binary/text.plaintext.3.sg +25 -0
  185. db/Binary/text.python.1.sg +17 -0
  186. db/Binary/text.script.2.sg +16 -0
  187. db/Binary/video.MP4.1.sg +16 -0
  188. db/Borland +19 -0
  189. db/COM/32-bit_crypt.2.sg +13 -0
  190. db/COM/4kZIP.2.sg +13 -0
  191. db/COM/8086_Forth_83.4.sg +14 -0
  192. db/COM/A3E.1.sg +13 -0
  193. db/COM/ABK-Scrambler.2.sg +12 -0
  194. db/COM/ACE_Scrambler.2.sg +34 -0
  195. db/COM/ACiDDRAW.1.sg +16 -0
  196. db/COM/ANS2ALL.1.sg +18 -0
  197. db/COM/ARF_AV_Inject.1.sg +14 -0
  198. db/COM/ASC2COM.1.sg +25 -0
  199. db/COM/ASIC-Basic.4.sg +21 -0
  200. db/COM/AVAST-Protect.2.sg +13 -0
  201. db/COM/AVPACK.2.sg +14 -0
  202. db/COM/AdFlt.2.sg +17 -0
  203. db/COM/Anti-Lamer_Cryptor.2.sg +14 -0
  204. db/COM/Anti-hack_encryption_system.2.sg +13 -0
  205. db/COM/AutoCracker.1.sg +14 -0
  206. db/COM/BAT2EXEC.2.sg +18 -0
  207. db/COM/BIN-Lock.2.sg +14 -0
  208. db/COM/BatLite.4.sg +13 -0
  209. db/COM/Best_Protection_Kit-B.2.sg +16 -0
  210. db/COM/Borland_C++.4.sg +17 -0
  211. db/COM/Budokan.1.sg +13 -0
  212. db/COM/C-crypt.2.sg +14 -0
  213. db/COM/CC#3.2.sg +13 -0
  214. db/COM/CC.2.sg +22 -0
  215. db/COM/CC286.2.sg +14 -0
  216. db/COM/CCC.2.sg +16 -0
  217. db/COM/CHECKPRG.2.sg +13 -0
  218. db/COM/CNT.2.sg +13 -0
  219. db/COM/COM-Protect.2.sg +16 -0
  220. db/COM/COM-Protection.2.sg +13 -0
  221. db/COM/COM2TXT.1.sg +13 -0
  222. db/COM/COMCRYPT.2.sg +23 -0
  223. db/COM/COMPACK.2.sg +32 -0
  224. db/COM/COMPROTECT.2.sg +14 -0
  225. db/COM/COM_Sccrambler.2.sg +14 -0
  226. db/COM/COP.2.sg +14 -0
  227. db/COM/CPAV.1.sg +13 -0
  228. db/COM/CRX2COM.1.sg +12 -0
  229. db/COM/Character_Intro_Engine.1.sg +16 -0
  230. db/COM/Cheat_packer.2.sg +13 -0
  231. db/COM/CodeLock.2.sg +14 -0
  232. db/COM/ComProt.2.sg +13 -0
  233. db/COM/ComProtector.2.sg +18 -0
  234. db/COM/Comlock.2.sg +19 -0
  235. db/COM/CrAcKeR.2.sg +14 -0
  236. db/COM/Crack2EXE.1.sg +14 -0
  237. db/COM/CryptCom.2.sg +18 -0
  238. db/COM/CryptGeneric.2.sg +12 -0
  239. db/COM/Crypt_(Dismember).2.sg +16 -0
  240. db/COM/Crypto-King.2.sg +13 -0
  241. db/COM/CyberWare_Packer.2.sg +13 -0
  242. db/COM/DCFR.2.sg +13 -0
  243. db/COM/DIGPAK.1.sg +16 -0
  244. db/COM/DOC2COM.1.sg +13 -0
  245. db/COM/DOC2PAGE.1.sg +13 -0
  246. db/COM/DS-CRP.2.sg +16 -0
  247. db/COM/Datalight_C.4.sg +15 -0
  248. db/COM/Deep_Crypter.2.sg +14 -0
  249. db/COM/Deeper.2.sg +17 -0
  250. db/COM/Diet.2.sg +26 -0
  251. db/COM/Dn.COM_Cruncher.2.sg +13 -0
  252. db/COM/E2C-Scrambler.2.sg +13 -0
  253. db/COM/E2C.1.sg +16 -0
  254. db/COM/E2C1.2.sg +13 -0
  255. db/COM/EPW.2.sg +14 -0
  256. db/COM/EXE2COM.1.sg +72 -0
  257. db/COM/EXETools.2.sg +22 -0
  258. db/COM/EXETools_EXE2COM.1.sg +16 -0
  259. db/COM/Easy!-C.4.sg +13 -0
  260. db/COM/Entropy_Coder.2.sg +13 -0
  261. db/COM/ExOM.2.sg +14 -0
  262. db/COM/FCRYPT.2.sg +14 -0
  263. db/COM/FIXCRK.1.sg +13 -0
  264. db/COM/Fig-FORTH.4.sg +13 -0
  265. db/COM/ForthCMP.2.sg +23 -0
  266. db/COM/ForthCMP.4.sg +18 -0
  267. db/COM/FromBAT.1.sg +18 -0
  268. db/COM/GOAT.2.sg +19 -0
  269. db/COM/GP-FORTH.4.sg +14 -0
  270. db/COM/Guardian_Angel.2.sg +28 -0
  271. db/COM/HDKPROTC.2.sg +13 -0
  272. db/COM/HYPDOC.1.sg +13 -0
  273. db/COM/HackStop.2.sg +19 -0
  274. db/COM/ICE.1.sg +13 -0
  275. db/COM/IMMUN.1.sg +14 -0
  276. db/COM/Inbuild_Encryption.2.sg +14 -0
  277. db/COM/IntroC0der.1.sg +13 -0
  278. db/COM/J0B_cryptor.2.sg +13 -0
  279. db/COM/Keygen_crypt.2.sg +14 -0
  280. db/COM/Khrome_Crypt.2.sg +14 -0
  281. db/COM/LAME_GG.2.sg +12 -0
  282. db/COM/LAMPROT.2.sg +13 -0
  283. db/COM/LGLZ.2.sg +14 -0
  284. db/COM/LHA.1.sg +16 -0
  285. db/COM/LHarc_SFX.1.sg +16 -0
  286. db/COM/Lattice_C.4.sg +32 -0
  287. db/COM/List.1.sg +21 -0
  288. db/COM/Lock-Master.2.sg +14 -0
  289. db/COM/MASK.2.sg +26 -0
  290. db/COM/MCLock.2.sg +13 -0
  291. db/COM/MESS.2.sg +13 -0
  292. db/COM/MICRO-C.4.sg +16 -0
  293. db/COM/MIDPAK.1.sg +13 -0
  294. db/COM/MINIFORTH.4.sg +14 -0
  295. db/COM/MSCC.2.sg +14 -0
  296. db/COM/MakeRead.1.sg +14 -0
  297. db/COM/Maveriks_C0der.2.sg +16 -0
  298. db/COM/MegaShield.2.sg +14 -0
  299. db/COM/Microsoft_C.4.sg +13 -0
  300. db/COM/Microsoft_RTL.3.sg +16 -0
  301. db/COM/Microxor.2.sg +13 -0
  302. db/COM/MoonRock.2.sg +14 -0
  303. db/COM/NH.2.sg +13 -0
  304. db/COM/NetCode.1.sg +18 -0
  305. db/COM/NetRun.1.sg +13 -0
  306. db/COM/NoAV.2.sg +13 -0
  307. db/COM/Nodebug.2.sg +14 -0
  308. db/COM/ONLINE-HELP.1.sg +13 -0
  309. db/COM/OUTFORTH.4.sg +13 -0
  310. db/COM/PBFC.2.sg +14 -0
  311. db/COM/PCOM.2.sg +14 -0
  312. db/COM/PCRYPT.2.sg +14 -0
  313. db/COM/PCVault-Protect.2.sg +13 -0
  314. db/COM/PC_FORTH.4.sg +13 -0
  315. db/COM/PKLITE.2.sg +29 -0
  316. db/COM/PKZip.1.sg +18 -0
  317. db/COM/PRO-PACK.2.sg +21 -0
  318. db/COM/PROTECT.2.sg +67 -0
  319. db/COM/PTP.2.sg +16 -0
  320. db/COM/PU-Cryptor.2.sg +25 -0
  321. db/COM/PassCOM.2.sg +13 -0
  322. db/COM/Phrozen_Crew_cryptor.2.sg +13 -0
  323. db/COM/ProtEXE.2.sg +14 -0
  324. db/COM/R-Crypt.2.sg +19 -0
  325. db/COM/RCC.2.sg +25 -0
  326. db/COM/RDT_Compressor2.2.sg +13 -0
  327. db/COM/RDT_ENC_3.2.sg +13 -0
  328. db/COM/RELETTER.1.sg +14 -0
  329. db/COM/RMCOBOL.4.sg +16 -0
  330. db/COM/RSCC.2.sg +65 -0
  331. db/COM/SCC.2.sg +13 -0
  332. db/COM/SCRAM.2.sg +14 -0
  333. db/COM/SCRE2B.2.sg +14 -0
  334. db/COM/SCRNCH.2.sg +22 -0
  335. db/COM/SDW.2.sg +34 -0
  336. db/COM/SHOWV20.1.sg +18 -0
  337. db/COM/SHOW_IT.1.sg +13 -0
  338. db/COM/SHRINK.2.sg +14 -0
  339. db/COM/SP-FORTH.4.sg +18 -0
  340. db/COM/SPHINX_C--.4.sg +24 -0
  341. db/COM/Scramb.2.sg +18 -0
  342. db/COM/Scrypt!.2.sg +18 -0
  343. db/COM/Scrypt.2.sg +14 -0
  344. db/COM/SelfCrypt.2.sg +13 -0
  345. db/COM/SelfProtect386.2.sg +12 -0
  346. db/COM/Shadow.2.sg +14 -0
  347. db/COM/Shadow_COM_encryptor.2.sg +14 -0
  348. db/COM/Six-2-Four.2.sg +18 -0
  349. db/COM/SnoopStop.2.sg +14 -0
  350. db/COM/SoftGuard.1.sg +13 -0
  351. db/COM/Steplock.2.sg +14 -0
  352. db/COM/Surpas-86.4.sg +14 -0
  353. db/COM/Sydex.2.sg +13 -0
  354. db/COM/TCEC.2.sg +14 -0
  355. db/COM/TCOM.4.sg +16 -0
  356. db/COM/TPACK.2.sg +18 -0
  357. db/COM/TPC_Scramble.2.sg +12 -0
  358. db/COM/TXT2COM.1.sg +22 -0
  359. db/COM/TXTmaker.1.sg +14 -0
  360. db/COM/Text_Header.1.sg +14 -0
  361. db/COM/The_DRAW.1.sg +15 -0
  362. db/COM/Tiny_Xor.2.sg +14 -0
  363. db/COM/TurboBAT.1.sg +21 -0
  364. db/COM/Turbo_C++.4.sg +13 -0
  365. db/COM/Turbo_C.4.sg +27 -0
  366. db/COM/Turbo_Pascal.4.sg +30 -0
  367. db/COM/Txt2Exe.1.sg +14 -0
  368. db/COM/UNIFORTH.4.sg +13 -0
  369. db/COM/UPX.2.sg +22 -0
  370. db/COM/USCC.2.sg +14 -0
  371. db/COM/UnPackStop.2.sg +17 -0
  372. db/COM/UniCrypt.1.sg +14 -0
  373. db/COM/Unknown_cryptors.2.sg +74 -0
  374. db/COM/VGA_font_loader.1.sg +13 -0
  375. db/COM/VSF&K_protection.2.sg +13 -0
  376. db/COM/VSS.1.sg +13 -0
  377. db/COM/Vacsina.4.sg +12 -0
  378. db/COM/Venus.2.sg +12 -0
  379. db/COM/Vienna-C.4.sg +12 -0
  380. db/COM/Watcom_C.4.sg +37 -0
  381. db/COM/WiZ_Cryptor.2.sg +14 -0
  382. db/COM/XCK2COM.1.sg +12 -0
  383. db/COM/XE.2.sg +13 -0
  384. db/COM/XORCOPY.2.sg +14 -0
  385. db/COM/XPACK.2.sg +22 -0
  386. db/COM/XcomOR.2.sg +24 -0
  387. db/COM/XoReR.2.sg +26 -0
  388. db/COM/XorCom.2.sg +14 -0
  389. db/COM/Zbikowski_C.4.sg +13 -0
  390. db/COM/Zortech_C.4.sg +26 -0
  391. db/COM/_init +2 -0
  392. db/COM/aPACK.2.sg +22 -0
  393. db/COM/aPatch.2.sg +13 -0
  394. db/COM/acBBS_protection.2.sg +13 -0
  395. db/COM/com-crypt.2.sg +16 -0
  396. db/COM/com_RLE_packer.2.sg +15 -0
  397. db/COM/cryptors.2.sg +214 -0
  398. db/COM/envelope.2.sg +13 -0
  399. db/COM/fds-cp.2.sg +13 -0
  400. db/COM/integrity_checker.1.sg +13 -0
  401. db/COM/mCrypt.2.sg +14 -0
  402. db/COM/muSIMP-83.4.sg +14 -0
  403. db/COM/packers.2.sg +26 -0
  404. db/COM/patchers.1.sg +100 -0
  405. db/COM/protection.2.sg +13 -0
  406. db/COM/readme.com.1.sg +12 -0
  407. db/COM/simple_ansi_viewer.1.sg +12 -0
  408. db/COM/simple_self-displayer.1.sg +12 -0
  409. db/COM/spirit.2.sg +22 -0
  410. db/COM/x3.2.sg +18 -0
  411. db/CurIcoBPP +14 -0
  412. db/DEX/AESObfuscator.2.sg +14 -0
  413. db/DEX/APKProtect.2.sg +12 -0
  414. db/DEX/AlibabaProtection.2.sg +12 -0
  415. db/DEX/AllatoriObfuscator.2.sg +14 -0
  416. db/DEX/ApkEncryptor.2.sg +12 -0
  417. db/DEX/ApkToolPlus.6.sg +12 -0
  418. db/DEX/AppSolid.2.sg +12 -0
  419. db/DEX/BaiduProtection.2.sg +12 -0
  420. db/DEX/BangcleProtection.2.sg +12 -0
  421. db/DEX/EasyProtector.2.sg +12 -0
  422. db/DEX/Jiagu.2.sg +12 -0
  423. db/DEX/Kiwi.2.sg +12 -0
  424. db/DEX/LIAPP.2.sg +12 -0
  425. db/DEX/MedusaH.2.sg +12 -0
  426. db/DEX/ModGuard.2.sg +16 -0
  427. db/DEX/NQShield.2.sg +12 -0
  428. db/DEX/NagaPTProtection.2.sg +12 -0
  429. db/DEX/PangXie.2.sg +12 -0
  430. db/DEX/ProGuard.2.sg +12 -0
  431. db/DEX/QDBH.2.sg +12 -0
  432. db/DEX/SecNeo.2.sg +12 -0
  433. db/DEX/TencentProtection.2.sg +12 -0
  434. db/DEX/UnicomSDK.4.sg +12 -0
  435. db/DEX/VDog.2.sg +12 -0
  436. db/DEX/Yidun.2.sg +12 -0
  437. db/DEX/_DEX.0.sg +15 -0
  438. db/DEX/_init +2 -0
  439. db/DOS16M/_DOS16M.0.sg +15 -0
  440. db/DOS16M/_init +2 -0
  441. db/DOS4G/_DOS4G.0.sg +15 -0
  442. db/DOS4G/_init +2 -0
  443. db/ELF/Borland_Kylix.4.sg +19 -0
  444. db/ELF/Burneye.2.sg +12 -0
  445. db/ELF/DMD.4.sg +31 -0
  446. db/ELF/ELFCrypt.2.sg +12 -0
  447. db/ELF/Ezuri.1.sg +30 -0
  448. db/ELF/FASM.4.sg +23 -0
  449. db/ELF/Flexlm.4.sg +15 -0
  450. db/ELF/Free_Pascal.4.sg +46 -0
  451. db/ELF/GLIBC.3.sg +49 -0
  452. db/ELF/Go.4.sg +126 -0
  453. db/ELF/HASP.1.sg +28 -0
  454. db/ELF/HP_C++.4.sg +12 -0
  455. db/ELF/IBM_AIX_kernel_loader.sg +18 -0
  456. db/ELF/Oracle_Solaris_Studio.4.sg +47 -0
  457. db/ELF/PyInstaller.2.sg +24 -0
  458. db/ELF/QT.3.sg +44 -0
  459. db/ELF/Rust.4.sg +25 -0
  460. db/ELF/SDL.3.sg +35 -0
  461. db/ELF/UPX.2.sg +57 -0
  462. db/ELF/VBCC.4.sg +17 -0
  463. db/ELF/Virbox.2.sg +17 -0
  464. db/ELF/Watcom.4.sg +15 -0
  465. db/ELF/Zig.4.sg +22 -0
  466. db/ELF/_ELF.0.sg +15 -0
  467. db/ELF/_init +2 -0
  468. db/ELF/gcc.4.sg +95 -0
  469. db/ELF/gdc.4.sg +13 -0
  470. db/ELF/ldc.4.sg +34 -0
  471. db/ELF/movfuscator.4.sg +19 -0
  472. db/FASM +9 -0
  473. db/FPC +11 -0
  474. db/IPA/_init +2 -0
  475. db/JAR/SingleJar.3.sg +13 -0
  476. db/JAR/_JAR.0.sg +15 -0
  477. db/JAR/_init +2 -0
  478. db/LE/UPX.1.sg +85 -0
  479. db/LE/Watcom_C.4.sg +24 -0
  480. db/LE/_LE.0.sg +15 -0
  481. db/LE/_init +2 -0
  482. db/LX/Watcom C.4.sg +51 -0
  483. db/LX/_LX.0.sg +15 -0
  484. db/LX/_init +2 -0
  485. db/MACH/Carbon.3.sg +13 -0
  486. db/MACH/Cocoa.3.sg +11 -0
  487. db/MACH/Delphi.4.sg +21 -0
  488. db/MACH/QT.3.sg +18 -0
  489. db/MACH/UPX.2.sg +15 -0
  490. db/MACH/Virbox.2.sg +13 -0
  491. db/MACH/WebKit.3.sg +11 -0
  492. db/MACH/Zig.4.sg +22 -0
  493. db/MACH/_MACH.0.sg +15 -0
  494. db/MACH/_init +2 -0
  495. db/MACH/gcc.4.sg +35 -0
  496. db/MACH/java.3.sg +15 -0
  497. db/MACHOFAT/_MACHOFAT.0.sg +15 -0
  498. db/MACHOFAT/_init +2 -0
  499. db/MFC +14 -0
  500. db/MSDOS/$pirit.2.sg +47 -0
  501. db/MSDOS/32stub.0a.sg +13 -0
  502. db/MSDOS/ABKprot.2.sg +12 -0
  503. db/MSDOS/ACE.6.sg +10 -0
  504. db/MSDOS/AEP.2.sg +12 -0
  505. db/MSDOS/AINEXE.2.sg +19 -0
  506. db/MSDOS/ALEC.2.sg +14 -0
  507. db/MSDOS/ANS2ALL.1.sg +14 -0
  508. db/MSDOS/ARC.1.sg +23 -0
  509. db/MSDOS/ARJ.1.sg +14 -0
  510. db/MSDOS/ASIC-Basic.4.sg +18 -0
  511. db/MSDOS/AVAST_CRC-Check.2.sg +14 -0
  512. db/MSDOS/AVPACK.2.sg +16 -0
  513. db/MSDOS/Ada89.4.sg +13 -0
  514. db/MSDOS/Adys_COM2EXE.1.sg +11 -0
  515. db/MSDOS/Adys_Glue.2.sg +15 -0
  516. db/MSDOS/Aluwain.2.sg +12 -0
  517. db/MSDOS/Amisetup.1.sg +13 -0
  518. db/MSDOS/Anti-LAME.2.sg +13 -0
  519. db/MSDOS/Anti-hack_encryption_system.2.sg +13 -0
  520. db/MSDOS/Antilame.2.sg +14 -0
  521. db/MSDOS/ApBasic.4.sg +17 -0
  522. db/MSDOS/AutoHack.1.sg +12 -0
  523. db/MSDOS/Aztec_C-86.4.sg +40 -0
  524. db/MSDOS/BAT2EXEC.4.sg +16 -0
  525. db/MSDOS/BSTAR_FORTH.4.sg +13 -0
  526. db/MSDOS/BatLite.4.sg +13 -0
  527. db/MSDOS/BetterBASIC.4.sg +13 -0
  528. db/MSDOS/Bitlok.2.sg +14 -0
  529. db/MSDOS/Black_fist.2.sg +13 -0
  530. db/MSDOS/Blinker.0a.sg +25 -0
  531. db/MSDOS/Borland_C.4.sg +89 -0
  532. db/MSDOS/Borland_Pascal.4.sg +89 -0
  533. db/MSDOS/Borland_RTM.0a.sg +33 -0
  534. db/MSDOS/Borland_TDS.sg +14 -0
  535. db/MSDOS/Borland_TLINK.5.sg +13 -0
  536. db/MSDOS/Bunny.2.sg +14 -0
  537. db/MSDOS/CC.2.sg +18 -0
  538. db/MSDOS/CEPexe.2.sg +12 -0
  539. db/MSDOS/CERBERUS.2.sg +12 -0
  540. db/MSDOS/CII-C.4.sg +18 -0
  541. db/MSDOS/COMCRYPT.2.sg +15 -0
  542. db/MSDOS/COMPACK.2.sg +15 -0
  543. db/MSDOS/COMPROTECT.2.sg +14 -0
  544. db/MSDOS/CONVOY.2.sg +17 -0
  545. db/MSDOS/CPAV.1.sg +13 -0
  546. db/MSDOS/CRYPACK.2.sg +12 -0
  547. db/MSDOS/CRYPTEXE.2.sg +19 -0
  548. db/MSDOS/CSCRYPT_Pro.2.sg +14 -0
  549. db/MSDOS/CWSDPMI.0a.sg +22 -0
  550. db/MSDOS/CauseWay_DOS_Extender.0a.sg +16 -0
  551. db/MSDOS/ChSFX.1.sg +27 -0
  552. db/MSDOS/Ciphator.2.sg +12 -0
  553. db/MSDOS/Coderunner.1.sg +22 -0
  554. db/MSDOS/Codesafe.2.sg +13 -0
  555. db/MSDOS/ComProtector.2.sg +15 -0
  556. db/MSDOS/ComprEXE.2.sg +14 -0
  557. db/MSDOS/Compress-EXE.2.sg +14 -0
  558. db/MSDOS/Concurrent_Small_C.4.sg +16 -0
  559. db/MSDOS/CopyQM_SFX.1.sg +16 -0
  560. db/MSDOS/Copy_Protector.2.sg +15 -0
  561. db/MSDOS/Copylock_PC.1.sg +13 -0
  562. db/MSDOS/CrAcKeR.2.sg +14 -0
  563. db/MSDOS/CrackStop.2.sg +16 -0
  564. db/MSDOS/Cruncher.2.sg +12 -0
  565. db/MSDOS/CryExe.2.sg +12 -0
  566. db/MSDOS/CryptCom.2.sg +14 -0
  567. db/MSDOS/Crypt_(Dismember).2.sg +25 -0
  568. db/MSDOS/Crypt_(LightShow).2.sg +25 -0
  569. db/MSDOS/CrypteXeC.2.sg +15 -0
  570. db/MSDOS/Cryptors.2.sg +59 -0
  571. db/MSDOS/DAEMON_Protect.2.sg +12 -0
  572. db/MSDOS/DCREXE.2.sg +18 -0
  573. db/MSDOS/DIET.2.sg +33 -0
  574. db/MSDOS/DMC.2.sg +14 -0
  575. db/MSDOS/DOS32.0a.sg +22 -0
  576. db/MSDOS/DOS32_loader.0a.sg +14 -0
  577. db/MSDOS/DOS4G.0a.sg +16 -0
  578. db/MSDOS/DOSX16.0a.sg +27 -0
  579. db/MSDOS/DOS_16M.0a.sg +31 -0
  580. db/MSDOS/DOS_32A.0a.sg +22 -0
  581. db/MSDOS/DSHIELD.2.sg +11 -0
  582. db/MSDOS/Deeper.2.sg +17 -0
  583. db/MSDOS/DemoMaker.2.sg +14 -0
  584. db/MSDOS/DexEXE.2.sg +14 -0
  585. db/MSDOS/Digital_Research_C.4.sg +16 -0
  586. db/MSDOS/Disk_eXPress.1.sg +14 -0
  587. db/MSDOS/E-PROT.2.sg +14 -0
  588. db/MSDOS/EEXE.2.sg +14 -0
  589. db/MSDOS/EMMXXXX0_check.0a.sg +12 -0
  590. db/MSDOS/EMX.0a.sg +16 -0
  591. db/MSDOS/EPW.2.sg +18 -0
  592. db/MSDOS/EXARJ.1.sg +13 -0
  593. db/MSDOS/EXE-Crypt.2.sg +13 -0
  594. db/MSDOS/EXE-Cryptor.2.sg +19 -0
  595. db/MSDOS/EXE-Protect.2.sg +13 -0
  596. db/MSDOS/EXE2COM.1.sg +22 -0
  597. db/MSDOS/EXECUTRIX.2.sg +13 -0
  598. db/MSDOS/EXEGUARD.2.sg +12 -0
  599. db/MSDOS/EXEHigh.2.sg +14 -0
  600. db/MSDOS/EXEPACK.2.sg +57 -0
  601. db/MSDOS/EXETools.2.sg +16 -0
  602. db/MSDOS/EXETools_COM2EXE.1.sg +12 -0
  603. db/MSDOS/EXE_Manager.2.sg +14 -0
  604. db/MSDOS/EXE_Packer.2.sg +15 -0
  605. db/MSDOS/EXE_encryption.2.sg +13 -0
  606. db/MSDOS/Easy!-C.4.sg +15 -0
  607. db/MSDOS/Eliashim's_CodeTrack.1.sg +12 -0
  608. db/MSDOS/Encriptor.2.sg +12 -0
  609. db/MSDOS/Enkryptonator.2.sg +12 -0
  610. db/MSDOS/ExeCode.2.sg +18 -0
  611. db/MSDOS/ExeLITE.2.sg +15 -0
  612. db/MSDOS/ExeLock.2.sg +16 -0
  613. db/MSDOS/F-XLOCK.1.sg +13 -0
  614. db/MSDOS/FACRYPT.2.sg +12 -0
  615. db/MSDOS/FCP_IV.2.sg +13 -0
  616. db/MSDOS/FSE.2.sg +61 -0
  617. db/MSDOS/File_Shield.1.sg +19 -0
  618. db/MSDOS/Fitted_Modula-2.4.sg +14 -0
  619. db/MSDOS/ForthInfo.4.sg +18 -0
  620. db/MSDOS/FromBAT.1.sg +13 -0
  621. db/MSDOS/GFX_to_EXE.1.sg +14 -0
  622. db/MSDOS/GIFEXE.1.sg +16 -0
  623. db/MSDOS/GOAT.1.sg +21 -0
  624. db/MSDOS/GRABBER.1.sg +26 -0
  625. db/MSDOS/GRASP.4.sg +20 -0
  626. db/MSDOS/GamBit_Pro_Library.1.sg +14 -0
  627. db/MSDOS/GameWizard_DOS_Extender.0a.sg +12 -0
  628. db/MSDOS/Go32Stub.0a.sg +22 -0
  629. db/MSDOS/Graphic_WorkShop.1.sg +14 -0
  630. db/MSDOS/Guardian_Angel.2.sg +21 -0
  631. db/MSDOS/H+BEDV_SelfCheck.1.sg +18 -0
  632. db/MSDOS/HACKSTOP.2.sg +77 -0
  633. db/MSDOS/HASP.2.sg +14 -0
  634. db/MSDOS/HEALTH.2.sg +12 -0
  635. db/MSDOS/Header_Changer.2.sg +13 -0
  636. db/MSDOS/Hi-Tech_C.4.sg +16 -0
  637. db/MSDOS/HyperLOCK_386.2.sg +14 -0
  638. db/MSDOS/IBM_PC_Pascal.4.sg +32 -0
  639. db/MSDOS/ICE.1.sg +13 -0
  640. db/MSDOS/IMMUN.1.sg +14 -0
  641. db/MSDOS/Inertia.2.sg +14 -0
  642. db/MSDOS/Ironthorn.2.sg +14 -0
  643. db/MSDOS/JAM.2.sg +12 -0
  644. db/MSDOS/JmCryptExe.2.sg +19 -0
  645. db/MSDOS/John_Socha_Library.3.sg +13 -0
  646. db/MSDOS/Joke.2.sg +13 -0
  647. db/MSDOS/KeyMaker.2.sg +14 -0
  648. db/MSDOS/Khrome_Crypt.2.sg +12 -0
  649. db/MSDOS/Kvetch.2.sg +14 -0
  650. db/MSDOS/LE.0.sg +11 -0
  651. db/MSDOS/LGLZ.2.sg +14 -0
  652. db/MSDOS/LH.1.sg +11 -0
  653. db/MSDOS/LHA.1.sg +20 -0
  654. db/MSDOS/LHarc.1.sg +19 -0
  655. db/MSDOS/LOCK.2.sg +14 -0
  656. db/MSDOS/LSI_C.4.sg +14 -0
  657. db/MSDOS/LX.0.sg +11 -0
  658. db/MSDOS/LZEXE.2.sg +42 -0
  659. db/MSDOS/L_O_V_E__FORTH.4.sg +18 -0
  660. db/MSDOS/Lahey_Fortran.4.sg +15 -0
  661. db/MSDOS/LamerStop.2.sg +12 -0
  662. db/MSDOS/Lattice_C.4.sg +88 -0
  663. db/MSDOS/LockTite+.2.sg +12 -0
  664. db/MSDOS/Logitech_Modula-2.4.sg +14 -0
  665. db/MSDOS/MEGALITE.2.sg +12 -0
  666. db/MSDOS/MESS.2.sg +30 -0
  667. db/MSDOS/MSLite.1.sg +14 -0
  668. db/MSDOS/Maker.2.sg +14 -0
  669. db/MSDOS/Mandrake.2.sg +13 -0
  670. db/MSDOS/MegaBasic.4.sg +16 -0
  671. db/MSDOS/MegaBasic1.4.sg +30 -0
  672. db/MSDOS/Meridian_Ada.4.sg +29 -0
  673. db/MSDOS/Meridian_Pascal.4.sg +22 -0
  674. db/MSDOS/MetaWare_High_C.4.sg +30 -0
  675. db/MSDOS/MetaWare_Professional_Pascal.4.sg +24 -0
  676. db/MSDOS/Micro_Focus_Cobol.4.sg +19 -0
  677. db/MSDOS/Micro_Focus_DOS_extender.0a.sg +13 -0
  678. db/MSDOS/Microsoft_Basic.4.sg +23 -0
  679. db/MSDOS/Microsoft_C.4.sg +57 -0
  680. db/MSDOS/Microsoft_C_Library.3.sg +20 -0
  681. db/MSDOS/Microsoft_Fortran.4.sg +15 -0
  682. db/MSDOS/Microsoft_Quick_Basic.4.sg +35 -0
  683. db/MSDOS/Microsoft_Quick_Pascal.4.sg +16 -0
  684. db/MSDOS/Microsoft_RTL.3.sg +48 -0
  685. db/MSDOS/Microsoft_RTL_(Clipper).3.sg +13 -0
  686. db/MSDOS/MultiLoop_Protection.2.sg +13 -0
  687. db/MSDOS/MutaWWP.2.sg +14 -0
  688. db/MSDOS/Mutate.2.sg +21 -0
  689. db/MSDOS/NE.0.sg +11 -0
  690. db/MSDOS/NOCLIP.2.sg +14 -0
  691. db/MSDOS/NOTA.2.sg +14 -0
  692. db/MSDOS/NTShell.2.sg +14 -0
  693. db/MSDOS/Netware_loader.1.sg +12 -0
  694. db/MSDOS/Nodebug.2.sg +14 -0
  695. db/MSDOS/Novex.2.sg +12 -0
  696. db/MSDOS/Oberon-M.4.sg +14 -0
  697. db/MSDOS/Optlink.2.sg +31 -0
  698. db/MSDOS/Overlay.2.sg +13 -0
  699. db/MSDOS/Oyster.1.sg +13 -0
  700. db/MSDOS/PACKWIN.2.sg +14 -0
  701. db/MSDOS/PC-Guard.2.sg +30 -0
  702. db/MSDOS/PCC.4.sg +28 -0
  703. db/MSDOS/PCOM.2.sg +14 -0
  704. db/MSDOS/PDC_Prolog.4.sg +15 -0
  705. db/MSDOS/PGMPAK.2.sg +17 -0
  706. db/MSDOS/PGPROT.1.sg +12 -0
  707. db/MSDOS/PKEXE.2.sg +13 -0
  708. db/MSDOS/PKLITE.2.sg +59 -0
  709. db/MSDOS/PKSFX.1.sg +15 -0
  710. db/MSDOS/PKTINY.2.sg +14 -0
  711. db/MSDOS/PKZIP-SFX.1.sg +13 -0
  712. db/MSDOS/PKZIP_mini-sfx.1.sg +17 -0
  713. db/MSDOS/PK_sig.1.sg +12 -0
  714. db/MSDOS/PMODE.0a.sg +17 -0
  715. db/MSDOS/PMWLite.2.sg +14 -0
  716. db/MSDOS/PRO-PACK.2.sg +16 -0
  717. db/MSDOS/PRO32.0a.sg +14 -0
  718. db/MSDOS/PROPACK_SFX.1.sg +13 -0
  719. db/MSDOS/PROTECT.2.sg +101 -0
  720. db/MSDOS/PVAC.2.sg +14 -0
  721. db/MSDOS/Pacific_C.4.sg +24 -0
  722. db/MSDOS/Pack.2.sg +14 -0
  723. db/MSDOS/Packers.2.sg +17 -0
  724. db/MSDOS/Palladix.1.sg +12 -0
  725. db/MSDOS/Panda_immunizer.1.sg +14 -0
  726. db/MSDOS/Pascal_MT+86.4.sg +20 -0
  727. db/MSDOS/PassEXE.2.sg +12 -0
  728. db/MSDOS/Patchers.1.sg +18 -0
  729. db/MSDOS/Phar_Lap.0a.sg +31 -0
  730. db/MSDOS/Pksmart.2.sg +14 -0
  731. db/MSDOS/Power_C.4.sg +16 -0
  732. db/MSDOS/ProtEXE.2.sg +58 -0
  733. db/MSDOS/Protector.2.sg +13 -0
  734. db/MSDOS/Quadru-Lock.2.sg +12 -0
  735. db/MSDOS/R-Crypt.2.sg +13 -0
  736. db/MSDOS/RAR.6.sg +8 -0
  737. db/MSDOS/REC.2.sg +22 -0
  738. db/MSDOS/REC_small.1.sg +26 -0
  739. db/MSDOS/REC_small_AV.1.sg +18 -0
  740. db/MSDOS/RELETTER.1.sg +14 -0
  741. db/MSDOS/RERP.2.sg +13 -0
  742. db/MSDOS/RHC.2.sg +14 -0
  743. db/MSDOS/RJcrush.2.sg +12 -0
  744. db/MSDOS/RLE_com-packer.2.sg +13 -0
  745. db/MSDOS/RM_FORTRAN.4.sg +14 -0
  746. db/MSDOS/ROSETINY.2.sg +15 -0
  747. db/MSDOS/RSX.0a.sg +12 -0
  748. db/MSDOS/RTLink_VM_Manager.0a.sg +12 -0
  749. db/MSDOS/RTPatch_SFX.1.sg +13 -0
  750. db/MSDOS/Realia_Cobol.4.sg +16 -0
  751. db/MSDOS/Realia_SPITBOL.4.sg +14 -0
  752. db/MSDOS/Relpack.2.sg +14 -0
  753. db/MSDOS/SCRNCH.2.sg +14 -0
  754. db/MSDOS/SEA-AXE.2.sg +15 -0
  755. db/MSDOS/SFX.1.sg +14 -0
  756. db/MSDOS/SHOW_IT.1.sg +14 -0
  757. db/MSDOS/SP-FORTH.4.sg +18 -0
  758. db/MSDOS/Scramb.2.sg +13 -0
  759. db/MSDOS/Secure.2.sg +37 -0
  760. db/MSDOS/SelfChk.2.sg +14 -0
  761. db/MSDOS/Self_UnStuffer.2.sg +16 -0
  762. db/MSDOS/Shrink.2.sg +15 -0
  763. db/MSDOS/Shrinker.2.sg +14 -0
  764. db/MSDOS/SimplyWare.1.sg +22 -0
  765. db/MSDOS/Small_C.4.sg +20 -0
  766. db/MSDOS/SnoopStop.2.sg +12 -0
  767. db/MSDOS/StonyBrook_Pascal.4.sg +26 -0
  768. db/MSDOS/Stub-386.0a.sg +13 -0
  769. db/MSDOS/SuckStop.2.sg +27 -0
  770. db/MSDOS/Sydex_SFX.1.sg +19 -0
  771. db/MSDOS/Symantec_BASIC.4.sg +16 -0
  772. db/MSDOS/TCEC.2.sg +18 -0
  773. db/MSDOS/TMTSTUB.0a.sg +14 -0
  774. db/MSDOS/TSCRUNCH.2.sg +13 -0
  775. db/MSDOS/TTW.1.sg +17 -0
  776. db/MSDOS/TUCCRYP.2.sg +14 -0
  777. db/MSDOS/TXT2COM.1.sg +18 -0
  778. db/MSDOS/TXTmaker.1.sg +14 -0
  779. db/MSDOS/Tenth_Planet.2.sg +13 -0
  780. db/MSDOS/TinyProg.2.sg +27 -0
  781. db/MSDOS/Tinyprot.2.sg +16 -0
  782. db/MSDOS/Topspeed_C.4.sg +20 -0
  783. db/MSDOS/Topspeed_Modula.4.sg +42 -0
  784. db/MSDOS/TraceLock.2.sg +13 -0
  785. db/MSDOS/Trap.2.sg +50 -0
  786. db/MSDOS/TurboChainer.1.sg +13 -0
  787. db/MSDOS/Turbo_Basic.4.sg +18 -0
  788. db/MSDOS/Turbo_Prolog.4.sg +16 -0
  789. db/MSDOS/Txt2Exe.1.sg +14 -0
  790. db/MSDOS/UCEXE.2.sg +22 -0
  791. db/MSDOS/UPX.2.sg +46 -0
  792. db/MSDOS/UR_FORTH.4.sg +14 -0
  793. db/MSDOS/Un2pack.2.sg +14 -0
  794. db/MSDOS/UnPackStop.2.sg +33 -0
  795. db/MSDOS/UniVac.1.sg +14 -0
  796. db/MSDOS/Unknown_cryptors.2.sg +54 -0
  797. db/MSDOS/Upper_Deck_Forth.4.sg +14 -0
  798. db/MSDOS/V-Load.1.sg +13 -0
  799. db/MSDOS/Visual_Cobol.4.sg +16 -0
  800. db/MSDOS/WATCOM.4.sg +59 -0
  801. db/MSDOS/WDOSX.0a.sg +14 -0
  802. db/MSDOS/WDOSX32.0a.sg +12 -0
  803. db/MSDOS/WPFORTH.4.sg +14 -0
  804. db/MSDOS/WWPACK.2.sg +89 -0
  805. db/MSDOS/WWPACK_mutator.2.sg +53 -0
  806. db/MSDOS/Whitesmiths_C.4.sg +21 -0
  807. db/MSDOS/Window_book.1.sg +21 -0
  808. db/MSDOS/Wizardy_protection.1.sg +12 -0
  809. db/MSDOS/WordPerfect_EXEPack.2.sg +12 -0
  810. db/MSDOS/XDOC.2.sg +13 -0
  811. db/MSDOS/XMLOD.0a.sg +16 -0
  812. db/MSDOS/XPACK.2.sg +37 -0
  813. db/MSDOS/Xtender.0a.sg +14 -0
  814. db/MSDOS/ZIPSCRUB.2.sg +14 -0
  815. db/MSDOS/ZOO.1.sg +14 -0
  816. db/MSDOS/Zbikowski_C.4.sg +19 -0
  817. db/MSDOS/Zip.6.sg +8 -0
  818. db/MSDOS/Zortech(Symantec)_C.4.sg +56 -0
  819. db/MSDOS/Zurenava_DOS_Extender.0a.sg +13 -0
  820. db/MSDOS/_MSDOS.0.sg +15 -0
  821. db/MSDOS/_init +52 -0
  822. db/MSDOS/aPACK.2.sg +60 -0
  823. db/MSDOS/aPatch.2.sg +13 -0
  824. db/MSDOS/anti-tracing_add-on.1.sg +12 -0
  825. db/MSDOS/com2exe.2.sg +21 -0
  826. db/MSDOS/cramble.2.sg +12 -0
  827. db/MSDOS/deep-CRyPTer.2.sg +12 -0
  828. db/MSDOS/djgpp.4.sg +16 -0
  829. db/MSDOS/dos_extender.0a.sg +16 -0
  830. db/MSDOS/dos_extender1.0a.sg +13 -0
  831. db/MSDOS/dos_extender2.0a.sg +16 -0
  832. db/MSDOS/iLUCRYPT.2.sg +18 -0
  833. db/MSDOS/immunizer.1.sg +13 -0
  834. db/MSDOS/mbp_SHRINK.2.sg +13 -0
  835. db/MSDOS/muLISP-87.4.sg +20 -0
  836. db/MSDOS/nbuild.2.sg +12 -0
  837. db/MSDOS/overlays.6.sg +73 -0
  838. db/MSDOS/self-displayer.1.sg +13 -0
  839. db/MSDOS/virus.1.sg +13 -0
  840. db/NE/ARC_SFX.1.sg +13 -0
  841. db/NE/Borland_C++.1.sg +25 -0
  842. db/NE/Borland_Pascal.1.sg +13 -0
  843. db/NE/MS_RTL.0.sg +28 -0
  844. db/NE/PKZIP-SFX.1.sg +13 -0
  845. db/NE/Setup-Specialist.1.sg +16 -0
  846. db/NE/Sydex_SFX.1.sg +13 -0
  847. db/NE/Watcom_C.1.sg +35 -0
  848. db/NE/_NE.0.sg +15 -0
  849. db/NE/_init +2 -0
  850. db/NPM/JavaScript.5.sg +11 -0
  851. db/NPM/PackageName.1.sg +15 -0
  852. db/NPM/TypeScript.5.sg +11 -0
  853. db/NPM/_NPM.0.sg +16 -0
  854. db/NPM/_init +2 -0
  855. db/PE/12Ghosts_Zip2.1.sg +16 -0
  856. db/PE/32Lite.2.sg +13 -0
  857. db/PE/7z.1.sg +43 -0
  858. db/PE/7z.4.sg +14 -0
  859. db/PE/7z.6.sg +21 -0
  860. db/PE/ACCAStore.1.sg +14 -0
  861. db/PE/ACE.6.sg +10 -0
  862. db/PE/ACProtect.2.sg +30 -0
  863. db/PE/ADS_Self_Extractor.1.sg +14 -0
  864. db/PE/AHTeam_EP_Protector.2.sg +71 -0
  865. db/PE/AHpacker.2.sg +13 -0
  866. db/PE/AMD_FSR.4.sg +23 -0
  867. db/PE/ANDpakk.2.sg +21 -0
  868. db/PE/AOLSetup.1.sg +15 -0
  869. db/PE/ARJSFX.1.sg +44 -0
  870. db/PE/ARM_Protector.2.sg +21 -0
  871. db/PE/ARQ.1.sg +16 -0
  872. db/PE/ASDPack.2.sg +12 -0
  873. db/PE/ASM_Guard.2.sg +27 -0
  874. db/PE/ASPR_Stripper.2.sg +12 -0
  875. db/PE/ASPack.2.sg +95 -0
  876. db/PE/ASProtect.2.sg +56 -0
  877. db/PE/AT4RE_Protector.2.sg +13 -0
  878. db/PE/AZProtect_0001.2.sg +11 -0
  879. db/PE/Aase_Crypter.2.sg +12 -0
  880. db/PE/Abbyy_Lingvo.1.sg +15 -0
  881. db/PE/Acronis_installer.1.sg +30 -0
  882. db/PE/ActiveMark.2.sg +14 -0
  883. db/PE/Active_Delivery.1.sg +16 -0
  884. db/PE/Actual_Installer.1.sg +16 -0
  885. db/PE/Adobe_FlashPlayer_downloader.1.sg +17 -0
  886. db/PE/Adobe_installers.1.sg +32 -0
  887. db/PE/Advanced_BAT_to_EXE_converter.2.sg +13 -0
  888. db/PE/Advanced_installer.1.sg +30 -0
  889. db/PE/Adveractive.1.sg +14 -0
  890. db/PE/Aeco_installer.1.sg +13 -0
  891. db/PE/Agile.2.sg +11 -0
  892. db/PE/Alchemy_Mindworks_installer.1.sg +19 -0
  893. db/PE/Alex_Protector.2.sg +15 -0
  894. db/PE/Alienyze.1.sg +14 -0
  895. db/PE/Amber.2.sg +17 -0
  896. db/PE/Anskya_Binder.2.sg +12 -0
  897. db/PE/Anskya_NTPacker_Generator.2.sg +11 -0
  898. db/PE/AntiDote.2.sg +33 -0
  899. db/PE/Anticrack_Software_Protector.2.sg +15 -0
  900. db/PE/App_Encryptor.2.sg +13 -0
  901. db/PE/ArmDot.2.sg +17 -0
  902. db/PE/Armadillo.2.sg +48 -0
  903. db/PE/Arxan.2.sg +69 -0
  904. db/PE/AssemblyInvoke.2.sg +11 -0
  905. db/PE/Astrum.1.sg +21 -0
  906. db/PE/AtomPePacker.2.sg +16 -0
  907. db/PE/AutoHotKey.3.sg +20 -0
  908. db/PE/AutoIt.3.sg +21 -0
  909. db/PE/AutoPlay_Media_Studio.1.sg +26 -0
  910. db/PE/Autodesk_Self-Extract.1.sg +14 -0
  911. db/PE/AutorunProEnterprise.1.sg +16 -0
  912. db/PE/AutorunProEnterpriseII.1.sg +16 -0
  913. db/PE/AverCryptor.2.sg +22 -0
  914. db/PE/BJFnt.2.sg +18 -0
  915. db/PE/Babel_.NET.2.sg +23 -0
  916. db/PE/BatToExe.1.sg +15 -0
  917. db/PE/BatToExeConverter.2.sg +18 -0
  918. db/PE/BatchToApp.2.sg +15 -0
  919. db/PE/BattlEye.5.sg +18 -0
  920. db/PE/BattleshipCrypter.2.sg +12 -0
  921. db/PE/BeRo.2.sg +37 -0
  922. db/PE/BeRo_Tiny_Pascal.4.sg +13 -0
  923. db/PE/Berio.2.sg +15 -0
  924. db/PE/BitRock_Installer.1.sg +22 -0
  925. db/PE/BitShape_PE_Crypt.2.sg +15 -0
  926. db/PE/BlindSpot.2.sg +12 -0
  927. db/PE/Blizzard_PrePatch.1.sg +15 -0
  928. db/PE/Borland_C++.4.sg +37 -0
  929. db/PE/Break_Into_Pattern.2.sg +12 -0
  930. db/PE/BulletProofSoft_installer.1.sg +14 -0
  931. db/PE/ByfronTech.2.sg +67 -0
  932. db/PE/ByteGuard.2.sg +17 -0
  933. db/PE/Bytessence_Install_Maker.1.sg +19 -0
  934. db/PE/CExe.2.sg +13 -0
  935. db/PE/CICompress.2.sg +12 -0
  936. db/PE/CSDD_installer.1.sg +18 -0
  937. db/PE/CUDA-Driver.4.sg +14 -0
  938. db/PE/CZ_installer.1.sg +14 -0
  939. db/PE/Cab.1.sg +60 -0
  940. db/PE/Cab.6.sg +33 -0
  941. db/PE/Calibre_installer.1.sg +19 -0
  942. db/PE/Cameyo.2.sg +12 -0
  943. db/PE/Celesty_File_Binder.1.sg +18 -0
  944. db/PE/ChainskiCrypter.1.sg +11 -0
  945. db/PE/Chaos_Software_installer.1.sg +14 -0
  946. db/PE/Chilkat_ZIP_Self-Extractor.1.sg +14 -0
  947. db/PE/Chromium_Embedded_Framework.4.sg +14 -0
  948. db/PE/Chromium_WebView.4.sg +14 -0
  949. db/PE/CipherWall.1.sg +20 -0
  950. db/PE/CliSecure.2.sg +21 -0
  951. db/PE/ClickTeam.1.sg +17 -0
  952. db/PE/CodeCrypt.2.sg +21 -0
  953. db/PE/CodeFusion_Wizard.1.sg +14 -0
  954. db/PE/CodeSafe.2.sg +12 -0
  955. db/PE/CodeVeil.2.sg +20 -0
  956. db/PE/Code_Virtualizer.2.sg +12 -0
  957. db/PE/Codegear_Installer.1.sg +14 -0
  958. db/PE/Codewall.2.sg +18 -0
  959. db/PE/CoffeeCup_SFX.2.sg +14 -0
  960. db/PE/Confuser.2.sg +39 -0
  961. db/PE/CopyMinder.2.sg +11 -0
  962. db/PE/Costura.Fody.4.sg +11 -0
  963. db/PE/CreateInstall.1.sg +22 -0
  964. db/PE/Crinkler.2.sg +15 -0
  965. db/PE/CronosCrypter.1.sg +12 -0
  966. db/PE/Crunch.2.sg +25 -0
  967. db/PE/CrypKey.2.sg +20 -0
  968. db/PE/CrypKey_Installer.1.sg +14 -0
  969. db/PE/CrypToCrack_Pe_Protector.2.sg +15 -0
  970. db/PE/Cryptect.1.sg +13 -0
  971. db/PE/Cryptic.2.sg +12 -0
  972. db/PE/CryptoObfuscator.2.sg +17 -0
  973. db/PE/Cxfreeze.1.sg +23 -0
  974. db/PE/Cygwin32.4.sg +11 -0
  975. db/PE/DBPE.2.sg +25 -0
  976. db/PE/DECFortran.4.sg +23 -0
  977. db/PE/DMD.4.sg +44 -0
  978. db/PE/DNGuard.2.sg +33 -0
  979. db/PE/DS.EZ-Logic.sg +12 -0
  980. db/PE/DS.Eutron_SmartKey_dongle.5.sg +29 -0
  981. db/PE/DS.HASP_dongle.5.sg +22 -0
  982. db/PE/DS.Hardlock_dongle.5.sg +24 -0
  983. db/PE/DS.MARX_Crypto-Box_dongle.5.sg +30 -0
  984. db/PE/DS.Matrix_Hardware_Lock_dongle.5.sg +19 -0
  985. db/PE/DS.NetHASP_dongle.5.sg +19 -0
  986. db/PE/DS.Novex_dongle.4.sg +13 -0
  987. db/PE/DS.RLM.4.sg +25 -0
  988. db/PE/DS.SenseLock_dongle.5.sg +20 -0
  989. db/PE/DS.Sentinel_SuperPro.2.sg +21 -0
  990. db/PE/DS.Sentinel_SuperPro_dongle.5.sg +20 -0
  991. db/PE/DS.Sentinel_dongle.5.sg +28 -0
  992. db/PE/DS.SoftLok_dongle.5.sg +17 -0
  993. db/PE/DS.Unikey_dongle.5.sg +30 -0
  994. db/PE/DS.WIBU_Key_dongle.5.sg +20 -0
  995. db/PE/DS.Wizzkey_dongle.5.sg +13 -0
  996. db/PE/DYAMAR.2.sg +12 -0
  997. db/PE/DZA_Patcher.2.sg +15 -0
  998. db/PE/Daemon_Protect.2.sg +13 -0
  999. db/PE/DalKrypt.2.sg +12 -0
  1000. db/PE/DataAnubis.1.sg +11 -0
  1001. db/PE/DeepSea.2.sg +18 -0
  1002. db/PE/DelZip_SFX.2.sg +14 -0
  1003. db/PE/Delphi.4.sg +270 -0
  1004. db/PE/Denuvo.2.sg +97 -0
  1005. db/PE/DeployMaster.1.sg +15 -0
  1006. db/PE/Dimd_SFX.1.sg +15 -0
  1007. db/PE/Ding_Boys_PE-lock_Phantasm.2.sg +18 -0
  1008. db/PE/Direct2D.4.sg +14 -0
  1009. db/PE/Direct3D.4.sg +38 -0
  1010. db/PE/DirectX.4.sg +14 -0
  1011. db/PE/Dolphin_VM.1.sg +18 -0
  1012. db/PE/DotFix_Nice_Protect.2.sg +23 -0
  1013. db/PE/Dotfuscator.2.sg +11 -0
  1014. db/PE/Duals_eXe_Encryptor.2.sg +19 -0
  1015. db/PE/DxPack.2.sg +22 -0
  1016. db/PE/ENIGMA.2.sg +115 -0
  1017. db/PE/EXE32Pack.2.sg +12 -0
  1018. db/PE/EXECryptor.2.sg +99 -0
  1019. db/PE/EXEFog.2.sg +22 -0
  1020. db/PE/EXE_Password_Protector.2.sg +12 -0
  1021. db/PE/Eazfuscator.2.sg +16 -0
  1022. db/PE/ElecKey.2.sg +33 -0
  1023. db/PE/ElectronApp.3.sg +22 -0
  1024. db/PE/Enigma_Virtual_Box.2.sg +13 -0
  1025. db/PE/Envoy_Packager.1.sg +15 -0
  1026. db/PE/Escargot.2.sg +15 -0
  1027. db/PE/Eschalon_installer.1.sg +15 -0
  1028. db/PE/ExE_Pack.2.sg +23 -0
  1029. db/PE/Excelsior_Installer.1.sg +14 -0
  1030. db/PE/Excelsior_JET.4.sg +36 -0
  1031. db/PE/ExeSplitter.1.sg +24 -0
  1032. db/PE/ExeStealth.2.sg +40 -0
  1033. db/PE/Exe_Guarder.2.sg +12 -0
  1034. db/PE/Exe_Locker.2.sg +12 -0
  1035. db/PE/Exe_Shield.2.sg +28 -0
  1036. db/PE/FASM.4.sg +22 -0
  1037. db/PE/FDM_Installer.1.sg +18 -0
  1038. db/PE/FISH_.NET.2.sg +17 -0
  1039. db/PE/FSG.2.sg +136 -0
  1040. db/PE/FileSplit_Self-Merger.2.sg +13 -0
  1041. db/PE/FishPE_Shield.2.sg +21 -0
  1042. db/PE/Fish_PE.2.sg +22 -0
  1043. db/PE/FixupPak.2.sg +12 -0
  1044. db/PE/Fox_Pro.3.sg +25 -0
  1045. db/PE/FreeBasic.6.sg +28 -0
  1046. db/PE/FreeJoiner.1.sg +45 -0
  1047. db/PE/Free_Pascal.4.sg +54 -0
  1048. db/PE/Fusion.2.sg +12 -0
  1049. db/PE/G!X_Protector.2.sg +12 -0
  1050. db/PE/GPInstall.1.sg +19 -0
  1051. db/PE/GSplit.1.sg +20 -0
  1052. db/PE/GZip.1.sg +20 -0
  1053. db/PE/GameGuard.2.sg +12 -0
  1054. db/PE/Gentee_Installer.1.sg +35 -0
  1055. db/PE/Ghost_Installer.1.sg +16 -0
  1056. db/PE/GkSetup.1.sg +18 -0
  1057. db/PE/Go.4.sg +61 -0
  1058. db/PE/Goats_PE_Mutilator.2.sg +12 -0
  1059. db/PE/GoldSrc.3.sg +20 -0
  1060. db/PE/Goliath.2.sg +15 -0
  1061. db/PE/Gremlin_patcher.1.sg +21 -0
  1062. db/PE/HASP.2.sg +22 -0
  1063. db/PE/HASP_HL_Protection.2.sg +34 -0
  1064. db/PE/HTML_executable.1.sg +20 -0
  1065. db/PE/HackShield.2.sg +17 -0
  1066. db/PE/Hide&Protect.2.sg +12 -0
  1067. db/PE/HidePE.2.sg +255 -0
  1068. db/PE/Huan.1.sg +12 -0
  1069. db/PE/HyperTech_Crackproof.2.sg +13 -0
  1070. db/PE/I-D_Media_installer.1.sg +15 -0
  1071. db/PE/IDM_Installer.1.sg +15 -0
  1072. db/PE/ID_Application_Protector(NoNamePacker).2.sg +12 -0
  1073. db/PE/ILProtector.2.sg +13 -0
  1074. db/PE/ILUCRYPT.2.sg +15 -0
  1075. db/PE/IMPostor_Pack.2.sg +12 -0
  1076. db/PE/INCrypter.2.sg +12 -0
  1077. db/PE/INFTool.1.sg +15 -0
  1078. db/PE/INTENIUM.1.sg +13 -0
  1079. db/PE/IProtect.2.sg +17 -0
  1080. db/PE/Inno_Setup_Module.1.sg +97 -0
  1081. db/PE/Inquartos_Obfuscator.2.sg +12 -0
  1082. db/PE/Instalit.1.sg +25 -0
  1083. db/PE/Install4j_installer.1.sg +16 -0
  1084. db/PE/InstallAnywhere.1.sg +36 -0
  1085. db/PE/InstallShield.1.sg +90 -0
  1086. db/PE/InstallUs.1.sg +16 -0
  1087. db/PE/Install_Factory.1.sg +14 -0
  1088. db/PE/Intel_C.4.sg +14 -0
  1089. db/PE/Intel_IPP.sg +15 -0
  1090. db/PE/IntelliProtector.2.sg +17 -0
  1091. db/PE/InxObfuscator.2.sg +14 -0
  1092. db/PE/JDPack.2.sg +15 -0
  1093. db/PE/JScript.4.sg +15 -0
  1094. db/PE/Jar2exe.1.sg +26 -0
  1095. db/PE/KBys_Packer.2.sg +21 -0
  1096. db/PE/KGCrypt.2.sg +11 -0
  1097. db/PE/KRZIP_SFX.2.sg +15 -0
  1098. db/PE/KoiVM.2.sg +20 -0
  1099. db/PE/Kryptonit.2.sg +17 -0
  1100. db/PE/LARP.2.sg +13 -0
  1101. db/PE/LCC-Win32.4.sg +15 -0
  1102. db/PE/LCL.5.sg +17 -0
  1103. db/PE/LDK.2.sg +21 -0
  1104. db/PE/LDK_.NET.2.sg +13 -0
  1105. db/PE/Lahey_Fortran_90.4.sg +20 -0
  1106. db/PE/LameCrypt.2.sg +12 -0
  1107. db/PE/Laserlok.2.sg +12 -0
  1108. db/PE/LimeCrypter.2.sg +56 -0
  1109. db/PE/Lua_Runtime.4.sg +17 -0
  1110. db/PE/LucasArts_Update_Installer.1.sg +14 -0
  1111. db/PE/Lyme_SFX.1.sg +15 -0
  1112. db/PE/MEW.2.sg +26 -0
  1113. db/PE/MP-ZipTool.1.sg +14 -0
  1114. db/PE/MPQ.1.sg +15 -0
  1115. db/PE/MPRESS.2.sg +52 -0
  1116. db/PE/MSLRH.2.sg +117 -0
  1117. db/PE/MZ-Crypt.2.sg +12 -0
  1118. db/PE/MZ0oPE.2.sg +12 -0
  1119. db/PE/MaskPE.2.sg +15 -0
  1120. db/PE/Maxtocode.2.sg +21 -0
  1121. db/PE/Metrowerks_CodeWarrior.2.sg +26 -0
  1122. db/PE/MicroJoiner.1.sg +21 -0
  1123. db/PE/Microsoft.6.sg +1735 -0
  1124. db/PE/Microsoft_C_Runtime.4.sg +16 -0
  1125. db/PE/Microsoft_Class_Installer.1.sg +22 -0
  1126. db/PE/Microsoft_Compound-based_installer.1.sg +14 -0
  1127. db/PE/Microsoft_Edge_WebView.4.sg +14 -0
  1128. db/PE/Microsoft_NET_Runtime.4.sg +15 -0
  1129. db/PE/Microsoft_Warbird.2.sg +15 -0
  1130. db/PE/Microsoft_dotNET_installer.1.sg +16 -0
  1131. db/PE/Miktex_Installer.1.sg +15 -0
  1132. db/PE/MinGW.4.sg +78 -0
  1133. db/PE/Minke.2.sg +12 -0
  1134. db/PE/Mioplanet_installer.1.sg +14 -0
  1135. db/PE/MoleBox.2.sg +41 -0
  1136. db/PE/Morphnah.2.sg +23 -0
  1137. db/PE/Multimedia_Fusion_Installer.1.sg +14 -0
  1138. db/PE/Mystic_Compressor.2.sg +15 -0
  1139. db/PE/N-Joiner.1.sg +12 -0
  1140. db/PE/N-Joy.2.sg +25 -0
  1141. db/PE/NETZ.2.sg +11 -0
  1142. db/PE/NET_Spider.2.sg +14 -0
  1143. db/PE/NOS_Installer.1.sg +22 -0
  1144. db/PE/NOS_Packer.2.sg +13 -0
  1145. db/PE/NTShell.2.sg +13 -0
  1146. db/PE/NTkrnl_Protector.2.sg +37 -0
  1147. db/PE/NakedPacker.2.sg +13 -0
  1148. db/PE/NanoZip.1.sg +16 -0
  1149. db/PE/NativeCryptor_by_DosX.2.sg +13 -0
  1150. db/PE/Native_UD_Packer.2.sg +12 -0
  1151. db/PE/NecroVM.Virt.2.sg +46 -0
  1152. db/PE/NeoLite.2.sg +39 -0
  1153. db/PE/NetReactor.2.sg +103 -0
  1154. db/PE/NetShieldProtector.2.sg +55 -0
  1155. db/PE/Newtonsoft.Json.4.sg +14 -0
  1156. db/PE/Nim.4.sg +18 -0
  1157. db/PE/Ningishzida.2.sg +12 -0
  1158. db/PE/NodeJS_Nexe.sg +16 -0
  1159. db/PE/NodeJS_Pkg.sg +16 -0
  1160. db/PE/NoobyProtect.2.sg +12 -0
  1161. db/PE/North_Star_PE_Shrinker.2.sg +12 -0
  1162. db/PE/NsPacK.2.sg +61 -0
  1163. db/PE/Nuitka.1.sg +26 -0
  1164. db/PE/Nullsoft_Scriptable_Install_System.1.sg +96 -0
  1165. db/PE/Nvidia_DLSS.4.sg +22 -0
  1166. db/PE/Nvidia_PhysX.4.sg +15 -0
  1167. db/PE/O'Setup95.1.sg +15 -0
  1168. db/PE/ORiEN.2.sg +19 -0
  1169. db/PE/Obfuscar.2.sg +14 -0
  1170. db/PE/Obfuscator_.NET_2009.2.sg +16 -0
  1171. db/PE/Obsidium.2.sg +272 -0
  1172. db/PE/OneVM.2.sg +23 -0
  1173. db/PE/OpenAL.4.sg +14 -0
  1174. db/PE/OpenCL.4.sg +14 -0
  1175. db/PE/OpenCV.4.sg +18 -0
  1176. db/PE/OpenGL.4.sg +14 -0
  1177. db/PE/OpenSSL.4.sg +14 -0
  1178. db/PE/OpusAudio.4.sg +15 -0
  1179. db/PE/Oreans_CodeVirtualizer.2.sg +14 -0
  1180. db/PE/OxiJoiner.sg +15 -0
  1181. db/PE/PACE.2.sg +17 -0
  1182. db/PE/PACKWIN.2.sg +12 -0
  1183. db/PE/PCInstall.1.sg +14 -0
  1184. db/PE/PCShrink.2.sg +15 -0
  1185. db/PE/PC_Guard.2.sg +20 -0
  1186. db/PE/PE-Admin.2.sg +12 -0
  1187. db/PE/PE-Armor.2.sg +21 -0
  1188. db/PE/PE-Shield.2.sg +16 -0
  1189. db/PE/PEBundle.2.sg +25 -0
  1190. db/PE/PECRYPT32.2.sg +22 -0
  1191. db/PE/PECompact.2.sg +167 -0
  1192. db/PE/PELock.2.sg +47 -0
  1193. db/PE/PESpin.2.sg +56 -0
  1194. db/PE/PETetris.sg +11 -0
  1195. db/PE/PEUnion.2.sg +122 -0
  1196. db/PE/PE_Diminisher.2.sg +16 -0
  1197. db/PE/PE_Encrypt.2.sg +12 -0
  1198. db/PE/PE_Intro.2.sg +12 -0
  1199. db/PE/PE_Lock_NT.2.sg +21 -0
  1200. db/PE/PE_Password.2.sg +12 -0
  1201. db/PE/PE_Protect.2.sg +15 -0
  1202. db/PE/PEncrypt.2.sg +21 -0
  1203. db/PE/PEnguinCrypt.2.sg +12 -0
  1204. db/PE/PIMP.1.sg +14 -0
  1205. db/PE/PKLITE.2.sg +15 -0
  1206. db/PE/PKSFX.1.sg +14 -0
  1207. db/PE/PMaker.1.sg +13 -0
  1208. db/PE/PUNiSHER.2.sg +12 -0
  1209. db/PE/Pack_Master.2.sg +12 -0
  1210. db/PE/PackageForTheWeb.1.sg +15 -0
  1211. db/PE/Packanoid.2.sg +12 -0
  1212. db/PE/Packman.2.sg +18 -0
  1213. db/PE/Pantaray_QSetup.1.sg +29 -0
  1214. db/PE/Paquet.1.sg +16 -0
  1215. db/PE/Paquet_Builder.1.sg +15 -0
  1216. db/PE/Patch.1.sg +20 -0
  1217. db/PE/PePack.2.sg +16 -0
  1218. db/PE/PeX.2.sg +12 -0
  1219. db/PE/Pe_Ninja.2.sg +12 -0
  1220. db/PE/Pelles_C.4.sg +14 -0
  1221. db/PE/Perl.3.sg +93 -0
  1222. db/PE/PerlApp.1.sg +21 -0
  1223. db/PE/Petite.2.sg +56 -0
  1224. db/PE/Phoenix.2.sg +19 -0
  1225. db/PE/Photo_Compiler.2.sg +15 -0
  1226. db/PE/PowerBASIC.4.sg +14 -0
  1227. db/PE/Power_Screen_Recorder.1.sg +16 -0
  1228. db/PE/Private_EXE_Protector.2.sg +86 -0
  1229. db/PE/PureBasic.4.sg +55 -0
  1230. db/PE/PwdProtect.2.sg +11 -0
  1231. db/PE/Py2exe.1.sg +15 -0
  1232. db/PE/PyInstaller.2.sg +72 -0
  1233. db/PE/PyInstallerHider.1.sg +27 -0
  1234. db/PE/Python.3.sg +22 -0
  1235. db/PE/Qt.4.sg +33 -0
  1236. db/PE/Quantum.1.sg +17 -0
  1237. db/PE/QuestPowerGUI.2.sg +16 -0
  1238. db/PE/QuickBFC.2.sg +19 -0
  1239. db/PE/QuickPack_NT.2.sg +13 -0
  1240. db/PE/RADBasic.4.sg +17 -0
  1241. db/PE/RCryptor.2.sg +39 -0
  1242. db/PE/RDG_Tejon_Crypter.2.sg +12 -0
  1243. db/PE/RJoiner.1.sg +17 -0
  1244. db/PE/RLP.2.sg +12 -0
  1245. db/PE/RLPack.2.sg +47 -0
  1246. db/PE/RNsetup.1.sg +17 -0
  1247. db/PE/RPP.1.sg +14 -0
  1248. db/PE/RTPatch.1.sg +15 -0
  1249. db/PE/ReNET-pack.2.sg +11 -0
  1250. db/PE/RealBasic.4.sg +24 -0
  1251. db/PE/RobustObfuscator.2.sg +15 -0
  1252. db/PE/RosASM.4.sg +20 -0
  1253. db/PE/Rust.4.sg +34 -0
  1254. db/PE/SCE_installer.1.sg +18 -0
  1255. db/PE/SC_Obfuscator.2.sg +12 -0
  1256. db/PE/SC_Pack.2.sg +13 -0
  1257. db/PE/SDL.4.sg +21 -0
  1258. db/PE/SDProtector.2.sg +18 -0
  1259. db/PE/SFXRun.1.sg +14 -0
  1260. db/PE/SLVc0deProtector.2.sg +21 -0
  1261. db/PE/STATICSUP.1.sg +14 -0
  1262. db/PE/STUD.2.sg +12 -0
  1263. db/PE/SVK_Protector.2.sg +22 -0
  1264. db/PE/SZDD.1.sg +40 -0
  1265. db/PE/Safedisc.2.sg +13 -0
  1266. db/PE/Safenet_RMS.2.sg +12 -0
  1267. db/PE/Safengine_Shielden.2.sg +43 -0
  1268. db/PE/ScriptHookV.4.sg +14 -0
  1269. db/PE/SecuPack.2.sg +13 -0
  1270. db/PE/SecuROM.2.sg +22 -0
  1271. db/PE/Secure_Shade.2.sg +13 -0
  1272. db/PE/SerGreen_Appacker.2.sg +16 -0
  1273. db/PE/Setup-Specialist.1.sg +15 -0
  1274. db/PE/Setup_Factory.1.sg +42 -0
  1275. db/PE/SfxCA.1.sg +20 -0
  1276. db/PE/Shrink_Wrap.2.sg +12 -0
  1277. db/PE/Shrinker.2.sg +27 -0
  1278. db/PE/SimbiOZ.2.sg +19 -0
  1279. db/PE/SimplePackerByEronana.2.sg +14 -0
  1280. db/PE/Simple_Pack.2.sg +15 -0
  1281. db/PE/Sixxpack.2.sg +20 -0
  1282. db/PE/Skater.2.sg +16 -0
  1283. db/PE/Smart_Assembly.2.sg +36 -0
  1284. db/PE/Smart_Install_Maker.1.sg +17 -0
  1285. db/PE/SmokesCrypt.2.sg +12 -0
  1286. db/PE/SoftProtect.2.sg +13 -0
  1287. db/PE/SoftSentry.2.sg +16 -0
  1288. db/PE/Soft_Defender.2.sg +20 -0
  1289. db/PE/Softlocx.1.sg +13 -0
  1290. db/PE/Software_Compress.2.sg +15 -0
  1291. db/PE/Sony_Windows_Installer.1.sg +16 -0
  1292. db/PE/SpASM.4.sg +20 -0
  1293. db/PE/Special_EXE_Password_Protector.2.sg +12 -0
  1294. db/PE/SpicesNet.2.sg +34 -0
  1295. db/PE/Spoon_Installer.1.sg +23 -0
  1296. db/PE/Spoon_Studio.2.sg +16 -0
  1297. db/PE/Squeez_SFX.1.sg +15 -0
  1298. db/PE/Squirrel_installer.1.sg +16 -0
  1299. db/PE/Squishy.2.sg +11 -0
  1300. db/PE/StarForce.2.sg +58 -0
  1301. db/PE/Ste@lth_PE.2.sg +16 -0
  1302. db/PE/Steam.4.sg +14 -0
  1303. db/PE/Stones_PE_Encryptor.2.sg +22 -0
  1304. db/PE/Store_Installer.1.sg +13 -0
  1305. db/PE/SwiftView_installer.1.sg +15 -0
  1306. db/PE/Synactis_In-The-Box_Installer.1.sg +21 -0
  1307. db/PE/TPP_Pack.2.sg +12 -0
  1308. db/PE/Tages.2.sg +12 -0
  1309. db/PE/Tarma_Installer.1.sg +29 -0
  1310. db/PE/TheArk.2.sg +11 -0
  1311. db/PE/Themida.2.sg +89 -0
  1312. db/PE/Thinstall.2.sg +89 -0
  1313. db/PE/TrueCrypt-VeraCrypt_installer.1.sg +18 -0
  1314. db/PE/UFI_installer.1.sg +14 -0
  1315. db/PE/UG2002_Cruncher.2.sg +12 -0
  1316. db/PE/UPX-Patcher.6.sg +29 -0
  1317. db/PE/UPX.2.sg +174 -0
  1318. db/PE/UPXFreak.2.sg +12 -0
  1319. db/PE/UPX_Inliner.2.sg +12 -0
  1320. db/PE/UPX_Modifier.2.sg +12 -0
  1321. db/PE/UPX_Mutanter.2.sg +21 -0
  1322. db/PE/UPX_Protector.2.sg +12 -0
  1323. db/PE/UPX_lock.2.sg +12 -0
  1324. db/PE/UPX_scrambler.2.sg +20 -0
  1325. db/PE/UPX_shit.2.sg +21 -0
  1326. db/PE/UPXcrypter.2.sg +11 -0
  1327. db/PE/UPolyX.2.sg +30 -0
  1328. db/PE/UltraPro.2.sg +18 -0
  1329. db/PE/UnoPiX.2.sg +27 -0
  1330. db/PE/VBox.2.sg +15 -0
  1331. db/PE/VCasm-Protector.2.sg +21 -0
  1332. db/PE/VMProtect.2.sg +296 -0
  1333. db/PE/VMProtect_NET.2.sg +57 -0
  1334. db/PE/VPacker.2.sg +13 -0
  1335. db/PE/VaySoft_PDF2EXE.2.sg +16 -0
  1336. db/PE/VbsToExe.1.sg +31 -0
  1337. db/PE/VbsToExeConverter.2.sg +18 -0
  1338. db/PE/Virbox.2.sg +13 -0
  1339. db/PE/Virtual_Pascal.4.sg +15 -0
  1340. db/PE/Vise.1.sg +16 -0
  1341. db/PE/VisualStudio_NET.6.sg +14 -0
  1342. db/PE/Visual_Objects.4.sg +13 -0
  1343. db/PE/Visual_Prolog.4.sg +15 -0
  1344. db/PE/Vulkan.4.sg +14 -0
  1345. db/PE/WF.Guna.UI2.4.sg +15 -0
  1346. db/PE/WF.Krypton.4.sg +14 -0
  1347. db/PE/WF.MetroFramework.4.sg +14 -0
  1348. db/PE/WF_WPF.MaterialSkin.4.sg +14 -0
  1349. db/PE/WWPACK.2.sg +11 -0
  1350. db/PE/Watcom.4.sg +36 -0
  1351. db/PE/WiX_Toolset_installer.1.sg +21 -0
  1352. db/PE/Wibu_Codemeter.1.sg +30 -0
  1353. db/PE/WinACE.1.sg +12 -0
  1354. db/PE/WinIMP.1.sg +15 -0
  1355. db/PE/WinImage.1.sg +15 -0
  1356. db/PE/WinPatch.1.sg +18 -0
  1357. db/PE/WinRAR.1.sg +18 -0
  1358. db/PE/WinRAR_Installer.1.sg +28 -0
  1359. db/PE/WinUpack.2.sg +64 -0
  1360. db/PE/WinZip.1.sg +44 -0
  1361. db/PE/Winamp_Installer.1.sg +14 -0
  1362. db/PE/Wind_of_Crypt.2.sg +12 -0
  1363. db/PE/Windows_Authenticode.7.sg +13 -0
  1364. db/PE/Windows_Installer.1.sg +22 -0
  1365. db/PE/Wine.3.sg +12 -0
  1366. db/PE/Wise_Installer.1.sg +52 -0
  1367. db/PE/XCR.2.sg +13 -0
  1368. db/PE/XComp.2.sg +19 -0
  1369. db/PE/XPACK.2.sg +17 -0
  1370. db/PE/Xash.3.sg +20 -0
  1371. db/PE/Xbase.4.sg +30 -0
  1372. db/PE/Xenocode_Postbuild.2.sg +12 -0
  1373. db/PE/Xerces-CPP.4.sg +15 -0
  1374. db/PE/XerinFuscator.2.sg +31 -0
  1375. db/PE/Xojo.3.sg +29 -0
  1376. db/PE/Xoreax_installer.1.sg +19 -0
  1377. db/PE/Xtreamlok.2.sg +22 -0
  1378. db/PE/Yano.2.sg +12 -0
  1379. db/PE/Yodas_Crypter.2.sg +35 -0
  1380. db/PE/Yodas_Protector.2.sg +15 -0
  1381. db/PE/Yummy_Game_SoftwareShield.2.sg +17 -0
  1382. db/PE/Zig.4.sg +22 -0
  1383. db/PE/ZipCentral_SFX.1.sg +16 -0
  1384. db/PE/Zip_SFX.2.sg +62 -0
  1385. db/PE/Zprotect.2.sg +26 -0
  1386. db/PE/Zydis.4.sg +14 -0
  1387. db/PE/_FixDetects.9.sg +79 -0
  1388. db/PE/_NetCompilersLibs.4.sg +39 -0
  1389. db/PE/_PE.0.sg +22 -0
  1390. db/PE/__GenericHeuristicAnalysis_By_DosX.7.sg +3357 -0
  1391. db/PE/_init +138 -0
  1392. db/PE/_simpleNetAntivirus.1.sg +246 -0
  1393. db/PE/aPack.2.sg +26 -0
  1394. db/PE/arj.6.sg +10 -0
  1395. db/PE/beria.2.sg +12 -0
  1396. db/PE/curl.4.sg +14 -0
  1397. db/PE/dUP.1.sg +20 -0
  1398. db/PE/de4dot.6.sg +20 -0
  1399. db/PE/dePACK.2.sg +13 -0
  1400. db/PE/distutils.1.sg +18 -0
  1401. db/PE/eXPressor.2.sg +59 -0
  1402. db/PE/ezip.2.sg +14 -0
  1403. db/PE/gcc.4.sg +15 -0
  1404. db/PE/hXOR_packer.sg +13 -0
  1405. db/PE/hmimys_PE-Pack.2.sg +23 -0
  1406. db/PE/hmimys_Protect.2.sg +18 -0
  1407. db/PE/iPB_Protect.2.sg +12 -0
  1408. db/PE/inPEct.1.sg +10 -0
  1409. db/PE/java.3.sg +21 -0
  1410. db/PE/keygens.1.sg +25 -0
  1411. db/PE/kkrunchy.2.sg +19 -0
  1412. db/PE/ldc.4.sg +13 -0
  1413. db/PE/linker.6.sg +100 -0
  1414. db/PE/mPack.2.sg +15 -0
  1415. db/PE/mkfPack.2.sg +12 -0
  1416. db/PE/nPack.2.sg +36 -0
  1417. db/PE/netshrink.2.sg +25 -0
  1418. db/PE/obfus_h.5.sg +15 -0
  1419. db/PE/obfusheader_h.5.sg +32 -0
  1420. db/PE/ps2exe.2.sg +15 -0
  1421. db/PE/rar.1.sg +16 -0
  1422. db/PE/rar.6.sg +10 -0
  1423. db/PE/scr2exe.2.sg +18 -0
  1424. db/PE/sql-server.sg +14 -0
  1425. db/PE/sqlite.4.sg +14 -0
  1426. db/PE/sqx.1.sg +14 -0
  1427. db/PE/tElock.2.sg +81 -0
  1428. db/PE/tcc.4.sg +45 -0
  1429. db/PE/wxWidgets.5.sg +27 -0
  1430. db/PE/yzPack.2.sg +26 -0
  1431. db/PE/zip.6.sg +10 -0
  1432. db/PE/zlib.4.sg +14 -0
  1433. db/QtFramework +16 -0
  1434. db/RosASM +13 -0
  1435. db/SpASM +8 -0
  1436. db/ZIP/_ZIP.0.sg +17 -0
  1437. db/ZIP/_init +2 -0
  1438. db/_debug +23 -0
  1439. db/_init +149 -0
  1440. db/archive-file +36 -0
  1441. db/arj +80 -0
  1442. db/cab +45 -0
  1443. db/duration +14 -0
  1444. db/language +46 -0
  1445. db/python +30 -0
  1446. db/rar +75 -0
  1447. db/read +692 -0
  1448. db/shell-script +24 -0
  1449. db/wxWidgets +12 -0
  1450. db/zip-file +87 -0
  1451. db/zlib +23 -0
  1452. die/Qt6Concurrent.dll +0 -0
  1453. die/Qt6Core.dll +0 -0
  1454. die/Qt6Network.dll +0 -0
  1455. die/Qt6Qml.dll +0 -0
  1456. die/__init__.py +125 -0
  1457. die/_die.cp313-win_amd64.pyd +0 -0
  1458. die/db/db/.vscode/about.txt +1 -0
  1459. die/db/db/.vscode/settings.json +5 -0
  1460. die/db/db/ACE +48 -0
  1461. die/db/db/APK/APKProtect.2.sg +15 -0
  1462. die/db/db/APK/APKProtector.2.sg +20 -0
  1463. die/db/db/APK/AlibabaProtection.2.sg +15 -0
  1464. die/db/db/APK/AndroidRepublic.2.sg +17 -0
  1465. die/db/db/APK/ApktoolPlus.6.sg +12 -0
  1466. die/db/db/APK/AppGuard.2.sg +17 -0
  1467. die/db/db/APK/AppSolid.2.sg +12 -0
  1468. die/db/db/APK/BaiduProtection.2.sg +18 -0
  1469. die/db/db/APK/BangBangReinforcement.2.sg +27 -0
  1470. die/db/db/APK/BangcleProtection.2.sg +14 -0
  1471. die/db/db/APK/DXShield.2.sg +12 -0
  1472. die/db/db/APK/DexProtector.2.sg +23 -0
  1473. die/db/db/APK/DingXiangReinforcement.2.sg +14 -0
  1474. die/db/db/APK/EasyShield.2.sg +19 -0
  1475. die/db/db/APK/Gemalto.2.sg +19 -0
  1476. die/db/db/APK/Hdus-Wjus.2.sg +14 -0
  1477. die/db/db/APK/IL2CPP.4.sg +14 -0
  1478. die/db/db/APK/Ijiami.2.sg +24 -0
  1479. die/db/db/APK/Jiagu.2.sg +17 -0
  1480. die/db/db/APK/Kiro.2.sg +12 -0
  1481. die/db/db/APK/Kiwi.2.sg +23 -0
  1482. die/db/db/APK/Kony.2.sg +12 -0
  1483. die/db/db/APK/LIAPP.2.sg +16 -0
  1484. die/db/db/APK/MedusaH.2.sg +12 -0
  1485. die/db/db/APK/MobileTencentProtect.2.sg +14 -0
  1486. die/db/db/APK/NQShield.2.sg +15 -0
  1487. die/db/db/APK/NagaPTProtection.2.sg +14 -0
  1488. die/db/db/APK/OLLVM-TTL.2.sg +14 -0
  1489. die/db/db/APK/Obfuscapk.2.sg +14 -0
  1490. die/db/db/APK/PackageName.1.sg +15 -0
  1491. die/db/db/APK/PangXie.2.sg +14 -0
  1492. die/db/db/APK/ProGuard.2.sg +12 -0
  1493. die/db/db/APK/QDBH.2.sg +12 -0
  1494. die/db/db/APK/Qihoo360Protection.2.sg +15 -0
  1495. die/db/db/APK/SandHook.4.sg +16 -0
  1496. die/db/db/APK/SecNeo.2.sg +19 -0
  1497. die/db/db/APK/SecShell.2.sg +15 -0
  1498. die/db/db/APK/SingleJar.3.sg +10 -0
  1499. die/db/db/APK/TencentLegu.2.sg +18 -0
  1500. die/db/db/APK/TencentProtection.2.sg +14 -0
  1501. die/db/db/APK/TencentSecurity.2.sg +17 -0
  1502. die/db/db/APK/TongfuShield.2.sg +21 -0
  1503. die/db/db/APK/UnicomSDK.4.sg +21 -0
  1504. die/db/db/APK/Unity.4.sg +12 -0
  1505. die/db/db/APK/VDog.2.sg +16 -0
  1506. die/db/db/APK/Yidun.2.sg +16 -0
  1507. die/db/db/APK/_APK.0.sg +15 -0
  1508. die/db/db/APK/_init +2 -0
  1509. die/db/db/APK/iCrypt.2.sg +24 -0
  1510. die/db/db/Amiga/DeliTracker.1.sg +14 -0
  1511. die/db/db/Amiga/_Amiga.0.sg +15 -0
  1512. die/db/db/Amiga/_init +2 -0
  1513. die/db/db/Archive/_Archive.0.sg +17 -0
  1514. die/db/db/Archive/_init +2 -0
  1515. die/db/db/Binary/Amiga_loadable.1.sg +16 -0
  1516. die/db/db/Binary/Empty.1.sg +11 -0
  1517. die/db/db/Binary/Img.UDIF.1.sg +15 -0
  1518. die/db/db/Binary/RIFF.1.sg +19 -0
  1519. die/db/db/Binary/U-Boot.1.sg +321 -0
  1520. die/db/db/Binary/Universal_Binary.1.sg +17 -0
  1521. die/db/db/Binary/Video.FLV.1.sg +16 -0
  1522. die/db/db/Binary/__MiniExtensionsHeuristic_By_DosX.7.sg +184 -0
  1523. die/db/db/Binary/__MiniJavaScriptHeuristic_By_DosX.7.sg +44 -0
  1524. die/db/db/Binary/_init +4 -0
  1525. die/db/db/Binary/archive.7z.1.sg +14 -0
  1526. die/db/db/Binary/archive.ACE.1.sg +10 -0
  1527. die/db/db/Binary/archive.AR.1.sg +85 -0
  1528. die/db/db/Binary/archive.ARC.1.sg +16 -0
  1529. die/db/db/Binary/archive.ARJ.1.sg +9 -0
  1530. die/db/db/Binary/archive.ASAR.sg +13 -0
  1531. die/db/db/Binary/archive.BZip.1.sg +20 -0
  1532. die/db/db/Binary/archive.CFL3.1.sg +25 -0
  1533. die/db/db/Binary/archive.Cab.1.sg +25 -0
  1534. die/db/db/Binary/archive.DEFLATE.1.sg +186 -0
  1535. die/db/db/Binary/archive.DotBundle.sg +9 -0
  1536. die/db/db/Binary/archive.LRZ.1.sg +57 -0
  1537. die/db/db/Binary/archive.LZ4.1.sg +42 -0
  1538. die/db/db/Binary/archive.LZOP.1.sg +13 -0
  1539. die/db/db/Binary/archive.MS_Compound.1.sg +24 -0
  1540. die/db/db/Binary/archive.PEA.1.sg +65 -0
  1541. die/db/db/Binary/archive.RAR.1.sg +9 -0
  1542. die/db/db/Binary/archive.Unity.1.sg +74 -0
  1543. die/db/db/Binary/archive.ZIP.1.sg +10 -0
  1544. die/db/db/Binary/archive.ZLIB.1.sg +14 -0
  1545. die/db/db/Binary/archive.ZPAQ.1.sg +15 -0
  1546. die/db/db/Binary/archive.btoa.1.sg +14 -0
  1547. die/db/db/Binary/archives.1.sg +299 -0
  1548. die/db/db/Binary/archives.ancient.sg +506 -0
  1549. die/db/db/Binary/audio.1.sg +12079 -0
  1550. die/db/db/Binary/audio.8svx.1.sg +16 -0
  1551. die/db/db/Binary/audio.ACM.1.sg +22 -0
  1552. die/db/db/Binary/audio.AU.1.sg +49 -0
  1553. die/db/db/Binary/audio.DSS.1.sg +57 -0
  1554. die/db/db/Binary/audio.FSB.1.sg +105 -0
  1555. die/db/db/Binary/audio.VOC.1.sg +97 -0
  1556. die/db/db/Binary/audio.WAV.1.sg +320 -0
  1557. die/db/db/Binary/audio.mp3.2.sg +189 -0
  1558. die/db/db/Binary/backup_images.1.sg +27 -0
  1559. die/db/db/Binary/bin.AAALogo.1.sg +16 -0
  1560. die/db/db/Binary/bin.Atari_ST.1.sg +12 -0
  1561. die/db/db/Binary/bin.GameMaps.1.sg +13 -0
  1562. die/db/db/Binary/bin.GuitarPro.1.sg +26 -0
  1563. die/db/db/Binary/bin.Hermes.1.sg +16 -0
  1564. die/db/db/Binary/bin.IDA.1.sg +78 -0
  1565. die/db/db/Binary/bin.ISO_9660.1.sg +13 -0
  1566. die/db/db/Binary/bin.JMDL.1.sg +34 -0
  1567. die/db/db/Binary/bin.JSC.1.sg +88 -0
  1568. die/db/db/Binary/bin.Java.1.sg +152 -0
  1569. die/db/db/Binary/bin.KeePass.1.sg +22 -0
  1570. die/db/db/Binary/bin.LUA.1.sg +48 -0
  1571. die/db/db/Binary/bin.NVA.1.sg +15 -0
  1572. die/db/db/Binary/bin.PDB.1.sg +16 -0
  1573. die/db/db/Binary/bin.PEFF.1.sg +11 -0
  1574. die/db/db/Binary/bin.PalmFile.1.sg +104 -0
  1575. die/db/db/Binary/bin.Python.1.sg +628 -0
  1576. die/db/db/Binary/bin.RPGMaker2Kdata.1.sg +242 -0
  1577. die/db/db/Binary/bin.SWF.1.sg +26 -0
  1578. die/db/db/Binary/bin.WAD.1.sg +19 -0
  1579. die/db/db/Binary/bin.WindowsIconCacheDB.1.sg +34 -0
  1580. die/db/db/Binary/bin.ZBMP.1.sg +16 -0
  1581. die/db/db/Binary/cad.DWG.1.sg +63 -0
  1582. die/db/db/Binary/cert.WinAuth.1.sg +13 -0
  1583. die/db/db/Binary/database.SQLite.1.sg +45 -0
  1584. die/db/db/Binary/databases.1.sg +117 -0
  1585. die/db/db/Binary/debugData.1.sg +68 -0
  1586. die/db/db/Binary/doc.CHM.1.sg +18 -0
  1587. die/db/db/Binary/doc.DJVU.1.sg +113 -0
  1588. die/db/db/Binary/doc.HLP.1.sg +11 -0
  1589. die/db/db/Binary/doc.PDF.1.sg +16 -0
  1590. die/db/db/Binary/doc.RTF.1.sg +13 -0
  1591. die/db/db/Binary/donut.1.sg +49 -0
  1592. die/db/db/Binary/font.ADOBE.1.sg +35 -0
  1593. die/db/db/Binary/font.BMF.1.sg +63 -0
  1594. die/db/db/Binary/format.MS-DBG.1.sg +19 -0
  1595. die/db/db/Binary/format.MS-PST.sg +15 -0
  1596. die/db/db/Binary/format.MS-VHD.1.sg +61 -0
  1597. die/db/db/Binary/format.MS-VHDX.sg +16 -0
  1598. die/db/db/Binary/format.MS-WIM.1.sg +43 -0
  1599. die/db/db/Binary/format.MS-XNA.1.sg +80 -0
  1600. die/db/db/Binary/format.UE.1.sg +36 -0
  1601. die/db/db/Binary/format.VDI.1.sg +40 -0
  1602. die/db/db/Binary/formats.1.sg +90 -0
  1603. die/db/db/Binary/graphics.1.sg +37 -0
  1604. die/db/db/Binary/image.ANI.1.sg +26 -0
  1605. die/db/db/Binary/image.BMP.1.sg +48 -0
  1606. die/db/db/Binary/image.CUR.1.sg +55 -0
  1607. die/db/db/Binary/image.DDS.1.sg +26 -0
  1608. die/db/db/Binary/image.EPS.1.sg +26 -0
  1609. die/db/db/Binary/image.GIF.1.sg +95 -0
  1610. die/db/db/Binary/image.ICO.1.sg +57 -0
  1611. die/db/db/Binary/image.JNG.1.sg +34 -0
  1612. die/db/db/Binary/image.JPEG.1.sg +52 -0
  1613. die/db/db/Binary/image.JPEG.DQT.4.sg +13 -0
  1614. die/db/db/Binary/image.JPEG.Tools.3.sg +53 -0
  1615. die/db/db/Binary/image.JPEG.camera.2.sg +16 -0
  1616. die/db/db/Binary/image.JPEG.comment.4.sg +16 -0
  1617. die/db/db/Binary/image.JPEGXL.1.sg +15 -0
  1618. die/db/db/Binary/image.KTX.1.sg +44 -0
  1619. die/db/db/Binary/image.LBM.1.sg +69 -0
  1620. die/db/db/Binary/image.MNG.1.sg +19 -0
  1621. die/db/db/Binary/image.PCX.1.sg +69 -0
  1622. die/db/db/Binary/image.PNG.1.sg +165 -0
  1623. die/db/db/Binary/image.PSD.1.sg +63 -0
  1624. die/db/db/Binary/image.PVR.1.sg +29 -0
  1625. die/db/db/Binary/image.QOI.1.sg +36 -0
  1626. die/db/db/Binary/image.TGA.1.sg +149 -0
  1627. die/db/db/Binary/image.TIFF.1.sg +186 -0
  1628. die/db/db/Binary/image.XAR.1.sg +31 -0
  1629. die/db/db/Binary/img.VM.1.sg +13 -0
  1630. die/db/db/Binary/overlays.6.sg +367 -0
  1631. die/db/db/Binary/rom.1.sg +1327 -0
  1632. die/db/db/Binary/shellcode.pe_to_shellcode.1.sg +107 -0
  1633. die/db/db/Binary/srdi-monoxgas.1.sg +128 -0
  1634. die/db/db/Binary/text.HTML.1.sg +14 -0
  1635. die/db/db/Binary/text.Pascal.1.sg +19 -0
  1636. die/db/db/Binary/text.RegistryFile.sg +20 -0
  1637. die/db/db/Binary/text.Shell.1.sg +14 -0
  1638. die/db/db/Binary/text.XML.1.sg +18 -0
  1639. die/db/db/Binary/text.c.1.sg +35 -0
  1640. die/db/db/Binary/text.pdb.1.sg +40 -0
  1641. die/db/db/Binary/text.plaintext.3.sg +25 -0
  1642. die/db/db/Binary/text.python.1.sg +17 -0
  1643. die/db/db/Binary/text.script.2.sg +16 -0
  1644. die/db/db/Binary/video.MP4.1.sg +16 -0
  1645. die/db/db/Borland +19 -0
  1646. die/db/db/COM/32-bit_crypt.2.sg +13 -0
  1647. die/db/db/COM/4kZIP.2.sg +13 -0
  1648. die/db/db/COM/8086_Forth_83.4.sg +14 -0
  1649. die/db/db/COM/A3E.1.sg +13 -0
  1650. die/db/db/COM/ABK-Scrambler.2.sg +12 -0
  1651. die/db/db/COM/ACE_Scrambler.2.sg +34 -0
  1652. die/db/db/COM/ACiDDRAW.1.sg +16 -0
  1653. die/db/db/COM/ANS2ALL.1.sg +18 -0
  1654. die/db/db/COM/ARF_AV_Inject.1.sg +14 -0
  1655. die/db/db/COM/ASC2COM.1.sg +25 -0
  1656. die/db/db/COM/ASIC-Basic.4.sg +21 -0
  1657. die/db/db/COM/AVAST-Protect.2.sg +13 -0
  1658. die/db/db/COM/AVPACK.2.sg +14 -0
  1659. die/db/db/COM/AdFlt.2.sg +17 -0
  1660. die/db/db/COM/Anti-Lamer_Cryptor.2.sg +14 -0
  1661. die/db/db/COM/Anti-hack_encryption_system.2.sg +13 -0
  1662. die/db/db/COM/AutoCracker.1.sg +14 -0
  1663. die/db/db/COM/BAT2EXEC.2.sg +18 -0
  1664. die/db/db/COM/BIN-Lock.2.sg +14 -0
  1665. die/db/db/COM/BatLite.4.sg +13 -0
  1666. die/db/db/COM/Best_Protection_Kit-B.2.sg +16 -0
  1667. die/db/db/COM/Borland_C++.4.sg +17 -0
  1668. die/db/db/COM/Budokan.1.sg +13 -0
  1669. die/db/db/COM/C-crypt.2.sg +14 -0
  1670. die/db/db/COM/CC#3.2.sg +13 -0
  1671. die/db/db/COM/CC.2.sg +22 -0
  1672. die/db/db/COM/CC286.2.sg +14 -0
  1673. die/db/db/COM/CCC.2.sg +16 -0
  1674. die/db/db/COM/CHECKPRG.2.sg +13 -0
  1675. die/db/db/COM/CNT.2.sg +13 -0
  1676. die/db/db/COM/COM-Protect.2.sg +16 -0
  1677. die/db/db/COM/COM-Protection.2.sg +13 -0
  1678. die/db/db/COM/COM2TXT.1.sg +13 -0
  1679. die/db/db/COM/COMCRYPT.2.sg +23 -0
  1680. die/db/db/COM/COMPACK.2.sg +32 -0
  1681. die/db/db/COM/COMPROTECT.2.sg +14 -0
  1682. die/db/db/COM/COM_Sccrambler.2.sg +14 -0
  1683. die/db/db/COM/COP.2.sg +14 -0
  1684. die/db/db/COM/CPAV.1.sg +13 -0
  1685. die/db/db/COM/CRX2COM.1.sg +12 -0
  1686. die/db/db/COM/Character_Intro_Engine.1.sg +16 -0
  1687. die/db/db/COM/Cheat_packer.2.sg +13 -0
  1688. die/db/db/COM/CodeLock.2.sg +14 -0
  1689. die/db/db/COM/ComProt.2.sg +13 -0
  1690. die/db/db/COM/ComProtector.2.sg +18 -0
  1691. die/db/db/COM/Comlock.2.sg +19 -0
  1692. die/db/db/COM/CrAcKeR.2.sg +14 -0
  1693. die/db/db/COM/Crack2EXE.1.sg +14 -0
  1694. die/db/db/COM/CryptCom.2.sg +18 -0
  1695. die/db/db/COM/CryptGeneric.2.sg +12 -0
  1696. die/db/db/COM/Crypt_(Dismember).2.sg +16 -0
  1697. die/db/db/COM/Crypto-King.2.sg +13 -0
  1698. die/db/db/COM/CyberWare_Packer.2.sg +13 -0
  1699. die/db/db/COM/DCFR.2.sg +13 -0
  1700. die/db/db/COM/DIGPAK.1.sg +16 -0
  1701. die/db/db/COM/DOC2COM.1.sg +13 -0
  1702. die/db/db/COM/DOC2PAGE.1.sg +13 -0
  1703. die/db/db/COM/DS-CRP.2.sg +16 -0
  1704. die/db/db/COM/Datalight_C.4.sg +15 -0
  1705. die/db/db/COM/Deep_Crypter.2.sg +14 -0
  1706. die/db/db/COM/Deeper.2.sg +17 -0
  1707. die/db/db/COM/Diet.2.sg +26 -0
  1708. die/db/db/COM/Dn.COM_Cruncher.2.sg +13 -0
  1709. die/db/db/COM/E2C-Scrambler.2.sg +13 -0
  1710. die/db/db/COM/E2C.1.sg +16 -0
  1711. die/db/db/COM/E2C1.2.sg +13 -0
  1712. die/db/db/COM/EPW.2.sg +14 -0
  1713. die/db/db/COM/EXE2COM.1.sg +72 -0
  1714. die/db/db/COM/EXETools.2.sg +22 -0
  1715. die/db/db/COM/EXETools_EXE2COM.1.sg +16 -0
  1716. die/db/db/COM/Easy!-C.4.sg +13 -0
  1717. die/db/db/COM/Entropy_Coder.2.sg +13 -0
  1718. die/db/db/COM/ExOM.2.sg +14 -0
  1719. die/db/db/COM/FCRYPT.2.sg +14 -0
  1720. die/db/db/COM/FIXCRK.1.sg +13 -0
  1721. die/db/db/COM/Fig-FORTH.4.sg +13 -0
  1722. die/db/db/COM/ForthCMP.2.sg +23 -0
  1723. die/db/db/COM/ForthCMP.4.sg +18 -0
  1724. die/db/db/COM/FromBAT.1.sg +18 -0
  1725. die/db/db/COM/GOAT.2.sg +19 -0
  1726. die/db/db/COM/GP-FORTH.4.sg +14 -0
  1727. die/db/db/COM/Guardian_Angel.2.sg +28 -0
  1728. die/db/db/COM/HDKPROTC.2.sg +13 -0
  1729. die/db/db/COM/HYPDOC.1.sg +13 -0
  1730. die/db/db/COM/HackStop.2.sg +19 -0
  1731. die/db/db/COM/ICE.1.sg +13 -0
  1732. die/db/db/COM/IMMUN.1.sg +14 -0
  1733. die/db/db/COM/Inbuild_Encryption.2.sg +14 -0
  1734. die/db/db/COM/IntroC0der.1.sg +13 -0
  1735. die/db/db/COM/J0B_cryptor.2.sg +13 -0
  1736. die/db/db/COM/Keygen_crypt.2.sg +14 -0
  1737. die/db/db/COM/Khrome_Crypt.2.sg +14 -0
  1738. die/db/db/COM/LAME_GG.2.sg +12 -0
  1739. die/db/db/COM/LAMPROT.2.sg +13 -0
  1740. die/db/db/COM/LGLZ.2.sg +14 -0
  1741. die/db/db/COM/LHA.1.sg +16 -0
  1742. die/db/db/COM/LHarc_SFX.1.sg +16 -0
  1743. die/db/db/COM/Lattice_C.4.sg +32 -0
  1744. die/db/db/COM/List.1.sg +21 -0
  1745. die/db/db/COM/Lock-Master.2.sg +14 -0
  1746. die/db/db/COM/MASK.2.sg +26 -0
  1747. die/db/db/COM/MCLock.2.sg +13 -0
  1748. die/db/db/COM/MESS.2.sg +13 -0
  1749. die/db/db/COM/MICRO-C.4.sg +16 -0
  1750. die/db/db/COM/MIDPAK.1.sg +13 -0
  1751. die/db/db/COM/MINIFORTH.4.sg +14 -0
  1752. die/db/db/COM/MSCC.2.sg +14 -0
  1753. die/db/db/COM/MakeRead.1.sg +14 -0
  1754. die/db/db/COM/Maveriks_C0der.2.sg +16 -0
  1755. die/db/db/COM/MegaShield.2.sg +14 -0
  1756. die/db/db/COM/Microsoft_C.4.sg +13 -0
  1757. die/db/db/COM/Microsoft_RTL.3.sg +16 -0
  1758. die/db/db/COM/Microxor.2.sg +13 -0
  1759. die/db/db/COM/MoonRock.2.sg +14 -0
  1760. die/db/db/COM/NH.2.sg +13 -0
  1761. die/db/db/COM/NetCode.1.sg +18 -0
  1762. die/db/db/COM/NetRun.1.sg +13 -0
  1763. die/db/db/COM/NoAV.2.sg +13 -0
  1764. die/db/db/COM/Nodebug.2.sg +14 -0
  1765. die/db/db/COM/ONLINE-HELP.1.sg +13 -0
  1766. die/db/db/COM/OUTFORTH.4.sg +13 -0
  1767. die/db/db/COM/PBFC.2.sg +14 -0
  1768. die/db/db/COM/PCOM.2.sg +14 -0
  1769. die/db/db/COM/PCRYPT.2.sg +14 -0
  1770. die/db/db/COM/PCVault-Protect.2.sg +13 -0
  1771. die/db/db/COM/PC_FORTH.4.sg +13 -0
  1772. die/db/db/COM/PKLITE.2.sg +29 -0
  1773. die/db/db/COM/PKZip.1.sg +18 -0
  1774. die/db/db/COM/PRO-PACK.2.sg +21 -0
  1775. die/db/db/COM/PROTECT.2.sg +67 -0
  1776. die/db/db/COM/PTP.2.sg +16 -0
  1777. die/db/db/COM/PU-Cryptor.2.sg +25 -0
  1778. die/db/db/COM/PassCOM.2.sg +13 -0
  1779. die/db/db/COM/Phrozen_Crew_cryptor.2.sg +13 -0
  1780. die/db/db/COM/ProtEXE.2.sg +14 -0
  1781. die/db/db/COM/R-Crypt.2.sg +19 -0
  1782. die/db/db/COM/RCC.2.sg +25 -0
  1783. die/db/db/COM/RDT_Compressor2.2.sg +13 -0
  1784. die/db/db/COM/RDT_ENC_3.2.sg +13 -0
  1785. die/db/db/COM/RELETTER.1.sg +14 -0
  1786. die/db/db/COM/RMCOBOL.4.sg +16 -0
  1787. die/db/db/COM/RSCC.2.sg +65 -0
  1788. die/db/db/COM/SCC.2.sg +13 -0
  1789. die/db/db/COM/SCRAM.2.sg +14 -0
  1790. die/db/db/COM/SCRE2B.2.sg +14 -0
  1791. die/db/db/COM/SCRNCH.2.sg +22 -0
  1792. die/db/db/COM/SDW.2.sg +34 -0
  1793. die/db/db/COM/SHOWV20.1.sg +18 -0
  1794. die/db/db/COM/SHOW_IT.1.sg +13 -0
  1795. die/db/db/COM/SHRINK.2.sg +14 -0
  1796. die/db/db/COM/SP-FORTH.4.sg +18 -0
  1797. die/db/db/COM/SPHINX_C--.4.sg +24 -0
  1798. die/db/db/COM/Scramb.2.sg +18 -0
  1799. die/db/db/COM/Scrypt!.2.sg +18 -0
  1800. die/db/db/COM/Scrypt.2.sg +14 -0
  1801. die/db/db/COM/SelfCrypt.2.sg +13 -0
  1802. die/db/db/COM/SelfProtect386.2.sg +12 -0
  1803. die/db/db/COM/Shadow.2.sg +14 -0
  1804. die/db/db/COM/Shadow_COM_encryptor.2.sg +14 -0
  1805. die/db/db/COM/Six-2-Four.2.sg +18 -0
  1806. die/db/db/COM/SnoopStop.2.sg +14 -0
  1807. die/db/db/COM/SoftGuard.1.sg +13 -0
  1808. die/db/db/COM/Steplock.2.sg +14 -0
  1809. die/db/db/COM/Surpas-86.4.sg +14 -0
  1810. die/db/db/COM/Sydex.2.sg +13 -0
  1811. die/db/db/COM/TCEC.2.sg +14 -0
  1812. die/db/db/COM/TCOM.4.sg +16 -0
  1813. die/db/db/COM/TPACK.2.sg +18 -0
  1814. die/db/db/COM/TPC_Scramble.2.sg +12 -0
  1815. die/db/db/COM/TXT2COM.1.sg +22 -0
  1816. die/db/db/COM/TXTmaker.1.sg +14 -0
  1817. die/db/db/COM/Text_Header.1.sg +14 -0
  1818. die/db/db/COM/The_DRAW.1.sg +15 -0
  1819. die/db/db/COM/Tiny_Xor.2.sg +14 -0
  1820. die/db/db/COM/TurboBAT.1.sg +21 -0
  1821. die/db/db/COM/Turbo_C++.4.sg +13 -0
  1822. die/db/db/COM/Turbo_C.4.sg +27 -0
  1823. die/db/db/COM/Turbo_Pascal.4.sg +30 -0
  1824. die/db/db/COM/Txt2Exe.1.sg +14 -0
  1825. die/db/db/COM/UNIFORTH.4.sg +13 -0
  1826. die/db/db/COM/UPX.2.sg +22 -0
  1827. die/db/db/COM/USCC.2.sg +14 -0
  1828. die/db/db/COM/UnPackStop.2.sg +17 -0
  1829. die/db/db/COM/UniCrypt.1.sg +14 -0
  1830. die/db/db/COM/Unknown_cryptors.2.sg +74 -0
  1831. die/db/db/COM/VGA_font_loader.1.sg +13 -0
  1832. die/db/db/COM/VSF&K_protection.2.sg +13 -0
  1833. die/db/db/COM/VSS.1.sg +13 -0
  1834. die/db/db/COM/Vacsina.4.sg +12 -0
  1835. die/db/db/COM/Venus.2.sg +12 -0
  1836. die/db/db/COM/Vienna-C.4.sg +12 -0
  1837. die/db/db/COM/Watcom_C.4.sg +37 -0
  1838. die/db/db/COM/WiZ_Cryptor.2.sg +14 -0
  1839. die/db/db/COM/XCK2COM.1.sg +12 -0
  1840. die/db/db/COM/XE.2.sg +13 -0
  1841. die/db/db/COM/XORCOPY.2.sg +14 -0
  1842. die/db/db/COM/XPACK.2.sg +22 -0
  1843. die/db/db/COM/XcomOR.2.sg +24 -0
  1844. die/db/db/COM/XoReR.2.sg +26 -0
  1845. die/db/db/COM/XorCom.2.sg +14 -0
  1846. die/db/db/COM/Zbikowski_C.4.sg +13 -0
  1847. die/db/db/COM/Zortech_C.4.sg +26 -0
  1848. die/db/db/COM/_init +2 -0
  1849. die/db/db/COM/aPACK.2.sg +22 -0
  1850. die/db/db/COM/aPatch.2.sg +13 -0
  1851. die/db/db/COM/acBBS_protection.2.sg +13 -0
  1852. die/db/db/COM/com-crypt.2.sg +16 -0
  1853. die/db/db/COM/com_RLE_packer.2.sg +15 -0
  1854. die/db/db/COM/cryptors.2.sg +214 -0
  1855. die/db/db/COM/envelope.2.sg +13 -0
  1856. die/db/db/COM/fds-cp.2.sg +13 -0
  1857. die/db/db/COM/integrity_checker.1.sg +13 -0
  1858. die/db/db/COM/mCrypt.2.sg +14 -0
  1859. die/db/db/COM/muSIMP-83.4.sg +14 -0
  1860. die/db/db/COM/packers.2.sg +26 -0
  1861. die/db/db/COM/patchers.1.sg +100 -0
  1862. die/db/db/COM/protection.2.sg +13 -0
  1863. die/db/db/COM/readme.com.1.sg +12 -0
  1864. die/db/db/COM/simple_ansi_viewer.1.sg +12 -0
  1865. die/db/db/COM/simple_self-displayer.1.sg +12 -0
  1866. die/db/db/COM/spirit.2.sg +22 -0
  1867. die/db/db/COM/x3.2.sg +18 -0
  1868. die/db/db/CurIcoBPP +14 -0
  1869. die/db/db/DEX/AESObfuscator.2.sg +14 -0
  1870. die/db/db/DEX/APKProtect.2.sg +12 -0
  1871. die/db/db/DEX/AlibabaProtection.2.sg +12 -0
  1872. die/db/db/DEX/AllatoriObfuscator.2.sg +14 -0
  1873. die/db/db/DEX/ApkEncryptor.2.sg +12 -0
  1874. die/db/db/DEX/ApkToolPlus.6.sg +12 -0
  1875. die/db/db/DEX/AppSolid.2.sg +12 -0
  1876. die/db/db/DEX/BaiduProtection.2.sg +12 -0
  1877. die/db/db/DEX/BangcleProtection.2.sg +12 -0
  1878. die/db/db/DEX/EasyProtector.2.sg +12 -0
  1879. die/db/db/DEX/Jiagu.2.sg +12 -0
  1880. die/db/db/DEX/Kiwi.2.sg +12 -0
  1881. die/db/db/DEX/LIAPP.2.sg +12 -0
  1882. die/db/db/DEX/MedusaH.2.sg +12 -0
  1883. die/db/db/DEX/ModGuard.2.sg +16 -0
  1884. die/db/db/DEX/NQShield.2.sg +12 -0
  1885. die/db/db/DEX/NagaPTProtection.2.sg +12 -0
  1886. die/db/db/DEX/PangXie.2.sg +12 -0
  1887. die/db/db/DEX/ProGuard.2.sg +12 -0
  1888. die/db/db/DEX/QDBH.2.sg +12 -0
  1889. die/db/db/DEX/SecNeo.2.sg +12 -0
  1890. die/db/db/DEX/TencentProtection.2.sg +12 -0
  1891. die/db/db/DEX/UnicomSDK.4.sg +12 -0
  1892. die/db/db/DEX/VDog.2.sg +12 -0
  1893. die/db/db/DEX/Yidun.2.sg +12 -0
  1894. die/db/db/DEX/_DEX.0.sg +15 -0
  1895. die/db/db/DEX/_init +2 -0
  1896. die/db/db/DOS16M/_DOS16M.0.sg +15 -0
  1897. die/db/db/DOS16M/_init +2 -0
  1898. die/db/db/DOS4G/_DOS4G.0.sg +15 -0
  1899. die/db/db/DOS4G/_init +2 -0
  1900. die/db/db/ELF/Borland_Kylix.4.sg +19 -0
  1901. die/db/db/ELF/Burneye.2.sg +12 -0
  1902. die/db/db/ELF/DMD.4.sg +31 -0
  1903. die/db/db/ELF/ELFCrypt.2.sg +12 -0
  1904. die/db/db/ELF/Ezuri.1.sg +30 -0
  1905. die/db/db/ELF/FASM.4.sg +23 -0
  1906. die/db/db/ELF/Flexlm.4.sg +15 -0
  1907. die/db/db/ELF/Free_Pascal.4.sg +46 -0
  1908. die/db/db/ELF/GLIBC.3.sg +49 -0
  1909. die/db/db/ELF/Go.4.sg +126 -0
  1910. die/db/db/ELF/HASP.1.sg +28 -0
  1911. die/db/db/ELF/HP_C++.4.sg +12 -0
  1912. die/db/db/ELF/IBM_AIX_kernel_loader.sg +18 -0
  1913. die/db/db/ELF/Oracle_Solaris_Studio.4.sg +47 -0
  1914. die/db/db/ELF/PyInstaller.2.sg +24 -0
  1915. die/db/db/ELF/QT.3.sg +44 -0
  1916. die/db/db/ELF/Rust.4.sg +25 -0
  1917. die/db/db/ELF/SDL.3.sg +35 -0
  1918. die/db/db/ELF/UPX.2.sg +57 -0
  1919. die/db/db/ELF/VBCC.4.sg +17 -0
  1920. die/db/db/ELF/Virbox.2.sg +17 -0
  1921. die/db/db/ELF/Watcom.4.sg +15 -0
  1922. die/db/db/ELF/Zig.4.sg +22 -0
  1923. die/db/db/ELF/_ELF.0.sg +15 -0
  1924. die/db/db/ELF/_init +2 -0
  1925. die/db/db/ELF/gcc.4.sg +95 -0
  1926. die/db/db/ELF/gdc.4.sg +13 -0
  1927. die/db/db/ELF/ldc.4.sg +34 -0
  1928. die/db/db/ELF/movfuscator.4.sg +19 -0
  1929. die/db/db/FASM +9 -0
  1930. die/db/db/FPC +11 -0
  1931. die/db/db/IPA/_init +2 -0
  1932. die/db/db/JAR/SingleJar.3.sg +13 -0
  1933. die/db/db/JAR/_JAR.0.sg +15 -0
  1934. die/db/db/JAR/_init +2 -0
  1935. die/db/db/LE/UPX.1.sg +85 -0
  1936. die/db/db/LE/Watcom_C.4.sg +24 -0
  1937. die/db/db/LE/_LE.0.sg +15 -0
  1938. die/db/db/LE/_init +2 -0
  1939. die/db/db/LX/Watcom C.4.sg +51 -0
  1940. die/db/db/LX/_LX.0.sg +15 -0
  1941. die/db/db/LX/_init +2 -0
  1942. die/db/db/MACH/Carbon.3.sg +13 -0
  1943. die/db/db/MACH/Cocoa.3.sg +11 -0
  1944. die/db/db/MACH/Delphi.4.sg +21 -0
  1945. die/db/db/MACH/QT.3.sg +18 -0
  1946. die/db/db/MACH/UPX.2.sg +15 -0
  1947. die/db/db/MACH/Virbox.2.sg +13 -0
  1948. die/db/db/MACH/WebKit.3.sg +11 -0
  1949. die/db/db/MACH/Zig.4.sg +22 -0
  1950. die/db/db/MACH/_MACH.0.sg +15 -0
  1951. die/db/db/MACH/_init +2 -0
  1952. die/db/db/MACH/gcc.4.sg +35 -0
  1953. die/db/db/MACH/java.3.sg +15 -0
  1954. die/db/db/MACHOFAT/_MACHOFAT.0.sg +15 -0
  1955. die/db/db/MACHOFAT/_init +2 -0
  1956. die/db/db/MFC +14 -0
  1957. die/db/db/MSDOS/$pirit.2.sg +47 -0
  1958. die/db/db/MSDOS/32stub.0a.sg +13 -0
  1959. die/db/db/MSDOS/ABKprot.2.sg +12 -0
  1960. die/db/db/MSDOS/ACE.6.sg +10 -0
  1961. die/db/db/MSDOS/AEP.2.sg +12 -0
  1962. die/db/db/MSDOS/AINEXE.2.sg +19 -0
  1963. die/db/db/MSDOS/ALEC.2.sg +14 -0
  1964. die/db/db/MSDOS/ANS2ALL.1.sg +14 -0
  1965. die/db/db/MSDOS/ARC.1.sg +23 -0
  1966. die/db/db/MSDOS/ARJ.1.sg +14 -0
  1967. die/db/db/MSDOS/ASIC-Basic.4.sg +18 -0
  1968. die/db/db/MSDOS/AVAST_CRC-Check.2.sg +14 -0
  1969. die/db/db/MSDOS/AVPACK.2.sg +16 -0
  1970. die/db/db/MSDOS/Ada89.4.sg +13 -0
  1971. die/db/db/MSDOS/Adys_COM2EXE.1.sg +11 -0
  1972. die/db/db/MSDOS/Adys_Glue.2.sg +15 -0
  1973. die/db/db/MSDOS/Aluwain.2.sg +12 -0
  1974. die/db/db/MSDOS/Amisetup.1.sg +13 -0
  1975. die/db/db/MSDOS/Anti-LAME.2.sg +13 -0
  1976. die/db/db/MSDOS/Anti-hack_encryption_system.2.sg +13 -0
  1977. die/db/db/MSDOS/Antilame.2.sg +14 -0
  1978. die/db/db/MSDOS/ApBasic.4.sg +17 -0
  1979. die/db/db/MSDOS/AutoHack.1.sg +12 -0
  1980. die/db/db/MSDOS/Aztec_C-86.4.sg +40 -0
  1981. die/db/db/MSDOS/BAT2EXEC.4.sg +16 -0
  1982. die/db/db/MSDOS/BSTAR_FORTH.4.sg +13 -0
  1983. die/db/db/MSDOS/BatLite.4.sg +13 -0
  1984. die/db/db/MSDOS/BetterBASIC.4.sg +13 -0
  1985. die/db/db/MSDOS/Bitlok.2.sg +14 -0
  1986. die/db/db/MSDOS/Black_fist.2.sg +13 -0
  1987. die/db/db/MSDOS/Blinker.0a.sg +25 -0
  1988. die/db/db/MSDOS/Borland_C.4.sg +89 -0
  1989. die/db/db/MSDOS/Borland_Pascal.4.sg +89 -0
  1990. die/db/db/MSDOS/Borland_RTM.0a.sg +33 -0
  1991. die/db/db/MSDOS/Borland_TDS.sg +14 -0
  1992. die/db/db/MSDOS/Borland_TLINK.5.sg +13 -0
  1993. die/db/db/MSDOS/Bunny.2.sg +14 -0
  1994. die/db/db/MSDOS/CC.2.sg +18 -0
  1995. die/db/db/MSDOS/CEPexe.2.sg +12 -0
  1996. die/db/db/MSDOS/CERBERUS.2.sg +12 -0
  1997. die/db/db/MSDOS/CII-C.4.sg +18 -0
  1998. die/db/db/MSDOS/COMCRYPT.2.sg +15 -0
  1999. die/db/db/MSDOS/COMPACK.2.sg +15 -0
  2000. die/db/db/MSDOS/COMPROTECT.2.sg +14 -0
  2001. die/db/db/MSDOS/CONVOY.2.sg +17 -0
  2002. die/db/db/MSDOS/CPAV.1.sg +13 -0
  2003. die/db/db/MSDOS/CRYPACK.2.sg +12 -0
  2004. die/db/db/MSDOS/CRYPTEXE.2.sg +19 -0
  2005. die/db/db/MSDOS/CSCRYPT_Pro.2.sg +14 -0
  2006. die/db/db/MSDOS/CWSDPMI.0a.sg +22 -0
  2007. die/db/db/MSDOS/CauseWay_DOS_Extender.0a.sg +16 -0
  2008. die/db/db/MSDOS/ChSFX.1.sg +27 -0
  2009. die/db/db/MSDOS/Ciphator.2.sg +12 -0
  2010. die/db/db/MSDOS/Coderunner.1.sg +22 -0
  2011. die/db/db/MSDOS/Codesafe.2.sg +13 -0
  2012. die/db/db/MSDOS/ComProtector.2.sg +15 -0
  2013. die/db/db/MSDOS/ComprEXE.2.sg +14 -0
  2014. die/db/db/MSDOS/Compress-EXE.2.sg +14 -0
  2015. die/db/db/MSDOS/Concurrent_Small_C.4.sg +16 -0
  2016. die/db/db/MSDOS/CopyQM_SFX.1.sg +16 -0
  2017. die/db/db/MSDOS/Copy_Protector.2.sg +15 -0
  2018. die/db/db/MSDOS/Copylock_PC.1.sg +13 -0
  2019. die/db/db/MSDOS/CrAcKeR.2.sg +14 -0
  2020. die/db/db/MSDOS/CrackStop.2.sg +16 -0
  2021. die/db/db/MSDOS/Cruncher.2.sg +12 -0
  2022. die/db/db/MSDOS/CryExe.2.sg +12 -0
  2023. die/db/db/MSDOS/CryptCom.2.sg +14 -0
  2024. die/db/db/MSDOS/Crypt_(Dismember).2.sg +25 -0
  2025. die/db/db/MSDOS/Crypt_(LightShow).2.sg +25 -0
  2026. die/db/db/MSDOS/CrypteXeC.2.sg +15 -0
  2027. die/db/db/MSDOS/Cryptors.2.sg +59 -0
  2028. die/db/db/MSDOS/DAEMON_Protect.2.sg +12 -0
  2029. die/db/db/MSDOS/DCREXE.2.sg +18 -0
  2030. die/db/db/MSDOS/DIET.2.sg +33 -0
  2031. die/db/db/MSDOS/DMC.2.sg +14 -0
  2032. die/db/db/MSDOS/DOS32.0a.sg +22 -0
  2033. die/db/db/MSDOS/DOS32_loader.0a.sg +14 -0
  2034. die/db/db/MSDOS/DOS4G.0a.sg +16 -0
  2035. die/db/db/MSDOS/DOSX16.0a.sg +27 -0
  2036. die/db/db/MSDOS/DOS_16M.0a.sg +31 -0
  2037. die/db/db/MSDOS/DOS_32A.0a.sg +22 -0
  2038. die/db/db/MSDOS/DSHIELD.2.sg +11 -0
  2039. die/db/db/MSDOS/Deeper.2.sg +17 -0
  2040. die/db/db/MSDOS/DemoMaker.2.sg +14 -0
  2041. die/db/db/MSDOS/DexEXE.2.sg +14 -0
  2042. die/db/db/MSDOS/Digital_Research_C.4.sg +16 -0
  2043. die/db/db/MSDOS/Disk_eXPress.1.sg +14 -0
  2044. die/db/db/MSDOS/E-PROT.2.sg +14 -0
  2045. die/db/db/MSDOS/EEXE.2.sg +14 -0
  2046. die/db/db/MSDOS/EMMXXXX0_check.0a.sg +12 -0
  2047. die/db/db/MSDOS/EMX.0a.sg +16 -0
  2048. die/db/db/MSDOS/EPW.2.sg +18 -0
  2049. die/db/db/MSDOS/EXARJ.1.sg +13 -0
  2050. die/db/db/MSDOS/EXE-Crypt.2.sg +13 -0
  2051. die/db/db/MSDOS/EXE-Cryptor.2.sg +19 -0
  2052. die/db/db/MSDOS/EXE-Protect.2.sg +13 -0
  2053. die/db/db/MSDOS/EXE2COM.1.sg +22 -0
  2054. die/db/db/MSDOS/EXECUTRIX.2.sg +13 -0
  2055. die/db/db/MSDOS/EXEGUARD.2.sg +12 -0
  2056. die/db/db/MSDOS/EXEHigh.2.sg +14 -0
  2057. die/db/db/MSDOS/EXEPACK.2.sg +57 -0
  2058. die/db/db/MSDOS/EXETools.2.sg +16 -0
  2059. die/db/db/MSDOS/EXETools_COM2EXE.1.sg +12 -0
  2060. die/db/db/MSDOS/EXE_Manager.2.sg +14 -0
  2061. die/db/db/MSDOS/EXE_Packer.2.sg +15 -0
  2062. die/db/db/MSDOS/EXE_encryption.2.sg +13 -0
  2063. die/db/db/MSDOS/Easy!-C.4.sg +15 -0
  2064. die/db/db/MSDOS/Eliashim's_CodeTrack.1.sg +12 -0
  2065. die/db/db/MSDOS/Encriptor.2.sg +12 -0
  2066. die/db/db/MSDOS/Enkryptonator.2.sg +12 -0
  2067. die/db/db/MSDOS/ExeCode.2.sg +18 -0
  2068. die/db/db/MSDOS/ExeLITE.2.sg +15 -0
  2069. die/db/db/MSDOS/ExeLock.2.sg +16 -0
  2070. die/db/db/MSDOS/F-XLOCK.1.sg +13 -0
  2071. die/db/db/MSDOS/FACRYPT.2.sg +12 -0
  2072. die/db/db/MSDOS/FCP_IV.2.sg +13 -0
  2073. die/db/db/MSDOS/FSE.2.sg +61 -0
  2074. die/db/db/MSDOS/File_Shield.1.sg +19 -0
  2075. die/db/db/MSDOS/Fitted_Modula-2.4.sg +14 -0
  2076. die/db/db/MSDOS/ForthInfo.4.sg +18 -0
  2077. die/db/db/MSDOS/FromBAT.1.sg +13 -0
  2078. die/db/db/MSDOS/GFX_to_EXE.1.sg +14 -0
  2079. die/db/db/MSDOS/GIFEXE.1.sg +16 -0
  2080. die/db/db/MSDOS/GOAT.1.sg +21 -0
  2081. die/db/db/MSDOS/GRABBER.1.sg +26 -0
  2082. die/db/db/MSDOS/GRASP.4.sg +20 -0
  2083. die/db/db/MSDOS/GamBit_Pro_Library.1.sg +14 -0
  2084. die/db/db/MSDOS/GameWizard_DOS_Extender.0a.sg +12 -0
  2085. die/db/db/MSDOS/Go32Stub.0a.sg +22 -0
  2086. die/db/db/MSDOS/Graphic_WorkShop.1.sg +14 -0
  2087. die/db/db/MSDOS/Guardian_Angel.2.sg +21 -0
  2088. die/db/db/MSDOS/H+BEDV_SelfCheck.1.sg +18 -0
  2089. die/db/db/MSDOS/HACKSTOP.2.sg +77 -0
  2090. die/db/db/MSDOS/HASP.2.sg +14 -0
  2091. die/db/db/MSDOS/HEALTH.2.sg +12 -0
  2092. die/db/db/MSDOS/Header_Changer.2.sg +13 -0
  2093. die/db/db/MSDOS/Hi-Tech_C.4.sg +16 -0
  2094. die/db/db/MSDOS/HyperLOCK_386.2.sg +14 -0
  2095. die/db/db/MSDOS/IBM_PC_Pascal.4.sg +32 -0
  2096. die/db/db/MSDOS/ICE.1.sg +13 -0
  2097. die/db/db/MSDOS/IMMUN.1.sg +14 -0
  2098. die/db/db/MSDOS/Inertia.2.sg +14 -0
  2099. die/db/db/MSDOS/Ironthorn.2.sg +14 -0
  2100. die/db/db/MSDOS/JAM.2.sg +12 -0
  2101. die/db/db/MSDOS/JmCryptExe.2.sg +19 -0
  2102. die/db/db/MSDOS/John_Socha_Library.3.sg +13 -0
  2103. die/db/db/MSDOS/Joke.2.sg +13 -0
  2104. die/db/db/MSDOS/KeyMaker.2.sg +14 -0
  2105. die/db/db/MSDOS/Khrome_Crypt.2.sg +12 -0
  2106. die/db/db/MSDOS/Kvetch.2.sg +14 -0
  2107. die/db/db/MSDOS/LE.0.sg +11 -0
  2108. die/db/db/MSDOS/LGLZ.2.sg +14 -0
  2109. die/db/db/MSDOS/LH.1.sg +11 -0
  2110. die/db/db/MSDOS/LHA.1.sg +20 -0
  2111. die/db/db/MSDOS/LHarc.1.sg +19 -0
  2112. die/db/db/MSDOS/LOCK.2.sg +14 -0
  2113. die/db/db/MSDOS/LSI_C.4.sg +14 -0
  2114. die/db/db/MSDOS/LX.0.sg +11 -0
  2115. die/db/db/MSDOS/LZEXE.2.sg +42 -0
  2116. die/db/db/MSDOS/L_O_V_E__FORTH.4.sg +18 -0
  2117. die/db/db/MSDOS/Lahey_Fortran.4.sg +15 -0
  2118. die/db/db/MSDOS/LamerStop.2.sg +12 -0
  2119. die/db/db/MSDOS/Lattice_C.4.sg +88 -0
  2120. die/db/db/MSDOS/LockTite+.2.sg +12 -0
  2121. die/db/db/MSDOS/Logitech_Modula-2.4.sg +14 -0
  2122. die/db/db/MSDOS/MEGALITE.2.sg +12 -0
  2123. die/db/db/MSDOS/MESS.2.sg +30 -0
  2124. die/db/db/MSDOS/MSLite.1.sg +14 -0
  2125. die/db/db/MSDOS/Maker.2.sg +14 -0
  2126. die/db/db/MSDOS/Mandrake.2.sg +13 -0
  2127. die/db/db/MSDOS/MegaBasic.4.sg +16 -0
  2128. die/db/db/MSDOS/MegaBasic1.4.sg +30 -0
  2129. die/db/db/MSDOS/Meridian_Ada.4.sg +29 -0
  2130. die/db/db/MSDOS/Meridian_Pascal.4.sg +22 -0
  2131. die/db/db/MSDOS/MetaWare_High_C.4.sg +30 -0
  2132. die/db/db/MSDOS/MetaWare_Professional_Pascal.4.sg +24 -0
  2133. die/db/db/MSDOS/Micro_Focus_Cobol.4.sg +19 -0
  2134. die/db/db/MSDOS/Micro_Focus_DOS_extender.0a.sg +13 -0
  2135. die/db/db/MSDOS/Microsoft_Basic.4.sg +23 -0
  2136. die/db/db/MSDOS/Microsoft_C.4.sg +57 -0
  2137. die/db/db/MSDOS/Microsoft_C_Library.3.sg +20 -0
  2138. die/db/db/MSDOS/Microsoft_Fortran.4.sg +15 -0
  2139. die/db/db/MSDOS/Microsoft_Quick_Basic.4.sg +35 -0
  2140. die/db/db/MSDOS/Microsoft_Quick_Pascal.4.sg +16 -0
  2141. die/db/db/MSDOS/Microsoft_RTL.3.sg +48 -0
  2142. die/db/db/MSDOS/Microsoft_RTL_(Clipper).3.sg +13 -0
  2143. die/db/db/MSDOS/MultiLoop_Protection.2.sg +13 -0
  2144. die/db/db/MSDOS/MutaWWP.2.sg +14 -0
  2145. die/db/db/MSDOS/Mutate.2.sg +21 -0
  2146. die/db/db/MSDOS/NE.0.sg +11 -0
  2147. die/db/db/MSDOS/NOCLIP.2.sg +14 -0
  2148. die/db/db/MSDOS/NOTA.2.sg +14 -0
  2149. die/db/db/MSDOS/NTShell.2.sg +14 -0
  2150. die/db/db/MSDOS/Netware_loader.1.sg +12 -0
  2151. die/db/db/MSDOS/Nodebug.2.sg +14 -0
  2152. die/db/db/MSDOS/Novex.2.sg +12 -0
  2153. die/db/db/MSDOS/Oberon-M.4.sg +14 -0
  2154. die/db/db/MSDOS/Optlink.2.sg +31 -0
  2155. die/db/db/MSDOS/Overlay.2.sg +13 -0
  2156. die/db/db/MSDOS/Oyster.1.sg +13 -0
  2157. die/db/db/MSDOS/PACKWIN.2.sg +14 -0
  2158. die/db/db/MSDOS/PC-Guard.2.sg +30 -0
  2159. die/db/db/MSDOS/PCC.4.sg +28 -0
  2160. die/db/db/MSDOS/PCOM.2.sg +14 -0
  2161. die/db/db/MSDOS/PDC_Prolog.4.sg +15 -0
  2162. die/db/db/MSDOS/PGMPAK.2.sg +17 -0
  2163. die/db/db/MSDOS/PGPROT.1.sg +12 -0
  2164. die/db/db/MSDOS/PKEXE.2.sg +13 -0
  2165. die/db/db/MSDOS/PKLITE.2.sg +59 -0
  2166. die/db/db/MSDOS/PKSFX.1.sg +15 -0
  2167. die/db/db/MSDOS/PKTINY.2.sg +14 -0
  2168. die/db/db/MSDOS/PKZIP-SFX.1.sg +13 -0
  2169. die/db/db/MSDOS/PKZIP_mini-sfx.1.sg +17 -0
  2170. die/db/db/MSDOS/PK_sig.1.sg +12 -0
  2171. die/db/db/MSDOS/PMODE.0a.sg +17 -0
  2172. die/db/db/MSDOS/PMWLite.2.sg +14 -0
  2173. die/db/db/MSDOS/PRO-PACK.2.sg +16 -0
  2174. die/db/db/MSDOS/PRO32.0a.sg +14 -0
  2175. die/db/db/MSDOS/PROPACK_SFX.1.sg +13 -0
  2176. die/db/db/MSDOS/PROTECT.2.sg +101 -0
  2177. die/db/db/MSDOS/PVAC.2.sg +14 -0
  2178. die/db/db/MSDOS/Pacific_C.4.sg +24 -0
  2179. die/db/db/MSDOS/Pack.2.sg +14 -0
  2180. die/db/db/MSDOS/Packers.2.sg +17 -0
  2181. die/db/db/MSDOS/Palladix.1.sg +12 -0
  2182. die/db/db/MSDOS/Panda_immunizer.1.sg +14 -0
  2183. die/db/db/MSDOS/Pascal_MT+86.4.sg +20 -0
  2184. die/db/db/MSDOS/PassEXE.2.sg +12 -0
  2185. die/db/db/MSDOS/Patchers.1.sg +18 -0
  2186. die/db/db/MSDOS/Phar_Lap.0a.sg +31 -0
  2187. die/db/db/MSDOS/Pksmart.2.sg +14 -0
  2188. die/db/db/MSDOS/Power_C.4.sg +16 -0
  2189. die/db/db/MSDOS/ProtEXE.2.sg +58 -0
  2190. die/db/db/MSDOS/Protector.2.sg +13 -0
  2191. die/db/db/MSDOS/Quadru-Lock.2.sg +12 -0
  2192. die/db/db/MSDOS/R-Crypt.2.sg +13 -0
  2193. die/db/db/MSDOS/RAR.6.sg +8 -0
  2194. die/db/db/MSDOS/REC.2.sg +22 -0
  2195. die/db/db/MSDOS/REC_small.1.sg +26 -0
  2196. die/db/db/MSDOS/REC_small_AV.1.sg +18 -0
  2197. die/db/db/MSDOS/RELETTER.1.sg +14 -0
  2198. die/db/db/MSDOS/RERP.2.sg +13 -0
  2199. die/db/db/MSDOS/RHC.2.sg +14 -0
  2200. die/db/db/MSDOS/RJcrush.2.sg +12 -0
  2201. die/db/db/MSDOS/RLE_com-packer.2.sg +13 -0
  2202. die/db/db/MSDOS/RM_FORTRAN.4.sg +14 -0
  2203. die/db/db/MSDOS/ROSETINY.2.sg +15 -0
  2204. die/db/db/MSDOS/RSX.0a.sg +12 -0
  2205. die/db/db/MSDOS/RTLink_VM_Manager.0a.sg +12 -0
  2206. die/db/db/MSDOS/RTPatch_SFX.1.sg +13 -0
  2207. die/db/db/MSDOS/Realia_Cobol.4.sg +16 -0
  2208. die/db/db/MSDOS/Realia_SPITBOL.4.sg +14 -0
  2209. die/db/db/MSDOS/Relpack.2.sg +14 -0
  2210. die/db/db/MSDOS/SCRNCH.2.sg +14 -0
  2211. die/db/db/MSDOS/SEA-AXE.2.sg +15 -0
  2212. die/db/db/MSDOS/SFX.1.sg +14 -0
  2213. die/db/db/MSDOS/SHOW_IT.1.sg +14 -0
  2214. die/db/db/MSDOS/SP-FORTH.4.sg +18 -0
  2215. die/db/db/MSDOS/Scramb.2.sg +13 -0
  2216. die/db/db/MSDOS/Secure.2.sg +37 -0
  2217. die/db/db/MSDOS/SelfChk.2.sg +14 -0
  2218. die/db/db/MSDOS/Self_UnStuffer.2.sg +16 -0
  2219. die/db/db/MSDOS/Shrink.2.sg +15 -0
  2220. die/db/db/MSDOS/Shrinker.2.sg +14 -0
  2221. die/db/db/MSDOS/SimplyWare.1.sg +22 -0
  2222. die/db/db/MSDOS/Small_C.4.sg +20 -0
  2223. die/db/db/MSDOS/SnoopStop.2.sg +12 -0
  2224. die/db/db/MSDOS/StonyBrook_Pascal.4.sg +26 -0
  2225. die/db/db/MSDOS/Stub-386.0a.sg +13 -0
  2226. die/db/db/MSDOS/SuckStop.2.sg +27 -0
  2227. die/db/db/MSDOS/Sydex_SFX.1.sg +19 -0
  2228. die/db/db/MSDOS/Symantec_BASIC.4.sg +16 -0
  2229. die/db/db/MSDOS/TCEC.2.sg +18 -0
  2230. die/db/db/MSDOS/TMTSTUB.0a.sg +14 -0
  2231. die/db/db/MSDOS/TSCRUNCH.2.sg +13 -0
  2232. die/db/db/MSDOS/TTW.1.sg +17 -0
  2233. die/db/db/MSDOS/TUCCRYP.2.sg +14 -0
  2234. die/db/db/MSDOS/TXT2COM.1.sg +18 -0
  2235. die/db/db/MSDOS/TXTmaker.1.sg +14 -0
  2236. die/db/db/MSDOS/Tenth_Planet.2.sg +13 -0
  2237. die/db/db/MSDOS/TinyProg.2.sg +27 -0
  2238. die/db/db/MSDOS/Tinyprot.2.sg +16 -0
  2239. die/db/db/MSDOS/Topspeed_C.4.sg +20 -0
  2240. die/db/db/MSDOS/Topspeed_Modula.4.sg +42 -0
  2241. die/db/db/MSDOS/TraceLock.2.sg +13 -0
  2242. die/db/db/MSDOS/Trap.2.sg +50 -0
  2243. die/db/db/MSDOS/TurboChainer.1.sg +13 -0
  2244. die/db/db/MSDOS/Turbo_Basic.4.sg +18 -0
  2245. die/db/db/MSDOS/Turbo_Prolog.4.sg +16 -0
  2246. die/db/db/MSDOS/Txt2Exe.1.sg +14 -0
  2247. die/db/db/MSDOS/UCEXE.2.sg +22 -0
  2248. die/db/db/MSDOS/UPX.2.sg +46 -0
  2249. die/db/db/MSDOS/UR_FORTH.4.sg +14 -0
  2250. die/db/db/MSDOS/Un2pack.2.sg +14 -0
  2251. die/db/db/MSDOS/UnPackStop.2.sg +33 -0
  2252. die/db/db/MSDOS/UniVac.1.sg +14 -0
  2253. die/db/db/MSDOS/Unknown_cryptors.2.sg +54 -0
  2254. die/db/db/MSDOS/Upper_Deck_Forth.4.sg +14 -0
  2255. die/db/db/MSDOS/V-Load.1.sg +13 -0
  2256. die/db/db/MSDOS/Visual_Cobol.4.sg +16 -0
  2257. die/db/db/MSDOS/WATCOM.4.sg +59 -0
  2258. die/db/db/MSDOS/WDOSX.0a.sg +14 -0
  2259. die/db/db/MSDOS/WDOSX32.0a.sg +12 -0
  2260. die/db/db/MSDOS/WPFORTH.4.sg +14 -0
  2261. die/db/db/MSDOS/WWPACK.2.sg +89 -0
  2262. die/db/db/MSDOS/WWPACK_mutator.2.sg +53 -0
  2263. die/db/db/MSDOS/Whitesmiths_C.4.sg +21 -0
  2264. die/db/db/MSDOS/Window_book.1.sg +21 -0
  2265. die/db/db/MSDOS/Wizardy_protection.1.sg +12 -0
  2266. die/db/db/MSDOS/WordPerfect_EXEPack.2.sg +12 -0
  2267. die/db/db/MSDOS/XDOC.2.sg +13 -0
  2268. die/db/db/MSDOS/XMLOD.0a.sg +16 -0
  2269. die/db/db/MSDOS/XPACK.2.sg +37 -0
  2270. die/db/db/MSDOS/Xtender.0a.sg +14 -0
  2271. die/db/db/MSDOS/ZIPSCRUB.2.sg +14 -0
  2272. die/db/db/MSDOS/ZOO.1.sg +14 -0
  2273. die/db/db/MSDOS/Zbikowski_C.4.sg +19 -0
  2274. die/db/db/MSDOS/Zip.6.sg +8 -0
  2275. die/db/db/MSDOS/Zortech(Symantec)_C.4.sg +56 -0
  2276. die/db/db/MSDOS/Zurenava_DOS_Extender.0a.sg +13 -0
  2277. die/db/db/MSDOS/_MSDOS.0.sg +15 -0
  2278. die/db/db/MSDOS/_init +52 -0
  2279. die/db/db/MSDOS/aPACK.2.sg +60 -0
  2280. die/db/db/MSDOS/aPatch.2.sg +13 -0
  2281. die/db/db/MSDOS/anti-tracing_add-on.1.sg +12 -0
  2282. die/db/db/MSDOS/com2exe.2.sg +21 -0
  2283. die/db/db/MSDOS/cramble.2.sg +12 -0
  2284. die/db/db/MSDOS/deep-CRyPTer.2.sg +12 -0
  2285. die/db/db/MSDOS/djgpp.4.sg +16 -0
  2286. die/db/db/MSDOS/dos_extender.0a.sg +16 -0
  2287. die/db/db/MSDOS/dos_extender1.0a.sg +13 -0
  2288. die/db/db/MSDOS/dos_extender2.0a.sg +16 -0
  2289. die/db/db/MSDOS/iLUCRYPT.2.sg +18 -0
  2290. die/db/db/MSDOS/immunizer.1.sg +13 -0
  2291. die/db/db/MSDOS/mbp_SHRINK.2.sg +13 -0
  2292. die/db/db/MSDOS/muLISP-87.4.sg +20 -0
  2293. die/db/db/MSDOS/nbuild.2.sg +12 -0
  2294. die/db/db/MSDOS/overlays.6.sg +73 -0
  2295. die/db/db/MSDOS/self-displayer.1.sg +13 -0
  2296. die/db/db/MSDOS/virus.1.sg +13 -0
  2297. die/db/db/NE/ARC_SFX.1.sg +13 -0
  2298. die/db/db/NE/Borland_C++.1.sg +25 -0
  2299. die/db/db/NE/Borland_Pascal.1.sg +13 -0
  2300. die/db/db/NE/MS_RTL.0.sg +28 -0
  2301. die/db/db/NE/PKZIP-SFX.1.sg +13 -0
  2302. die/db/db/NE/Setup-Specialist.1.sg +16 -0
  2303. die/db/db/NE/Sydex_SFX.1.sg +13 -0
  2304. die/db/db/NE/Watcom_C.1.sg +35 -0
  2305. die/db/db/NE/_NE.0.sg +15 -0
  2306. die/db/db/NE/_init +2 -0
  2307. die/db/db/NPM/JavaScript.5.sg +11 -0
  2308. die/db/db/NPM/PackageName.1.sg +15 -0
  2309. die/db/db/NPM/TypeScript.5.sg +11 -0
  2310. die/db/db/NPM/_NPM.0.sg +16 -0
  2311. die/db/db/NPM/_init +2 -0
  2312. die/db/db/PE/12Ghosts_Zip2.1.sg +16 -0
  2313. die/db/db/PE/32Lite.2.sg +13 -0
  2314. die/db/db/PE/7z.1.sg +43 -0
  2315. die/db/db/PE/7z.4.sg +14 -0
  2316. die/db/db/PE/7z.6.sg +21 -0
  2317. die/db/db/PE/ACCAStore.1.sg +14 -0
  2318. die/db/db/PE/ACE.6.sg +10 -0
  2319. die/db/db/PE/ACProtect.2.sg +30 -0
  2320. die/db/db/PE/ADS_Self_Extractor.1.sg +14 -0
  2321. die/db/db/PE/AHTeam_EP_Protector.2.sg +71 -0
  2322. die/db/db/PE/AHpacker.2.sg +13 -0
  2323. die/db/db/PE/AMD_FSR.4.sg +23 -0
  2324. die/db/db/PE/ANDpakk.2.sg +21 -0
  2325. die/db/db/PE/AOLSetup.1.sg +15 -0
  2326. die/db/db/PE/ARJSFX.1.sg +44 -0
  2327. die/db/db/PE/ARM_Protector.2.sg +21 -0
  2328. die/db/db/PE/ARQ.1.sg +16 -0
  2329. die/db/db/PE/ASDPack.2.sg +12 -0
  2330. die/db/db/PE/ASM_Guard.2.sg +27 -0
  2331. die/db/db/PE/ASPR_Stripper.2.sg +12 -0
  2332. die/db/db/PE/ASPack.2.sg +95 -0
  2333. die/db/db/PE/ASProtect.2.sg +56 -0
  2334. die/db/db/PE/AT4RE_Protector.2.sg +13 -0
  2335. die/db/db/PE/AZProtect_0001.2.sg +11 -0
  2336. die/db/db/PE/Aase_Crypter.2.sg +12 -0
  2337. die/db/db/PE/Abbyy_Lingvo.1.sg +15 -0
  2338. die/db/db/PE/Acronis_installer.1.sg +30 -0
  2339. die/db/db/PE/ActiveMark.2.sg +14 -0
  2340. die/db/db/PE/Active_Delivery.1.sg +16 -0
  2341. die/db/db/PE/Actual_Installer.1.sg +16 -0
  2342. die/db/db/PE/Adobe_FlashPlayer_downloader.1.sg +17 -0
  2343. die/db/db/PE/Adobe_installers.1.sg +32 -0
  2344. die/db/db/PE/Advanced_BAT_to_EXE_converter.2.sg +13 -0
  2345. die/db/db/PE/Advanced_installer.1.sg +30 -0
  2346. die/db/db/PE/Adveractive.1.sg +14 -0
  2347. die/db/db/PE/Aeco_installer.1.sg +13 -0
  2348. die/db/db/PE/Agile.2.sg +11 -0
  2349. die/db/db/PE/Alchemy_Mindworks_installer.1.sg +19 -0
  2350. die/db/db/PE/Alex_Protector.2.sg +15 -0
  2351. die/db/db/PE/Alienyze.1.sg +14 -0
  2352. die/db/db/PE/Amber.2.sg +17 -0
  2353. die/db/db/PE/Anskya_Binder.2.sg +12 -0
  2354. die/db/db/PE/Anskya_NTPacker_Generator.2.sg +11 -0
  2355. die/db/db/PE/AntiDote.2.sg +33 -0
  2356. die/db/db/PE/Anticrack_Software_Protector.2.sg +15 -0
  2357. die/db/db/PE/App_Encryptor.2.sg +13 -0
  2358. die/db/db/PE/ArmDot.2.sg +17 -0
  2359. die/db/db/PE/Armadillo.2.sg +48 -0
  2360. die/db/db/PE/Arxan.2.sg +69 -0
  2361. die/db/db/PE/AssemblyInvoke.2.sg +11 -0
  2362. die/db/db/PE/Astrum.1.sg +21 -0
  2363. die/db/db/PE/AtomPePacker.2.sg +16 -0
  2364. die/db/db/PE/AutoHotKey.3.sg +20 -0
  2365. die/db/db/PE/AutoIt.3.sg +21 -0
  2366. die/db/db/PE/AutoPlay_Media_Studio.1.sg +26 -0
  2367. die/db/db/PE/Autodesk_Self-Extract.1.sg +14 -0
  2368. die/db/db/PE/AutorunProEnterprise.1.sg +16 -0
  2369. die/db/db/PE/AutorunProEnterpriseII.1.sg +16 -0
  2370. die/db/db/PE/AverCryptor.2.sg +22 -0
  2371. die/db/db/PE/BJFnt.2.sg +18 -0
  2372. die/db/db/PE/Babel_.NET.2.sg +23 -0
  2373. die/db/db/PE/BatToExe.1.sg +15 -0
  2374. die/db/db/PE/BatToExeConverter.2.sg +18 -0
  2375. die/db/db/PE/BatchToApp.2.sg +15 -0
  2376. die/db/db/PE/BattlEye.5.sg +18 -0
  2377. die/db/db/PE/BattleshipCrypter.2.sg +12 -0
  2378. die/db/db/PE/BeRo.2.sg +37 -0
  2379. die/db/db/PE/BeRo_Tiny_Pascal.4.sg +13 -0
  2380. die/db/db/PE/Berio.2.sg +15 -0
  2381. die/db/db/PE/BitRock_Installer.1.sg +22 -0
  2382. die/db/db/PE/BitShape_PE_Crypt.2.sg +15 -0
  2383. die/db/db/PE/BlindSpot.2.sg +12 -0
  2384. die/db/db/PE/Blizzard_PrePatch.1.sg +15 -0
  2385. die/db/db/PE/Borland_C++.4.sg +37 -0
  2386. die/db/db/PE/Break_Into_Pattern.2.sg +12 -0
  2387. die/db/db/PE/BulletProofSoft_installer.1.sg +14 -0
  2388. die/db/db/PE/ByfronTech.2.sg +67 -0
  2389. die/db/db/PE/ByteGuard.2.sg +17 -0
  2390. die/db/db/PE/Bytessence_Install_Maker.1.sg +19 -0
  2391. die/db/db/PE/CExe.2.sg +13 -0
  2392. die/db/db/PE/CICompress.2.sg +12 -0
  2393. die/db/db/PE/CSDD_installer.1.sg +18 -0
  2394. die/db/db/PE/CUDA-Driver.4.sg +14 -0
  2395. die/db/db/PE/CZ_installer.1.sg +14 -0
  2396. die/db/db/PE/Cab.1.sg +60 -0
  2397. die/db/db/PE/Cab.6.sg +33 -0
  2398. die/db/db/PE/Calibre_installer.1.sg +19 -0
  2399. die/db/db/PE/Cameyo.2.sg +12 -0
  2400. die/db/db/PE/Celesty_File_Binder.1.sg +18 -0
  2401. die/db/db/PE/ChainskiCrypter.1.sg +11 -0
  2402. die/db/db/PE/Chaos_Software_installer.1.sg +14 -0
  2403. die/db/db/PE/Chilkat_ZIP_Self-Extractor.1.sg +14 -0
  2404. die/db/db/PE/Chromium_Embedded_Framework.4.sg +14 -0
  2405. die/db/db/PE/Chromium_WebView.4.sg +14 -0
  2406. die/db/db/PE/CipherWall.1.sg +20 -0
  2407. die/db/db/PE/CliSecure.2.sg +21 -0
  2408. die/db/db/PE/ClickTeam.1.sg +17 -0
  2409. die/db/db/PE/CodeCrypt.2.sg +21 -0
  2410. die/db/db/PE/CodeFusion_Wizard.1.sg +14 -0
  2411. die/db/db/PE/CodeSafe.2.sg +12 -0
  2412. die/db/db/PE/CodeVeil.2.sg +20 -0
  2413. die/db/db/PE/Code_Virtualizer.2.sg +12 -0
  2414. die/db/db/PE/Codegear_Installer.1.sg +14 -0
  2415. die/db/db/PE/Codewall.2.sg +18 -0
  2416. die/db/db/PE/CoffeeCup_SFX.2.sg +14 -0
  2417. die/db/db/PE/Confuser.2.sg +39 -0
  2418. die/db/db/PE/CopyMinder.2.sg +11 -0
  2419. die/db/db/PE/Costura.Fody.4.sg +11 -0
  2420. die/db/db/PE/CreateInstall.1.sg +22 -0
  2421. die/db/db/PE/Crinkler.2.sg +15 -0
  2422. die/db/db/PE/CronosCrypter.1.sg +12 -0
  2423. die/db/db/PE/Crunch.2.sg +25 -0
  2424. die/db/db/PE/CrypKey.2.sg +20 -0
  2425. die/db/db/PE/CrypKey_Installer.1.sg +14 -0
  2426. die/db/db/PE/CrypToCrack_Pe_Protector.2.sg +15 -0
  2427. die/db/db/PE/Cryptect.1.sg +13 -0
  2428. die/db/db/PE/Cryptic.2.sg +12 -0
  2429. die/db/db/PE/CryptoObfuscator.2.sg +17 -0
  2430. die/db/db/PE/Cxfreeze.1.sg +23 -0
  2431. die/db/db/PE/Cygwin32.4.sg +11 -0
  2432. die/db/db/PE/DBPE.2.sg +25 -0
  2433. die/db/db/PE/DECFortran.4.sg +23 -0
  2434. die/db/db/PE/DMD.4.sg +44 -0
  2435. die/db/db/PE/DNGuard.2.sg +33 -0
  2436. die/db/db/PE/DS.EZ-Logic.sg +12 -0
  2437. die/db/db/PE/DS.Eutron_SmartKey_dongle.5.sg +29 -0
  2438. die/db/db/PE/DS.HASP_dongle.5.sg +22 -0
  2439. die/db/db/PE/DS.Hardlock_dongle.5.sg +24 -0
  2440. die/db/db/PE/DS.MARX_Crypto-Box_dongle.5.sg +30 -0
  2441. die/db/db/PE/DS.Matrix_Hardware_Lock_dongle.5.sg +19 -0
  2442. die/db/db/PE/DS.NetHASP_dongle.5.sg +19 -0
  2443. die/db/db/PE/DS.Novex_dongle.4.sg +13 -0
  2444. die/db/db/PE/DS.RLM.4.sg +25 -0
  2445. die/db/db/PE/DS.SenseLock_dongle.5.sg +20 -0
  2446. die/db/db/PE/DS.Sentinel_SuperPro.2.sg +21 -0
  2447. die/db/db/PE/DS.Sentinel_SuperPro_dongle.5.sg +20 -0
  2448. die/db/db/PE/DS.Sentinel_dongle.5.sg +28 -0
  2449. die/db/db/PE/DS.SoftLok_dongle.5.sg +17 -0
  2450. die/db/db/PE/DS.Unikey_dongle.5.sg +30 -0
  2451. die/db/db/PE/DS.WIBU_Key_dongle.5.sg +20 -0
  2452. die/db/db/PE/DS.Wizzkey_dongle.5.sg +13 -0
  2453. die/db/db/PE/DYAMAR.2.sg +12 -0
  2454. die/db/db/PE/DZA_Patcher.2.sg +15 -0
  2455. die/db/db/PE/Daemon_Protect.2.sg +13 -0
  2456. die/db/db/PE/DalKrypt.2.sg +12 -0
  2457. die/db/db/PE/DataAnubis.1.sg +11 -0
  2458. die/db/db/PE/DeepSea.2.sg +18 -0
  2459. die/db/db/PE/DelZip_SFX.2.sg +14 -0
  2460. die/db/db/PE/Delphi.4.sg +270 -0
  2461. die/db/db/PE/Denuvo.2.sg +97 -0
  2462. die/db/db/PE/DeployMaster.1.sg +15 -0
  2463. die/db/db/PE/Dimd_SFX.1.sg +15 -0
  2464. die/db/db/PE/Ding_Boys_PE-lock_Phantasm.2.sg +18 -0
  2465. die/db/db/PE/Direct2D.4.sg +14 -0
  2466. die/db/db/PE/Direct3D.4.sg +38 -0
  2467. die/db/db/PE/DirectX.4.sg +14 -0
  2468. die/db/db/PE/Dolphin_VM.1.sg +18 -0
  2469. die/db/db/PE/DotFix_Nice_Protect.2.sg +23 -0
  2470. die/db/db/PE/Dotfuscator.2.sg +11 -0
  2471. die/db/db/PE/Duals_eXe_Encryptor.2.sg +19 -0
  2472. die/db/db/PE/DxPack.2.sg +22 -0
  2473. die/db/db/PE/ENIGMA.2.sg +115 -0
  2474. die/db/db/PE/EXE32Pack.2.sg +12 -0
  2475. die/db/db/PE/EXECryptor.2.sg +99 -0
  2476. die/db/db/PE/EXEFog.2.sg +22 -0
  2477. die/db/db/PE/EXE_Password_Protector.2.sg +12 -0
  2478. die/db/db/PE/Eazfuscator.2.sg +16 -0
  2479. die/db/db/PE/ElecKey.2.sg +33 -0
  2480. die/db/db/PE/ElectronApp.3.sg +22 -0
  2481. die/db/db/PE/Enigma_Virtual_Box.2.sg +13 -0
  2482. die/db/db/PE/Envoy_Packager.1.sg +15 -0
  2483. die/db/db/PE/Escargot.2.sg +15 -0
  2484. die/db/db/PE/Eschalon_installer.1.sg +15 -0
  2485. die/db/db/PE/ExE_Pack.2.sg +23 -0
  2486. die/db/db/PE/Excelsior_Installer.1.sg +14 -0
  2487. die/db/db/PE/Excelsior_JET.4.sg +36 -0
  2488. die/db/db/PE/ExeSplitter.1.sg +24 -0
  2489. die/db/db/PE/ExeStealth.2.sg +40 -0
  2490. die/db/db/PE/Exe_Guarder.2.sg +12 -0
  2491. die/db/db/PE/Exe_Locker.2.sg +12 -0
  2492. die/db/db/PE/Exe_Shield.2.sg +28 -0
  2493. die/db/db/PE/FASM.4.sg +22 -0
  2494. die/db/db/PE/FDM_Installer.1.sg +18 -0
  2495. die/db/db/PE/FISH_.NET.2.sg +17 -0
  2496. die/db/db/PE/FSG.2.sg +136 -0
  2497. die/db/db/PE/FileSplit_Self-Merger.2.sg +13 -0
  2498. die/db/db/PE/FishPE_Shield.2.sg +21 -0
  2499. die/db/db/PE/Fish_PE.2.sg +22 -0
  2500. die/db/db/PE/FixupPak.2.sg +12 -0
  2501. die/db/db/PE/Fox_Pro.3.sg +25 -0
  2502. die/db/db/PE/FreeBasic.6.sg +28 -0
  2503. die/db/db/PE/FreeJoiner.1.sg +45 -0
  2504. die/db/db/PE/Free_Pascal.4.sg +54 -0
  2505. die/db/db/PE/Fusion.2.sg +12 -0
  2506. die/db/db/PE/G!X_Protector.2.sg +12 -0
  2507. die/db/db/PE/GPInstall.1.sg +19 -0
  2508. die/db/db/PE/GSplit.1.sg +20 -0
  2509. die/db/db/PE/GZip.1.sg +20 -0
  2510. die/db/db/PE/GameGuard.2.sg +12 -0
  2511. die/db/db/PE/Gentee_Installer.1.sg +35 -0
  2512. die/db/db/PE/Ghost_Installer.1.sg +16 -0
  2513. die/db/db/PE/GkSetup.1.sg +18 -0
  2514. die/db/db/PE/Go.4.sg +61 -0
  2515. die/db/db/PE/Goats_PE_Mutilator.2.sg +12 -0
  2516. die/db/db/PE/GoldSrc.3.sg +20 -0
  2517. die/db/db/PE/Goliath.2.sg +15 -0
  2518. die/db/db/PE/Gremlin_patcher.1.sg +21 -0
  2519. die/db/db/PE/HASP.2.sg +22 -0
  2520. die/db/db/PE/HASP_HL_Protection.2.sg +34 -0
  2521. die/db/db/PE/HTML_executable.1.sg +20 -0
  2522. die/db/db/PE/HackShield.2.sg +17 -0
  2523. die/db/db/PE/Hide&Protect.2.sg +12 -0
  2524. die/db/db/PE/HidePE.2.sg +255 -0
  2525. die/db/db/PE/Huan.1.sg +12 -0
  2526. die/db/db/PE/HyperTech_Crackproof.2.sg +13 -0
  2527. die/db/db/PE/I-D_Media_installer.1.sg +15 -0
  2528. die/db/db/PE/IDM_Installer.1.sg +15 -0
  2529. die/db/db/PE/ID_Application_Protector(NoNamePacker).2.sg +12 -0
  2530. die/db/db/PE/ILProtector.2.sg +13 -0
  2531. die/db/db/PE/ILUCRYPT.2.sg +15 -0
  2532. die/db/db/PE/IMPostor_Pack.2.sg +12 -0
  2533. die/db/db/PE/INCrypter.2.sg +12 -0
  2534. die/db/db/PE/INFTool.1.sg +15 -0
  2535. die/db/db/PE/INTENIUM.1.sg +13 -0
  2536. die/db/db/PE/IProtect.2.sg +17 -0
  2537. die/db/db/PE/Inno_Setup_Module.1.sg +97 -0
  2538. die/db/db/PE/Inquartos_Obfuscator.2.sg +12 -0
  2539. die/db/db/PE/Instalit.1.sg +25 -0
  2540. die/db/db/PE/Install4j_installer.1.sg +16 -0
  2541. die/db/db/PE/InstallAnywhere.1.sg +36 -0
  2542. die/db/db/PE/InstallShield.1.sg +90 -0
  2543. die/db/db/PE/InstallUs.1.sg +16 -0
  2544. die/db/db/PE/Install_Factory.1.sg +14 -0
  2545. die/db/db/PE/Intel_C.4.sg +14 -0
  2546. die/db/db/PE/Intel_IPP.sg +15 -0
  2547. die/db/db/PE/IntelliProtector.2.sg +17 -0
  2548. die/db/db/PE/InxObfuscator.2.sg +14 -0
  2549. die/db/db/PE/JDPack.2.sg +15 -0
  2550. die/db/db/PE/JScript.4.sg +15 -0
  2551. die/db/db/PE/Jar2exe.1.sg +26 -0
  2552. die/db/db/PE/KBys_Packer.2.sg +21 -0
  2553. die/db/db/PE/KGCrypt.2.sg +11 -0
  2554. die/db/db/PE/KRZIP_SFX.2.sg +15 -0
  2555. die/db/db/PE/KoiVM.2.sg +20 -0
  2556. die/db/db/PE/Kryptonit.2.sg +17 -0
  2557. die/db/db/PE/LARP.2.sg +13 -0
  2558. die/db/db/PE/LCC-Win32.4.sg +15 -0
  2559. die/db/db/PE/LCL.5.sg +17 -0
  2560. die/db/db/PE/LDK.2.sg +21 -0
  2561. die/db/db/PE/LDK_.NET.2.sg +13 -0
  2562. die/db/db/PE/Lahey_Fortran_90.4.sg +20 -0
  2563. die/db/db/PE/LameCrypt.2.sg +12 -0
  2564. die/db/db/PE/Laserlok.2.sg +12 -0
  2565. die/db/db/PE/LimeCrypter.2.sg +56 -0
  2566. die/db/db/PE/Lua_Runtime.4.sg +17 -0
  2567. die/db/db/PE/LucasArts_Update_Installer.1.sg +14 -0
  2568. die/db/db/PE/Lyme_SFX.1.sg +15 -0
  2569. die/db/db/PE/MEW.2.sg +26 -0
  2570. die/db/db/PE/MP-ZipTool.1.sg +14 -0
  2571. die/db/db/PE/MPQ.1.sg +15 -0
  2572. die/db/db/PE/MPRESS.2.sg +52 -0
  2573. die/db/db/PE/MSLRH.2.sg +117 -0
  2574. die/db/db/PE/MZ-Crypt.2.sg +12 -0
  2575. die/db/db/PE/MZ0oPE.2.sg +12 -0
  2576. die/db/db/PE/MaskPE.2.sg +15 -0
  2577. die/db/db/PE/Maxtocode.2.sg +21 -0
  2578. die/db/db/PE/Metrowerks_CodeWarrior.2.sg +26 -0
  2579. die/db/db/PE/MicroJoiner.1.sg +21 -0
  2580. die/db/db/PE/Microsoft.6.sg +1735 -0
  2581. die/db/db/PE/Microsoft_C_Runtime.4.sg +16 -0
  2582. die/db/db/PE/Microsoft_Class_Installer.1.sg +22 -0
  2583. die/db/db/PE/Microsoft_Compound-based_installer.1.sg +14 -0
  2584. die/db/db/PE/Microsoft_Edge_WebView.4.sg +14 -0
  2585. die/db/db/PE/Microsoft_NET_Runtime.4.sg +15 -0
  2586. die/db/db/PE/Microsoft_Warbird.2.sg +15 -0
  2587. die/db/db/PE/Microsoft_dotNET_installer.1.sg +16 -0
  2588. die/db/db/PE/Miktex_Installer.1.sg +15 -0
  2589. die/db/db/PE/MinGW.4.sg +78 -0
  2590. die/db/db/PE/Minke.2.sg +12 -0
  2591. die/db/db/PE/Mioplanet_installer.1.sg +14 -0
  2592. die/db/db/PE/MoleBox.2.sg +41 -0
  2593. die/db/db/PE/Morphnah.2.sg +23 -0
  2594. die/db/db/PE/Multimedia_Fusion_Installer.1.sg +14 -0
  2595. die/db/db/PE/Mystic_Compressor.2.sg +15 -0
  2596. die/db/db/PE/N-Joiner.1.sg +12 -0
  2597. die/db/db/PE/N-Joy.2.sg +25 -0
  2598. die/db/db/PE/NETZ.2.sg +11 -0
  2599. die/db/db/PE/NET_Spider.2.sg +14 -0
  2600. die/db/db/PE/NOS_Installer.1.sg +22 -0
  2601. die/db/db/PE/NOS_Packer.2.sg +13 -0
  2602. die/db/db/PE/NTShell.2.sg +13 -0
  2603. die/db/db/PE/NTkrnl_Protector.2.sg +37 -0
  2604. die/db/db/PE/NakedPacker.2.sg +13 -0
  2605. die/db/db/PE/NanoZip.1.sg +16 -0
  2606. die/db/db/PE/NativeCryptor_by_DosX.2.sg +13 -0
  2607. die/db/db/PE/Native_UD_Packer.2.sg +12 -0
  2608. die/db/db/PE/NecroVM.Virt.2.sg +46 -0
  2609. die/db/db/PE/NeoLite.2.sg +39 -0
  2610. die/db/db/PE/NetReactor.2.sg +103 -0
  2611. die/db/db/PE/NetShieldProtector.2.sg +55 -0
  2612. die/db/db/PE/Newtonsoft.Json.4.sg +14 -0
  2613. die/db/db/PE/Nim.4.sg +18 -0
  2614. die/db/db/PE/Ningishzida.2.sg +12 -0
  2615. die/db/db/PE/NodeJS_Nexe.sg +16 -0
  2616. die/db/db/PE/NodeJS_Pkg.sg +16 -0
  2617. die/db/db/PE/NoobyProtect.2.sg +12 -0
  2618. die/db/db/PE/North_Star_PE_Shrinker.2.sg +12 -0
  2619. die/db/db/PE/NsPacK.2.sg +61 -0
  2620. die/db/db/PE/Nuitka.1.sg +26 -0
  2621. die/db/db/PE/Nullsoft_Scriptable_Install_System.1.sg +96 -0
  2622. die/db/db/PE/Nvidia_DLSS.4.sg +22 -0
  2623. die/db/db/PE/Nvidia_PhysX.4.sg +15 -0
  2624. die/db/db/PE/O'Setup95.1.sg +15 -0
  2625. die/db/db/PE/ORiEN.2.sg +19 -0
  2626. die/db/db/PE/Obfuscar.2.sg +14 -0
  2627. die/db/db/PE/Obfuscator_.NET_2009.2.sg +16 -0
  2628. die/db/db/PE/Obsidium.2.sg +272 -0
  2629. die/db/db/PE/OneVM.2.sg +23 -0
  2630. die/db/db/PE/OpenAL.4.sg +14 -0
  2631. die/db/db/PE/OpenCL.4.sg +14 -0
  2632. die/db/db/PE/OpenCV.4.sg +18 -0
  2633. die/db/db/PE/OpenGL.4.sg +14 -0
  2634. die/db/db/PE/OpenSSL.4.sg +14 -0
  2635. die/db/db/PE/OpusAudio.4.sg +15 -0
  2636. die/db/db/PE/Oreans_CodeVirtualizer.2.sg +14 -0
  2637. die/db/db/PE/OxiJoiner.sg +15 -0
  2638. die/db/db/PE/PACE.2.sg +17 -0
  2639. die/db/db/PE/PACKWIN.2.sg +12 -0
  2640. die/db/db/PE/PCInstall.1.sg +14 -0
  2641. die/db/db/PE/PCShrink.2.sg +15 -0
  2642. die/db/db/PE/PC_Guard.2.sg +20 -0
  2643. die/db/db/PE/PE-Admin.2.sg +12 -0
  2644. die/db/db/PE/PE-Armor.2.sg +21 -0
  2645. die/db/db/PE/PE-Shield.2.sg +16 -0
  2646. die/db/db/PE/PEBundle.2.sg +25 -0
  2647. die/db/db/PE/PECRYPT32.2.sg +22 -0
  2648. die/db/db/PE/PECompact.2.sg +167 -0
  2649. die/db/db/PE/PELock.2.sg +47 -0
  2650. die/db/db/PE/PESpin.2.sg +56 -0
  2651. die/db/db/PE/PETetris.sg +11 -0
  2652. die/db/db/PE/PEUnion.2.sg +122 -0
  2653. die/db/db/PE/PE_Diminisher.2.sg +16 -0
  2654. die/db/db/PE/PE_Encrypt.2.sg +12 -0
  2655. die/db/db/PE/PE_Intro.2.sg +12 -0
  2656. die/db/db/PE/PE_Lock_NT.2.sg +21 -0
  2657. die/db/db/PE/PE_Password.2.sg +12 -0
  2658. die/db/db/PE/PE_Protect.2.sg +15 -0
  2659. die/db/db/PE/PEncrypt.2.sg +21 -0
  2660. die/db/db/PE/PEnguinCrypt.2.sg +12 -0
  2661. die/db/db/PE/PIMP.1.sg +14 -0
  2662. die/db/db/PE/PKLITE.2.sg +15 -0
  2663. die/db/db/PE/PKSFX.1.sg +14 -0
  2664. die/db/db/PE/PMaker.1.sg +13 -0
  2665. die/db/db/PE/PUNiSHER.2.sg +12 -0
  2666. die/db/db/PE/Pack_Master.2.sg +12 -0
  2667. die/db/db/PE/PackageForTheWeb.1.sg +15 -0
  2668. die/db/db/PE/Packanoid.2.sg +12 -0
  2669. die/db/db/PE/Packman.2.sg +18 -0
  2670. die/db/db/PE/Pantaray_QSetup.1.sg +29 -0
  2671. die/db/db/PE/Paquet.1.sg +16 -0
  2672. die/db/db/PE/Paquet_Builder.1.sg +15 -0
  2673. die/db/db/PE/Patch.1.sg +20 -0
  2674. die/db/db/PE/PePack.2.sg +16 -0
  2675. die/db/db/PE/PeX.2.sg +12 -0
  2676. die/db/db/PE/Pe_Ninja.2.sg +12 -0
  2677. die/db/db/PE/Pelles_C.4.sg +14 -0
  2678. die/db/db/PE/Perl.3.sg +93 -0
  2679. die/db/db/PE/PerlApp.1.sg +21 -0
  2680. die/db/db/PE/Petite.2.sg +56 -0
  2681. die/db/db/PE/Phoenix.2.sg +19 -0
  2682. die/db/db/PE/Photo_Compiler.2.sg +15 -0
  2683. die/db/db/PE/PowerBASIC.4.sg +14 -0
  2684. die/db/db/PE/Power_Screen_Recorder.1.sg +16 -0
  2685. die/db/db/PE/Private_EXE_Protector.2.sg +86 -0
  2686. die/db/db/PE/PureBasic.4.sg +55 -0
  2687. die/db/db/PE/PwdProtect.2.sg +11 -0
  2688. die/db/db/PE/Py2exe.1.sg +15 -0
  2689. die/db/db/PE/PyInstaller.2.sg +72 -0
  2690. die/db/db/PE/PyInstallerHider.1.sg +27 -0
  2691. die/db/db/PE/Python.3.sg +22 -0
  2692. die/db/db/PE/Qt.4.sg +33 -0
  2693. die/db/db/PE/Quantum.1.sg +17 -0
  2694. die/db/db/PE/QuestPowerGUI.2.sg +16 -0
  2695. die/db/db/PE/QuickBFC.2.sg +19 -0
  2696. die/db/db/PE/QuickPack_NT.2.sg +13 -0
  2697. die/db/db/PE/RADBasic.4.sg +17 -0
  2698. die/db/db/PE/RCryptor.2.sg +39 -0
  2699. die/db/db/PE/RDG_Tejon_Crypter.2.sg +12 -0
  2700. die/db/db/PE/RJoiner.1.sg +17 -0
  2701. die/db/db/PE/RLP.2.sg +12 -0
  2702. die/db/db/PE/RLPack.2.sg +47 -0
  2703. die/db/db/PE/RNsetup.1.sg +17 -0
  2704. die/db/db/PE/RPP.1.sg +14 -0
  2705. die/db/db/PE/RTPatch.1.sg +15 -0
  2706. die/db/db/PE/ReNET-pack.2.sg +11 -0
  2707. die/db/db/PE/RealBasic.4.sg +24 -0
  2708. die/db/db/PE/RobustObfuscator.2.sg +15 -0
  2709. die/db/db/PE/RosASM.4.sg +20 -0
  2710. die/db/db/PE/Rust.4.sg +34 -0
  2711. die/db/db/PE/SCE_installer.1.sg +18 -0
  2712. die/db/db/PE/SC_Obfuscator.2.sg +12 -0
  2713. die/db/db/PE/SC_Pack.2.sg +13 -0
  2714. die/db/db/PE/SDL.4.sg +21 -0
  2715. die/db/db/PE/SDProtector.2.sg +18 -0
  2716. die/db/db/PE/SFXRun.1.sg +14 -0
  2717. die/db/db/PE/SLVc0deProtector.2.sg +21 -0
  2718. die/db/db/PE/STATICSUP.1.sg +14 -0
  2719. die/db/db/PE/STUD.2.sg +12 -0
  2720. die/db/db/PE/SVK_Protector.2.sg +22 -0
  2721. die/db/db/PE/SZDD.1.sg +40 -0
  2722. die/db/db/PE/Safedisc.2.sg +13 -0
  2723. die/db/db/PE/Safenet_RMS.2.sg +12 -0
  2724. die/db/db/PE/Safengine_Shielden.2.sg +43 -0
  2725. die/db/db/PE/ScriptHookV.4.sg +14 -0
  2726. die/db/db/PE/SecuPack.2.sg +13 -0
  2727. die/db/db/PE/SecuROM.2.sg +22 -0
  2728. die/db/db/PE/Secure_Shade.2.sg +13 -0
  2729. die/db/db/PE/SerGreen_Appacker.2.sg +16 -0
  2730. die/db/db/PE/Setup-Specialist.1.sg +15 -0
  2731. die/db/db/PE/Setup_Factory.1.sg +42 -0
  2732. die/db/db/PE/SfxCA.1.sg +20 -0
  2733. die/db/db/PE/Shrink_Wrap.2.sg +12 -0
  2734. die/db/db/PE/Shrinker.2.sg +27 -0
  2735. die/db/db/PE/SimbiOZ.2.sg +19 -0
  2736. die/db/db/PE/SimplePackerByEronana.2.sg +14 -0
  2737. die/db/db/PE/Simple_Pack.2.sg +15 -0
  2738. die/db/db/PE/Sixxpack.2.sg +20 -0
  2739. die/db/db/PE/Skater.2.sg +16 -0
  2740. die/db/db/PE/Smart_Assembly.2.sg +36 -0
  2741. die/db/db/PE/Smart_Install_Maker.1.sg +17 -0
  2742. die/db/db/PE/SmokesCrypt.2.sg +12 -0
  2743. die/db/db/PE/SoftProtect.2.sg +13 -0
  2744. die/db/db/PE/SoftSentry.2.sg +16 -0
  2745. die/db/db/PE/Soft_Defender.2.sg +20 -0
  2746. die/db/db/PE/Softlocx.1.sg +13 -0
  2747. die/db/db/PE/Software_Compress.2.sg +15 -0
  2748. die/db/db/PE/Sony_Windows_Installer.1.sg +16 -0
  2749. die/db/db/PE/SpASM.4.sg +20 -0
  2750. die/db/db/PE/Special_EXE_Password_Protector.2.sg +12 -0
  2751. die/db/db/PE/SpicesNet.2.sg +34 -0
  2752. die/db/db/PE/Spoon_Installer.1.sg +23 -0
  2753. die/db/db/PE/Spoon_Studio.2.sg +16 -0
  2754. die/db/db/PE/Squeez_SFX.1.sg +15 -0
  2755. die/db/db/PE/Squirrel_installer.1.sg +16 -0
  2756. die/db/db/PE/Squishy.2.sg +11 -0
  2757. die/db/db/PE/StarForce.2.sg +58 -0
  2758. die/db/db/PE/Ste@lth_PE.2.sg +16 -0
  2759. die/db/db/PE/Steam.4.sg +14 -0
  2760. die/db/db/PE/Stones_PE_Encryptor.2.sg +22 -0
  2761. die/db/db/PE/Store_Installer.1.sg +13 -0
  2762. die/db/db/PE/SwiftView_installer.1.sg +15 -0
  2763. die/db/db/PE/Synactis_In-The-Box_Installer.1.sg +21 -0
  2764. die/db/db/PE/TPP_Pack.2.sg +12 -0
  2765. die/db/db/PE/Tages.2.sg +12 -0
  2766. die/db/db/PE/Tarma_Installer.1.sg +29 -0
  2767. die/db/db/PE/TheArk.2.sg +11 -0
  2768. die/db/db/PE/Themida.2.sg +89 -0
  2769. die/db/db/PE/Thinstall.2.sg +89 -0
  2770. die/db/db/PE/TrueCrypt-VeraCrypt_installer.1.sg +18 -0
  2771. die/db/db/PE/UFI_installer.1.sg +14 -0
  2772. die/db/db/PE/UG2002_Cruncher.2.sg +12 -0
  2773. die/db/db/PE/UPX-Patcher.6.sg +29 -0
  2774. die/db/db/PE/UPX.2.sg +174 -0
  2775. die/db/db/PE/UPXFreak.2.sg +12 -0
  2776. die/db/db/PE/UPX_Inliner.2.sg +12 -0
  2777. die/db/db/PE/UPX_Modifier.2.sg +12 -0
  2778. die/db/db/PE/UPX_Mutanter.2.sg +21 -0
  2779. die/db/db/PE/UPX_Protector.2.sg +12 -0
  2780. die/db/db/PE/UPX_lock.2.sg +12 -0
  2781. die/db/db/PE/UPX_scrambler.2.sg +20 -0
  2782. die/db/db/PE/UPX_shit.2.sg +21 -0
  2783. die/db/db/PE/UPXcrypter.2.sg +11 -0
  2784. die/db/db/PE/UPolyX.2.sg +30 -0
  2785. die/db/db/PE/UltraPro.2.sg +18 -0
  2786. die/db/db/PE/UnoPiX.2.sg +27 -0
  2787. die/db/db/PE/VBox.2.sg +15 -0
  2788. die/db/db/PE/VCasm-Protector.2.sg +21 -0
  2789. die/db/db/PE/VMProtect.2.sg +296 -0
  2790. die/db/db/PE/VMProtect_NET.2.sg +57 -0
  2791. die/db/db/PE/VPacker.2.sg +13 -0
  2792. die/db/db/PE/VaySoft_PDF2EXE.2.sg +16 -0
  2793. die/db/db/PE/VbsToExe.1.sg +31 -0
  2794. die/db/db/PE/VbsToExeConverter.2.sg +18 -0
  2795. die/db/db/PE/Virbox.2.sg +13 -0
  2796. die/db/db/PE/Virtual_Pascal.4.sg +15 -0
  2797. die/db/db/PE/Vise.1.sg +16 -0
  2798. die/db/db/PE/VisualStudio_NET.6.sg +14 -0
  2799. die/db/db/PE/Visual_Objects.4.sg +13 -0
  2800. die/db/db/PE/Visual_Prolog.4.sg +15 -0
  2801. die/db/db/PE/Vulkan.4.sg +14 -0
  2802. die/db/db/PE/WF.Guna.UI2.4.sg +15 -0
  2803. die/db/db/PE/WF.Krypton.4.sg +14 -0
  2804. die/db/db/PE/WF.MetroFramework.4.sg +14 -0
  2805. die/db/db/PE/WF_WPF.MaterialSkin.4.sg +14 -0
  2806. die/db/db/PE/WWPACK.2.sg +11 -0
  2807. die/db/db/PE/Watcom.4.sg +36 -0
  2808. die/db/db/PE/WiX_Toolset_installer.1.sg +21 -0
  2809. die/db/db/PE/Wibu_Codemeter.1.sg +30 -0
  2810. die/db/db/PE/WinACE.1.sg +12 -0
  2811. die/db/db/PE/WinIMP.1.sg +15 -0
  2812. die/db/db/PE/WinImage.1.sg +15 -0
  2813. die/db/db/PE/WinPatch.1.sg +18 -0
  2814. die/db/db/PE/WinRAR.1.sg +18 -0
  2815. die/db/db/PE/WinRAR_Installer.1.sg +28 -0
  2816. die/db/db/PE/WinUpack.2.sg +64 -0
  2817. die/db/db/PE/WinZip.1.sg +44 -0
  2818. die/db/db/PE/Winamp_Installer.1.sg +14 -0
  2819. die/db/db/PE/Wind_of_Crypt.2.sg +12 -0
  2820. die/db/db/PE/Windows_Authenticode.7.sg +13 -0
  2821. die/db/db/PE/Windows_Installer.1.sg +22 -0
  2822. die/db/db/PE/Wine.3.sg +12 -0
  2823. die/db/db/PE/Wise_Installer.1.sg +52 -0
  2824. die/db/db/PE/XCR.2.sg +13 -0
  2825. die/db/db/PE/XComp.2.sg +19 -0
  2826. die/db/db/PE/XPACK.2.sg +17 -0
  2827. die/db/db/PE/Xash.3.sg +20 -0
  2828. die/db/db/PE/Xbase.4.sg +30 -0
  2829. die/db/db/PE/Xenocode_Postbuild.2.sg +12 -0
  2830. die/db/db/PE/Xerces-CPP.4.sg +15 -0
  2831. die/db/db/PE/XerinFuscator.2.sg +31 -0
  2832. die/db/db/PE/Xojo.3.sg +29 -0
  2833. die/db/db/PE/Xoreax_installer.1.sg +19 -0
  2834. die/db/db/PE/Xtreamlok.2.sg +22 -0
  2835. die/db/db/PE/Yano.2.sg +12 -0
  2836. die/db/db/PE/Yodas_Crypter.2.sg +35 -0
  2837. die/db/db/PE/Yodas_Protector.2.sg +15 -0
  2838. die/db/db/PE/Yummy_Game_SoftwareShield.2.sg +17 -0
  2839. die/db/db/PE/Zig.4.sg +22 -0
  2840. die/db/db/PE/ZipCentral_SFX.1.sg +16 -0
  2841. die/db/db/PE/Zip_SFX.2.sg +62 -0
  2842. die/db/db/PE/Zprotect.2.sg +26 -0
  2843. die/db/db/PE/Zydis.4.sg +14 -0
  2844. die/db/db/PE/_FixDetects.9.sg +79 -0
  2845. die/db/db/PE/_NetCompilersLibs.4.sg +39 -0
  2846. die/db/db/PE/_PE.0.sg +22 -0
  2847. die/db/db/PE/__GenericHeuristicAnalysis_By_DosX.7.sg +3357 -0
  2848. die/db/db/PE/_init +138 -0
  2849. die/db/db/PE/_simpleNetAntivirus.1.sg +246 -0
  2850. die/db/db/PE/aPack.2.sg +26 -0
  2851. die/db/db/PE/arj.6.sg +10 -0
  2852. die/db/db/PE/beria.2.sg +12 -0
  2853. die/db/db/PE/curl.4.sg +14 -0
  2854. die/db/db/PE/dUP.1.sg +20 -0
  2855. die/db/db/PE/de4dot.6.sg +20 -0
  2856. die/db/db/PE/dePACK.2.sg +13 -0
  2857. die/db/db/PE/distutils.1.sg +18 -0
  2858. die/db/db/PE/eXPressor.2.sg +59 -0
  2859. die/db/db/PE/ezip.2.sg +14 -0
  2860. die/db/db/PE/gcc.4.sg +15 -0
  2861. die/db/db/PE/hXOR_packer.sg +13 -0
  2862. die/db/db/PE/hmimys_PE-Pack.2.sg +23 -0
  2863. die/db/db/PE/hmimys_Protect.2.sg +18 -0
  2864. die/db/db/PE/iPB_Protect.2.sg +12 -0
  2865. die/db/db/PE/inPEct.1.sg +10 -0
  2866. die/db/db/PE/java.3.sg +21 -0
  2867. die/db/db/PE/keygens.1.sg +25 -0
  2868. die/db/db/PE/kkrunchy.2.sg +19 -0
  2869. die/db/db/PE/ldc.4.sg +13 -0
  2870. die/db/db/PE/linker.6.sg +100 -0
  2871. die/db/db/PE/mPack.2.sg +15 -0
  2872. die/db/db/PE/mkfPack.2.sg +12 -0
  2873. die/db/db/PE/nPack.2.sg +36 -0
  2874. die/db/db/PE/netshrink.2.sg +25 -0
  2875. die/db/db/PE/obfus_h.5.sg +15 -0
  2876. die/db/db/PE/obfusheader_h.5.sg +32 -0
  2877. die/db/db/PE/ps2exe.2.sg +15 -0
  2878. die/db/db/PE/rar.1.sg +16 -0
  2879. die/db/db/PE/rar.6.sg +10 -0
  2880. die/db/db/PE/scr2exe.2.sg +18 -0
  2881. die/db/db/PE/sql-server.sg +14 -0
  2882. die/db/db/PE/sqlite.4.sg +14 -0
  2883. die/db/db/PE/sqx.1.sg +14 -0
  2884. die/db/db/PE/tElock.2.sg +81 -0
  2885. die/db/db/PE/tcc.4.sg +45 -0
  2886. die/db/db/PE/wxWidgets.5.sg +27 -0
  2887. die/db/db/PE/yzPack.2.sg +26 -0
  2888. die/db/db/PE/zip.6.sg +10 -0
  2889. die/db/db/PE/zlib.4.sg +14 -0
  2890. die/db/db/QtFramework +16 -0
  2891. die/db/db/RosASM +13 -0
  2892. die/db/db/SpASM +8 -0
  2893. die/db/db/ZIP/_ZIP.0.sg +17 -0
  2894. die/db/db/ZIP/_init +2 -0
  2895. die/db/db/_debug +23 -0
  2896. die/db/db/_init +149 -0
  2897. die/db/db/archive-file +36 -0
  2898. die/db/db/arj +80 -0
  2899. die/db/db/cab +45 -0
  2900. die/db/db/duration +14 -0
  2901. die/db/db/language +46 -0
  2902. die/db/db/python +30 -0
  2903. die/db/db/rar +75 -0
  2904. die/db/db/read +692 -0
  2905. die/db/db/shell-script +24 -0
  2906. die/db/db/wxWidgets +12 -0
  2907. die/db/db/zip-file +87 -0
  2908. die/db/db/zlib +23 -0
  2909. die/db/db_custom/PE/example.sg +18 -0
  2910. die/db/db_custom/where-is-structure-example.txt +1 -0
  2911. die/die.lib +0 -0
  2912. die.lib +0 -0
  2913. die_python-0.4.0.dist-info/METADATA +335 -0
  2914. die_python-0.4.0.dist-info/RECORD +2917 -0
  2915. die_python-0.4.0.dist-info/WHEEL +5 -0
  2916. die_python-0.4.0.dist-info/licenses/LICENSE +201 -0
  2917. 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 */