المؤلف: شون بيسسي
البرامج النصية NodeJS لتحليل (minifed/upfusced) javaScript. تدعم جميع الأدوات معالجة الملفات المحلية أو الملفات عن بُعد عبر عنوان URL HTTP (S) أو بيانات من الإدخال القياسي.
لا تزال هذه الأدوات تحت التنمية الثقيلة ، لذا فإن الأفكار والمساهمات مرحب بها.
حزم النظام:
curlnodejs (18.3+)وحدات العقدة:
escodegenesprimaestraversesource-map ملاحظة: تشحن هذه الأدوات مع إصدار محدث من esrefactor بواسطة Nick Larosa. يقوم إصدار Nick بإصلاح بعض المشكلات الرئيسية مع إصدار المكتبة في NPM (انظر طلب السحب هنا). يمكن أيضًا تثبيت إصدار العلاقات العامة مباشرة مع npm install ariya/esrefactor#pull/9/head ، لكنني قمت بتضمينه هنا للراحة.
jsretk-strings يستخلص هذا البرنامج النصي الحرفي من كود JavaScript ، مع نتائج مماثلة لتشغيل strings مقابل قابلة للتنفيذ ثنائي. كما يدعم خيارات لاستخراج تعليقات JavaScript و REGEX الحرفيين.
$ node jsretk-strings.js --help
Usage:
node jsretk-strings.js [OPTIONS] <JS_FILE_1> [[JS_FILE_2] ...]
Options:
[-h|--help] Print usage and exit
[-P|--stdin] Pipe data from stdin
[-c|--comments] Include JavaScript comments in output
[-C|--comments-only] Find ONLY JavaScript comments (no string/RegEx literals; overrides "-c")
[-r|--regex] Include Regular Expression (RegEx) literals in output
[-R|--regex-only] Find ONLY RegEx literals (no comments/string literals; overrides "-r")
[-T|--templates-only] Find ONLY template strings (no static string/RegEx literals or comments)
[-m|--min] Find strings of this length or longer (inclusive)
[-M|--max] Find strings of this length or shorter (inclusive)
[-x|--match-regex] <ex> Find strings that match the given Regular Expression
[-k|--insecure] Don't verify TLS/SSL certificates for connections when fetching remotely-hosted JS files
[-p|--curl-path] <path> Non-standard path/name for the curl command
[-B|--max-buffer] <n> Maximum size (in bytes) for remotely-fetched JS files (default: 50MB)
[-E|--encoding] <enc> Text encoding for local input/output files (default: "utf8")
[-i|--interactive] Enter interactive NodeJS prompt after completion
jsretk-unminifyتحذير: هذا البرنامج النصي غير مستقر وغير مستقر في حالته الحالية.
يحاول هذا البرنامج النصي إلغاء تحديد رمز JavaScript بواسطة:
لاحظ أن التنفيذ الحالي قد يستغرق وقتًا طويلاً للغاية لأداء الترددي ، لذلك يوصى بشدة باستخدام العلم -v|--verbose لمراقبة التقدم. بالنسبة لبعض قواعد الكود (على سبيل المثال ، بعض عمليات النشر الأصلية) ، يمكن أن يقلل العلم التجريبي -L|--per-line
$ node jsretk-unminify.js --help
Usage:
node jsretk-unminify.js [OPTIONS] <JS_FILE_1> [[JS_FILE_2] ...]
Options:
[-h|--help] Print usage and exit
[-P|--stdin] Pipe data from stdin
[-v|--verbose] Enable verbose output
[-o|--output-dir] <dir> Output directory (default: "jsretk-out")
[-O|--overwrite] If output file(s) exist, automatically overwrite
[-t|--tab] Use tab characters ("t") instead of spaces for indenting formatted code
[-I|--indent] <n> Number of spaces (or tabs) used for indenting formatted code (default: 4 spaces or 1 tab)
[-r|--rename-len] <n> Rename variables if names are shorter than or equal to this value (default: 2 characters)
[-R|--no-rename] Don't rename variables to unique names
[-F|--no-format] Don't format the code for readability
[-C|--char-iter] Iterate over characters instead of tokens during refactoring. Significantly slower; may produce slightly different output
[-s|--smart-rename] (EXPERIMENTAL) Use various heuristics to attempt to generate more informative variable names
[-L|--per-line] (EXPERIMENTAL) Attempt to refactor code line by line (rather than the whole file at once). Useful for some react-native deployments, but fails on many (most?) codebases
[-k|--insecure] Don't verify TLS/SSL certificates for connections when fetching remotely-hosted JS files
[-p|--curl-path] <path> Non-standard path/name for the curl command
[-B|--max-buffer] <n> Maximum size (in bytes) for remotely-fetched JS files (default: 50MB)
[-E|--encoding] <enc> Text encoding for local input/output files (default: "utf8")
[-i|--interactive] Enter interactive NodeJS prompt after completion
jsretk-unsourcemap هذا البرنامج النصي ، استنادًا إلى الكود الأصلي من Tim McCormack ، يستعيد رمز مصدر JavaScript/TypeScript من ملفات خريطة JS/Source ( *.js.map ).
$ node jsretk-unsourcemap.js --help
usage: jsretk-unsourcemap.js [-h] src-js src-map out-dir
Deobfuscate JavaScript code using a source map
positional arguments:
src-js Path to JavaScript file to recover
src-map Path to source-map to recover from
out-dir Path to directory where sources will be dumped
optional arguments:
-h, --help show this help message and exit
للاستفسارات و/أو المعلومات عني ، تفضل بزيارة موقع الويب الخاص بي.