CheckPssword80のコードは以下の通りです
やってることはよく分かるんですが、キージェネを造るのが難しいです。
誰か知恵を貸してください。
PW.focus();
PW.document.open();
PW.document.writeln('<!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01
PW.document.writeln(' var indexbase = !\\\#$%&\\\'()*+,-
./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]
^_~abcdefghijklmnopqrstuvwxyz{|}~;');
PW.document.writeln(' var passlen = keyin.length;');
PW.document.writeln(' var enqlen = encrypted.length;');
PW.document.writeln(' var decrypted = ";');
PW.document.writeln(' var decryptedPassword = ";');
PW.document.writeln(' var decryptedPath = ";');
PW.document.writeln(' var targetUrl = ";');
PW.document.writeln(' var i, j, k, chr1, chr2, nbase;');
PW.document.writeln(' var needPassword = ' + strNeedPassword
+ ';');
PW.document.writeln(' var badPassword = ' + strBadPassword
+ ';');
PW.document.writeln(' if (passlen <= 0)');
PW.document.writeln(' {');
PW.document.writeln(' alert(unescape(needPassword));');
PW.document.writeln(' return ;');
PW.document.writeln(' }');
//こっからコアなプロセス
PW.document.writeln(' for (i = 0, j = passlen - 1, k = 0 ; i <
enqlen ; i++, j--, k=0)');
PW.document.writeln(' {');
PW.document.writeln(' if (j < 0)');
PW.document.writeln(' {');
PW.document.writeln(' j = passlen - 1;');
PW.document.writeln(' }');
PW.document.writeln(' chr1 = indexbase.indexOf
(keyin.charAt(j));');
PW.document.writeln(' chr2 = indexbase.indexOf
(encrypted.charAt(i));');
PW.document.writeln(' if (chr2 < (chr1 + j))');
PW.document.writeln(' {');
PW.document.writeln(' nbase = (chr1 + j -
chr2) / 0x5f;');
PW.document.writeln(' k += (0x5f * Math.ceil
(nbase));');
PW.document.writeln(' }');
PW.document.writeln(' k += (chr2 - chr1 - j);');
PW.document.writeln(' decrypted += indexbase.charAt
(k);');
PW.document.writeln(' }');
PW.document.writeln(' if (typeof(opener) == undefined)');
PW.document.writeln(' {');
PW.document.writeln(' window.close();');
PW.document.writeln(' return ;');
PW.document.writeln(' }');
PW.document.writeln(' ' + strIsClose);
PW.document.writeln(' {');
PW.document.writeln(' window.close();');
PW.document.writeln(' return ;');
PW.document.writeln(' }');
PW.document.writeln(' opener.document.isOpened = false;');
PW.document.writeln(' decryptedPassword = decrypted.substring
(decrypted.length - passlen, decrypted.length);');
PW.document.writeln(' if (keyin == decryptedPassword)');
PW.document.writeln(' {');
PW.document.writeln(' decryptedPath =
decrypted.substring(0, decrypted.length - passlen);');
PW.document.writeln(' passlen =
decryptedPath.length;');
PW.document.writeln(' for (i = 0 ; i < passlen ; i++)');
PW.document.writeln(' {');
PW.document.writeln(' chr1 =
decryptedPath.charAt(i);');
PW.document.writeln(' if (chr1 == %)');
PW.document.writeln(' {');
PW.document.writeln(' ' +
strSubString);
PW.document.writeln(' targetUrl +=
chr2;');
PW.document.writeln(' i += 11;');
PW.document.writeln(' }');
PW.document.writeln(' else');
PW.document.writeln(' targetUrl +=
chr1;');
PW.document.writeln(' }');
PW.document.writeln(' ' + strIsOpen);
PW.document.writeln(' ' + targetWin);
PW.document.writeln(' window.close();');
PW.document.writeln(' }');
PW.document.writeln(' else');
PW.document.writeln(' {');
PW.document.writeln(' if (defaultUrl.length)');
PW.document.writeln(' {');
PW.document.writeln(' ' + strIsOpen);
PW.document.writeln(' ' +
defaultWin);
PW.document.writeln(' }');
PW.document.writeln(' else');
PW.document.writeln(' {');
PW.document.writeln(' alert(unescape
(badPassword));');
PW.document.writeln(' }');
PW.document.writeln(' window.close();');
PW.document.writeln(' }');
PW.document.writeln('}');
HomepageBuilder についてる簡易パスワード認証スクリプトでしたっけ。
「キージェネの作り方」なんて、白昼堂々聞いていいもんだとは思えませんけどね。正
規の方法でパスワードを教えてもらえばよろしい。
え、これってVC++と関連あるんですか?
# ああ、クラック系なのか
> キージェネを造るのが難しいです。
キージェネ
・ソフトウェアを使用する為の登録に必要なレジストキーを不正に生成するプログラム.
・シェアウエアのパスワードで, 入力した名前に応じたパスワードが生成されるような
場合, そのアルゴリズムを解析し, 不正にパスワードを生成することができるように
したプログラムのこと. 使えば当然違法.
だって。なんなら違法の説明もつけますか?
> 誰か知恵を貸してください。
・まともな掲示板で不正行為の助力を頼んでも相手にされない。
後々、自分を不利にする証拠を残すだけ。
・変に悩むくらいなら、レジストした方が安いし早いし手間もない。
・そこに固執する必要が本当にあるのか、代替手段がないか模索してみる。
どうも失礼しました。
出直してきます。
イヤァ、自分が恥ずかしいです。
失礼します。