Detect-It-Easy/db
DosX f2fa6b342b Optimize PE heuristic scanning and decryption
Performance and memory optimizations for the PE heuristic scanner:

- Tighten DOS-PDB scan loop to stop once pdbPathBeginOffset is found (avoids an extra break).
- Replace offset tables (k0_off/k1_off/k3_off) with typed Uint8Array to reduce allocations and improve access speed.
- Extract a single getDecryptedByte function (removed inner closure) to avoid per-call closure allocation and centralize decrypt logic.
- Add a fast-fail check for the most-significant byte of e_lfanew and simplify lfaNewOffset calculation to speed header validation.
- Replace multiple inline decryption calls with getDecryptedByte in verifyPeSignature for clarity and efficiency.
- Restructure the detection inner loop to early-continue on mismatches and apply lazy evaluation for arithmetic checks (ADD-SUB / SUB-REV) to reduce unnecessary work.

Behavior should be unchanged functionally while reducing CPU and memory overhead during scanning.
2026-06-22 16:02:50 +03:00
..
.vscode
_icons
Amiga add references for Aztec C/AmigaBasic signature 2026-06-21 11:54:54 +02:00
APK Remove line breaks 2026-05-25 21:03:46 +03:00
Archive Remove line breaks 2026-05-25 21:03:46 +03:00
AtariST Remove line breaks 2026-05-25 21:03:46 +03:00
Binary add references to signatures 2026-06-20 22:32:01 +02:00
CFBF Remove line breaks 2026-05-25 21:03:46 +03:00
COM Remove line breaks 2026-05-25 21:03:46 +03:00
DEX Remove line breaks 2026-05-25 21:03:46 +03:00
DOS4G Remove line breaks 2026-05-25 21:03:46 +03:00
DOS16M Remove line breaks 2026-05-25 21:03:46 +03:00
ELF Detect additional Movfuscator signature 2026-06-10 17:40:25 +03:00
Image Remove line breaks 2026-05-25 21:03:46 +03:00
IPA
ISO9660 Remove line breaks 2026-05-25 21:03:46 +03:00
JAR Remove line breaks 2026-05-25 21:03:46 +03:00
JavaClass Remove line breaks 2026-05-25 21:03:46 +03:00
JPEG Remove line breaks 2026-05-25 21:03:46 +03:00
LE Remove line breaks 2026-05-25 21:03:46 +03:00
LX Rename DB files to sfx_ and compiler_ prefixes 2026-06-21 12:46:12 +03:00
MACH add references to MACH signatures 2026-06-21 11:29:03 +02:00
MACHOFAT Remove line breaks 2026-05-25 21:03:46 +03:00
MSDOS Rename MSDOS rule files; adjust RM_FORTRAN mode 2026-06-21 13:09:22 +03:00
NE add references for NE signatures 2026-06-21 09:50:46 +02:00
NPM Remove line breaks 2026-05-25 21:03:46 +03:00
PDF Remove line breaks 2026-05-25 21:03:46 +03:00
PE Optimize PE heuristic scanning and decryption 2026-06-22 16:02:50 +03:00
PNG Remove line breaks 2026-05-25 21:03:46 +03:00
PYC Remove line breaks 2026-05-25 21:03:46 +03:00
RAR Remove line breaks 2026-05-25 21:03:46 +03:00
ZIP Remove line breaks 2026-05-25 21:03:46 +03:00
_db_caching
_debug
_init style: auto-format JavaScript files in db directories 2026-01-06 18:25:46 +00:00
_runtime_helpers *read *audio.1.sg *bytecodeparsers *_runtime_helpers 2026-02-23 16:12:43 +01:00
ACE
archive-file
arj
Borland
bytecodeparsers *read *audio.1.sg *bytecodeparsers *_runtime_helpers 2026-02-23 16:12:43 +01:00
cab
chunkparsers *read *audio.1.sg *bytecodeparsers *_runtime_helpers 2026-02-23 16:12:43 +01:00
CurIcoBPP
duration
FASM
FPC
info.ini chore: update date to 2026-05-22 in db info files 2026-05-22 19:41:02 +02:00
language Remove legacy WAYBACK_SUPPORT handling 2026-04-22 14:59:04 +03:00
MFC
python
QtFramework
rar-file
read regression: reference to wrong codepage 2026-05-01 12:15:44 +02:00
RosASM
shell-script
soundchips
SpASM
TASM32 feat: add detection rules for TASM32 and debug data 2026-03-02 19:57:58 +01:00
vgmcodingutils
wxWidgets
zip-file
zlib