unminify
Version 2.0.0
Ein kleines Projekt, um einige der schrecklichen Dinge, die JavaScript Build -Tools für JavaScript zu tun haben, rückgängig zu machen. Zusätzlich zur Rückgängigmachung der meisten Minifikationen kehrt es einige der dummer, aber überraschend häufigen "Verschleierung" -Techniken in freier Wildbahn um.
Es kann Sie amüsieren, es beispielsweise dieses zufällige Stück JavaScript zu versuchen, das ich gefunden habe.
npm install -g unminify
oder verwenden Sie es, ohne über npx zu installieren (verfügbar seit npm 5.2.0)
npx unminify [...args]
unminify /path/to/file.js
--safety kann gegeben werden, um Transformationen basierend auf den erforderlichen Sicherheitsgarantien des Benutzers zu aktivieren/zu deaktivieren. Weitere Informationen finden Sie in der Dokumentation der Sicherheitsstufen. Der Wert von --safety kann einer von seinuselesssafe (Standard)mostly-safeunsafewildly-unsafe--additional-transform können Null oder mehr Male verabreicht werden, gefolgt von einem Pfad zu einem Modul, das eine AST-Transformation bietet. Die Funktion signalisiert, dass die Transformation nicht durch Rückgabe ihrer Eingabe angewendet wurde let { unminifySource } = require ( 'unminify' ) ;
let sourceText = '/* a minified/"obfuscated" JavaScript program */' ;
console . log ( unminify ( sourceText ) ) ;
// or, with options
console . log ( unminifySource ( sourceText , {
safety : unminify . safetyLevels . UNSAFE ,
additionalTransforms : [ function ( ast ) { /* ... */ } ] ,
} ) ) ; Wenn Sie bereits einen Schichtbaum haben, können Sie die unminifyTree und Reparaturkosten verwenden.
let { parseScript } = require ( 'shift-parser' ) ;
let { unminifyTree } = require ( 'unminify' ) ;
let sourceText = '/* a minified/"obfuscated" JavaScript program */' ;
let tree = parseScript ( sourceText ) ;
let unminifiedTree = unminifyTree ( tree ) ; Copyright 2017 Shape Security, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.