_HpbChkPwd解析メモ

/*
  _HpbChkPwd(keyin, escEncrypted, defaultUrl, target) 
  redirect_url to keyin 
  遷移先が判明しているときに、パスワードの候補を挙げるプログラム
*/

var indexbase = " !\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~";
function pos(a) {
  return indexbase.indexOf(a)
}

ec = "escEncrypted" // あらかじめソースに入っているKey
e = unescape(ec)
el= e.length
d= "RedirectURL(full_path)" // 判明しているリダイレクト先
dl= d.length

for(i =2; i < 10; i++) {
  j = i
  anser = ''
  for(ii = 0; ii < i; ii++) {
    j--;
    if (j < 0) {
     j = i - 1;
    }
    chr1 = pos(d.charAt(j));
    chr2 = pos(e.charAt(j));
    A = chr2 - chr1 - ii;
    if (A < 0) {
      nbase = (chr1 + ii - chr2) / 0x5f;
      A += (0x5f * Math.ceil(nbase));
    }
    anser += indexbase.charAt(A);
  }
  print(anser);
}