jjencodeãjjdecode
è¨å·ã ãã§ä»»æã®JavaScriptã³ã¼ããå®è¡ã§ããããã«ãããã£ã«ã¿ããã°ã©ã ã¨ããããå
ã®ã³ã¼ãã«æ»ããã³ã¼ãããã°ã©ã ãppencodeã®ãããªç©ã
ç¹é·:
- æ¥æ¬èª(UTF-8)ã«å¯¾å¿ãã¦ãã
- 使ç¨ããã°ãã¼ãã«å¤æ°ã$_ã ã
- ã¯ãã¹ãã©ã¦ã¶
å®ç¨çã§ããã
alert("ãã¯ãããä¸çï¼");
ã
$_={_:+[],__:+[]};$_.__++;$_.___=$_.__+$_.__;$_.____=$_.___+$_.__;$_._____=$_.___<<$_.__;$_.______=$_.___*$_.___+$_.__;$_._______=$_.___*$_.____;$_.________=$_._____+$_.____;$_._________=$_.___<<$_.___;$_.__________=$_.____*$_.____;$_.$$=""+{};$_.$_=""+[][[]];$_.$=$_.$$[$_.______];$_.$+=$_.$$[$_.__];$_.$+=$_.$_[$_.__];$_.$+=(''+!$_)[$_.____];$_.$+=(''+!'')[$_._];$_.$+=(''+!'')[$_.__];$_.$+=$_.$_[$_._];$_.$+=$_.$$[$_.______];$_.$+=(''+!'')[$_._];$_.$+=$_.$$[$_.__];$_.$+=(''+!'')[$_.__];$_._$_=(''+!$_)[$_.__];$_._$__=$_.$$[$_.___];$_._$___=$_.$$[$_.______];$_._$____=$_.$_[$_.___];$_._$_____=$_.$$[$_._____];$_._$______=$_.$_[$_._____];$_.$$_=(''+!'')[$_.__]+$_._$_____+(''+!'')[$_._]+$_.$_[$_._]+(''+!'')[$_.__]+$_.$_[$_.__];$_.$$$=$_[$_.$][$_.$];$_.$$$($_.$$$($_.$$_+'"'+'\\'+$_.$_[$_._]+(''+$_._+$_._+$_._______+$_.__)+'\\'+$_.$_[$_._]+(''+$_._+$_._+$_._______+$_._$___)+'\\'+$_.$_[$_._]+(''+$_._+$_._+$_._______+$_.______)+'\\'+$_.$_[$_._]+(''+$_._+$_._+$_.________+$_.___)+'\\'+$_.$_[$_._]+(''+$_._+$_._+$_.________+$_._____)+'\\'+$_.$_[$_._]+(''+$_._+$_._+$_.___+$_._________)+'\\'+$_.$_[$_._]+(''+$_._+$_._+$_.___+$_.___)+'\\'+$_.$_[$_._]+(''+$_.____+$_._+$_._____+$_._$_)+'\\'+$_.$_[$_._]+(''+$_.____+$_._+$_._______+$_._$______)+'\\'+$_.$_[$_._]+(''+$_.____+$_._+$_._________+$_._________)+'\\'+$_.$_[$_._]+(''+$_.____+$_._+$_._____+$_._______)+'\\'+$_.$_[$_._]+(''+$_.____+$_._+$_._+$_.__)+'\\'+$_.$_[$_._]+(''+$_._____+$_._$_____+$_.__+$_._______)+'\\'+$_.$_[$_._]+(''+$_.________+$_.______+$_._____+$_._$___)+'\\'+$_.$_[$_._]+(''+$_._$______+$_._$______+$_._+$_.__)+'\\'+$_.$_[$_._]+(''+$_._+$_._+$_.___+$_.___)+'\\'+$_.$_[$_._]+(''+$_._+$_._+$_.___+$_.__________)+'\\'+$_.$_[$_._]+(''+$_._+$_._+$_.____+$_._$__)+'"')())();
ã«ãªãã
jjencode.rb
#!/usr/bin/env ruby header = (<<'.' $_={_:+[],__:+[]}; // ã°ãã¼ãã«å¤æ°$_ãå®ç¾©ã$_._ã¯0 $_.__++; // $_._ã¯0ã$_.__ã¯1 $_.___=$_.__+$_.__; // $_.___ã¯2 $_.____=$_.___+$_.__; // $_.____ã¯3 $_._____=$_.___<<$_.__; // $_._____ã¯4 $_.______=$_.___*$_.___+$_.__; // $_.______ã¯5 $_._______=$_.___*$_.____; // $_._______ã¯6 $_.________=$_._____+$_.____; // $_.________ã¯7 $_._________=$_.___<<$_.___; // $_._________ã¯8 $_.__________=$_.____*$_.____; // $_.__________ã¯9 $_.$$=""+{}; // $_.$$ã¯"[object Object]" $_.$_=""+[][[]]; // $_.$_ã¯"undefined" $_.$=$_.$$[$_.______]; // $_.$ã¯"c" $_.$+=$_.$$[$_.__]; // $_.$ã¯"co" $_.$+=$_.$_[$_.__]; // $_.$ã¯"con" $_.$+=(''+!$_)[$_.____]; // $_.$ã¯"cons"ã"false"[3]=="s" $_.$+=(''+!'')[$_._]; // $_.$ã¯"const" $_.$+=(''+!'')[$_.__]; // $_.$ã¯"constr" $_.$+=$_.$_[$_._]; // $_.$ã¯"constru" $_.$+=$_.$$[$_.______]; // $_.$ã¯"construc" $_.$+=(''+!'')[$_._]; // $_.$ã¯"construct" $_.$+=$_.$$[$_.__]; // $_.$ã¯"constructor" $_.$+=(''+!'')[$_.__]; // $_.$ã¯"constrtor" $_._$_=(''+!$_)[$_.__]; // $_._$_=="a" $_._$__=$_.$$[$_.___]; // $_._$__ = "b" $_._$___=$_.$$[$_.______]; // $_._$___ã¯"c" $_._$____=$_.$_[$_.___]; // $_._$____=="d" $_._$_____=$_.$$[$_._____]; // $_.$_____=="e" $_._$______=$_.$_[$_._____]; // $_.______=="f" $_.$$_=(''+!'')[$_.__]+$_._$_____+(''+!'')[$_._]+$_.$_[$_._]+(''+!'')[$_.__]+$_.$_[$_.__]; // $_.$$_="return" $_.$$$=$_[$_.$][$_.$]; // $_.$$$==Function . ).gsub(%r!\s*//.*|\n!, '') # ã³ã¡ã³ãã¨æ¹è¡ãåé¤ãã def num2code(n) code = sprintf("%04x", n).split(//).map{|s| i = "abcdef".index(s) if i "$_._$#{ '_' * i.succ }" else "$_.#{ '_' * s.to_i.succ }" end }.join('+') "(''+#{ code })" end code = $stdin.read main =<<"." $_.$$$($_.$$$($_.$$_+'"'+#{ code.unpack('U*').map{|n| "'\\\\'+$_.$_[$_._]+" + num2code(n) }.join('+') }+'"')())(); . result = header + main puts result
jjdecode.js
Object.constructor = function (code) { alert(Function(code)()); }; // ããã«è¨å·åãããããã°ã©ã ãè²¼ã