javascriptについてです。


こういう難読化というのは簡単に解読できてしまうのでしょうか。

パスワードを知られてしまうのかどうかを知りたいと考えています。

どこかのサイトやツールで解読できるようでしたら、その方法も教えて頂ければ幸いです。

入力した文字が、設定してある文字と一致すると「OK」と表示します。

わかる方には一瞬で解読できてしまうのかもしれませんが...
最初に正解した方に 100p とさせて下さい。

宜しくお願いします。

追記部分にソースを記載します。

回答の条件
  • 1人1回まで
  • 13歳以上
  • 登録:2016/03/26 23:30:39
  • 終了:2016/03/27 01:16:49
id:worldtravel
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<head>
<script>
eval(function(e,a,n,r,t,c){if(t=function(e){return(a>e?"":t(parseInt(e/a)))+((e%=a)>35?String.fromCharCode(e+29):e.toString(36))},!"".replace(/^/,String)){for(;n--;)c[t(n)]=r[n]||t(n);r=[function(e){return c[e]}],t=function(){return"\\w+"},n=1}for(;n--;)r[n]&&(e=e.replace(new RegExp("\\b"+t(n)+"\\b","g"),r[n]));return e}("v(l(p,a,c,k,e,r){e=l(c){m c.x(a)};n(!''.o(/^/,y)){s(c--)r[e(c)]=k[c]||e(c);k=[l(e){m r[e]}];e=l(){m'\\\\w+'};c=1};s(c--)n(k[c])p=p.o(z A('\\\\b'+e(c)+'\\\\b','g'),k[c]);m p}('2 g(){3 a=\\'1\\';a+=\\'4\\';a+=\\'a\\';a+=\\'b\\';a+=\\'h\\';a+=\\'5\\';6(a==7.8(\\'9\\').c){0(\\'d\\')}e{0(\\'f\\')}}2 i(){3 a=\\'1\\';a+=\\'4\\';a+=\\'a\\';a+=\\'b\\';a+=\\'h\\';a+=\\'5\\';6(a==7.8(\\'9\\').c){0(\\'d\\')}e{0(\\'f\\')}}2 j(){3 a=\\'1\\';a+=\\'4\\';a+=\\'a\\';a+=\\'b\\';a+=\\'h\\';a+=\\'5\\';6(a==7.8(\\'9\\').c){0(\\'d\\')}e{0(\\'f\\')}}',t,t,'B||l|C|q|u|n|D|E|F|||G|H|I|J|K||L|M'.N('|'),0,{}))",50,50,"|||||||||||||||||||||function|return|if|replace||||while|20||eval||toString|String|new|RegExp|alert|var|document|getElementById|pw|value|OK|else|NO|hogehoge|hogehoge2|hogehoge3|split".split("|"),0,{}));
</script>
</head>
<body>
<form><input type="text" id="pw" /><input type="button" value="チェック" onclick="hogehoge()" /></form>
</body>
</html>

ベストアンサー

id:a-kuma3 No.2

a-kuma3回答回数4365ベストアンサー獲得回数18012016/03/27 00:28:05

ポイント100pt
1qabhu

一瞬、というわけにはいかなかったけど :-)

他2件のコメントを見る
id:a-kuma3

ダメでしたか...

packer を知らなかったぼくにでも、たどりつけたのでね。

一応、回答に至った経緯を書いておきます。


ソースの特徴的だと思われるコードの断片+「解読」でググる。
「String.fromCharCode(e+29):e.toString(36) 解読」

packer というのを使ってるらしいことは、すぐに分かりました。

http://blogs.yahoo.co.jp/yoshimy_s/20657516.html
packer というのが、コードの文字列を ascii コードに変えるのだということも分かります。

http://blog.shimazu.org/utils/packer_decoder.html
packer の decoder があるのも検索結果で分かりましたが、素直に使ってもデコード結果が出てこない。

ここで、コードの方を追っかけたので、ちょっと時間を食ってます。

気分を変えて、検索結果を見直していると、こんなのが見つかるわけです。
http://q.hatena.ne.jp/1277726889

ああ、複数回。

だから、
eval(function(p,a,c,k,e,r){
ではなく、
eval(function(e,a,n,r,t,c){
なのね、と。

eval に渡している文字列を調べるために、eval → console.log と変えて実行して、コンソールを確認。

引数が packer :-)

これを decoder にかけると……


人力検索での過去質問が無かったら、もうちょっと時間がかかってたかもしれませんけれど。

2016/03/27 01:55:48
id:worldtravel

詳細を、ありがとうございます。
過去質問も私なのです ^^;
今回は少し変えてみたのです。
が、、、バレてしまった、と。

2016/03/27 10:26:52

その他の回答(1件)

id:bbmoment No.1

bbmoment回答回数1ベストアンサー獲得回数02016/03/26 23:57:03

Javascript 短縮化 がキーワードになります。

以下のサイトが参考になるかと重います。
http://ideahacker.net/2012/01/17/865/

id:a-kuma3 No.2

a-kuma3回答回数4365ベストアンサー獲得回数18012016/03/27 00:28:05ここでベストアンサー

ポイント100pt
1qabhu

一瞬、というわけにはいかなかったけど :-)

他2件のコメントを見る
id:a-kuma3

ダメでしたか...

packer を知らなかったぼくにでも、たどりつけたのでね。

一応、回答に至った経緯を書いておきます。


ソースの特徴的だと思われるコードの断片+「解読」でググる。
「String.fromCharCode(e+29):e.toString(36) 解読」

packer というのを使ってるらしいことは、すぐに分かりました。

http://blogs.yahoo.co.jp/yoshimy_s/20657516.html
packer というのが、コードの文字列を ascii コードに変えるのだということも分かります。

http://blog.shimazu.org/utils/packer_decoder.html
packer の decoder があるのも検索結果で分かりましたが、素直に使ってもデコード結果が出てこない。

ここで、コードの方を追っかけたので、ちょっと時間を食ってます。

気分を変えて、検索結果を見直していると、こんなのが見つかるわけです。
http://q.hatena.ne.jp/1277726889

ああ、複数回。

だから、
eval(function(p,a,c,k,e,r){
ではなく、
eval(function(e,a,n,r,t,c){
なのね、と。

eval に渡している文字列を調べるために、eval → console.log と変えて実行して、コンソールを確認。

引数が packer :-)

これを decoder にかけると……


人力検索での過去質問が無かったら、もうちょっと時間がかかってたかもしれませんけれど。

2016/03/27 01:55:48
id:worldtravel

詳細を、ありがとうございます。
過去質問も私なのです ^^;
今回は少し変えてみたのです。
が、、、バレてしまった、と。

2016/03/27 10:26:52

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません