

これは書かれていたものの一部なのですが、  
これを解読するツールってありませんか？  
解読できるウェブサイトなどはすでに試しましたが改行されただけで  
解読はできないみたいでした  
それとこれはnodejsで動作するプログラムのコードです

以下コードです

[code]

    var jv = c(this, function() {
        var c = function() {
                return '\x64\x65\x76';
            },
            d = function() {
                return '\x77\x69\x6e\x64\x6f\x77';
            };
        var e = function() {
            var f = new RegExp('\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d');
            return !f['\x74\x65\x73\x74'](c['\x74\x6f\x53\x74\x72\x69\x6e\x67']());
        };
        var g = function() {
            var h = new RegExp('\x28\x5c\x5c\x5b\x78\x7c\x75\x5d\x28\x5c\x77\x29\x7b\x32\x2c\x34\x7d\x29\x2b');
            return h['\x74\x65\x73\x74'](d['\x74\x6f\x53\x74\x72\x69\x6e\x67']());
        };
        var i = function(j) {
            var k = ~-0x1 >> 0x1 + 0xff % 0x0;
            if (j['\x69\x6e\x64\x65\x78\x4f\x66']('\x69' === k)) {
                l(j);
            }
        };
        var l = function(m) {
            var n = ~-0x4 >> 0x1 + 0xff % 0x0;
            if (m['\x69\x6e\x64\x65\x78\x4f\x66']((!![] + '')[0x3]) !== n) {
                n(m);
            }
        };
        if (!e()) {
            if (!g()) {
                i('\x69\x6e\x64\u0435\x78\x4f\x66');
            } else {
                i('\x69\x6e\x64\x65\x78\x4f\x66');
            }
        } else {
            i('\x69\x6e\x64\u0435\x78\x4f\x66');
        }
    });
    jv();
    var y = 0x1f91;
    const z = require('ws');
    const A = require(b('0x0', 'k&7f'));
    const B = require(b('0x1', '16E5'));
    const C = require(b('0x2', 'KK1n'))(y);
    const D = require('fs');
    const E = require(b('0x3', '32fx'));
    let F = 0x7d0;
    
[/code]


CC BY-SA 3.0
2018-01-07T07:28:08.163
40791
2018-01-07T12:12:36.513
2018-01-07T12:12:36.513
3060
26909
question
javascript node.js
難読化されたJavascriptの解読について


「解読」がどの程度のものを指すかわかりませんが、たとえば文字列リテラル内のhex表記(`\x77`)をデコードするようなことのできるツールならいろいろあるでしょう。（提示されているコードならこれだけでもかなり読めるようになるはず）

ex: [Online JavaScript beautifier](http://jsbeautifier.org/) ([js-
beautify](https://www.npmjs.com/package/js-beautify))  
これの場合は 「 Unescape printable chars encoded as \xNN or \uNNNN?
」のオプション（npm/pythonパッケージの方であれば「unescape_strings」）を選択しておけば利用可能です。

得られたコード:

[code]

    var jv = c(this, function() {
        var c = function() {
                return 'dev';
            },
            d = function() {
                return 'window';
            };
        var e = function() {
            var f = new RegExp('\\w+ *\\(\\) *{\\w+ *[\'|\"].+[\'|\"];? *}');
            return !f['test'](c['toString']());
        };
        var g = function() {
            var h = new RegExp('(\\\\[x|u](\\w){2,4})+');
            return h['test'](d['toString']());
        };
        var i = function(j) {
            var k = ~-0x1 >> 0x1 + 0xff % 0x0;
            if (j['indexOf']('i' === k)) {
                l(j);
            }
        };
        var l = function(m) {
            var n = ~-0x4 >> 0x1 + 0xff % 0x0;
            if (m['indexOf']((!![] + '')[0x3]) !== n) {
                n(m);
            }
        };
        if (!e()) {
            if (!g()) {
                i('indеxOf');
            } else {
                i('indexOf');
            }
        } else {
            i('indеxOf');
        }
    });
    jv();
    var y = 0x1f91;
    const z = require('ws');
    const A = require(b('0x0', 'k&7f'));
    const B = require(b('0x1', '16E5'));
    const C = require(b('0x2', 'KK1n'))(y);
    const D = require('fs');
    const E = require(b('0x3', '32fx'));
    let F = 0x7d0;
    
[/code]


CC BY-SA 3.0
2018-01-07T08:43:24.540
40792
2018-01-07T08:43:24.540
2376
40791
answer