PDF JavaScript rebuilds eval from character pieces

PDF_JS_RECONSTRUCTED_EVAL

← All detection heuristics · PDF

high PDF_JS_RECONSTRUCTED_EVAL

What it means

PDF JavaScript reaches eval (or unescape/Function) through a computed member access assembled from single-character pieces.

Why it fires

PDF_EVAL matches the literal token eval(, so exploit kits stop writing it: they build the name at run time out of one-character strings and array elements, e.g. g[a[0]+'v'+a[1]+'l'], and the identifier never appears in the file. This rule keys on the RECONSTRUCTED name rather than on how much the code concatenates — benign minified JavaScript concatenates a great deal more, so density would separate nothing, while no legitimate code has a reason to spell a built-in this way. Rated HIGH: decisive in context alongside the JavaScript and model signals, but not a conviction on its own.

Other PDF heuristics

PDF_LAUNCH_JS_PROTOCOL PDF_LAUNCH_COMMAND PDF_LAUNCH_MSHTA PDF_ADOBE_QR_UNLOCK_LURE PDF_JS_URL_KEYED_READER_EXPLOIT_KIT CVE_2009_2990_U3D_AUTOACTIVATE PDF_ANNOT_AUTHOR_EVAL_STAGER PDF_ANNOT_SUBJECT_HEX_EVAL_STAGER PDF_ANNOT_SUBJECT_MARKER_EVAL_STAGER PDF_JS_BASE_N_TOKEN_DOWNLOADER PDF_BASE64_PE_PAYLOAD PDF_BRAND_INVOICE_LURE_OFFDOMAIN PDF_BRAND_INVOICE_CLOUD_EMAIL_LURE PDF_CORPORATE_PRESENTATION_CLOUD_REDIRECT_LURE PDF_CORRUPTED_FILE_UPDATE_LURE PDF_CRACKED_SOFTWARE_SHORTLINK_LURE PDF_GAME_HACK_SEO_LINK_FARM PDF_DISTRIBUTED_PIRACY_LINK_FARM PDF_DOCUSIGN_DOWNLOAD_LURE PDF_DOCUMENT_ACTION_HOST_MISMATCH_LURE PDF_DYNAMIC_DNS_DOCUMENT_LINK_FARM PDF_SWF_NATIVE_MEMORY_CORRUPTION_PAYLOAD PDF_EMBEDDED_PE_PAYLOAD CVE_2010_1240_EMBEDDED_EXPORT_LAUNCH