練炭ブログ

萌え壁紙、Irvine、DMonkey、Proxomitron などの情報を扱ってます。

Proxomitron: ANTIDOTE Disabler

コメントなし»

使ってないフィルタシリーズ。

今は亡き VINTAGE SOLUTIONS の HTML 保護ソフト「ANTIDOTE for PC HTML Protector」でマウス操作を妨害されたページで、マウス操作を回復させます。

Name = "ANTIDOTE Disabler  (2003-04-24; rentan)"
Active = FALSE
Bounds = "<SCRIPT*</SCRIPT>"
Limit = 4096
Match = "(*eval \( unescape \( $AV(*) \))\1\2"
Replace = "$STOP()"
          "<script type="text/javascript">\n"
          "function documentXwrite (s) {"
          " function rep (s, r) {"
          "  while (s.indexOf (r) != -1)"
          "  s = s.replace (r, "NO" + r.substr (2));"
          "  return s;"
          " }\n"
          " s = rep (s, "oncontextmenu");"
          " s = rep (s, "onselectstart");"
          " s = rep (s, "captureEvents");"
          " s = rep (s, "onmousedown");"
          " s = rep (s, "onmouseup");"
          " s = rep (s, "onkeydown");"
          " s = rep (s, "location=");"
          " s = rep (s, "location ");"
          " s = rep (s, "status=");"
          " s = rep (s, "status ");"
          " s = rep (s, "setTimeout");"
          " s = rep (s, "onbeforeprint");"
          " s = rep (s, "onafterprint");"
          " s = rep (s, "ondragstart");"
          " s = rep (s, "top.location.href=");"
          " s = rep (s, "top.location.href ");"
          " s = rep (s, "clipboardData.clearData");"
          " document.write (s);"
          "}\n"
          "</script>\n"
          "\1.replace ("document\\.write", "documentXwrite")\2"

Proxomitron: ANTIDOTE dump protected code

コメントなし»

使ってないフィルタをブログに書いて default.cfg 減量化なう。

今は亡き VINTAGE SOLUTIONS の HTML 保護ソフト「ANTIDOTE for PC HTML Protector」で暗号化されたページのソースを表示します。

Name = "ANTIDOTE dump protected code  (2003-04-24; rentan)"
Active = TRUE
Bounds = "<SCRIPT*</SCRIPT>"
Limit = 4096
Match = "(*eval \( unescape \( $AV(*) \))\1\2"
Replace = "$STOP()"
          "<script type="text/javascript">\n"
          "function documentXwrite (s) {"
          "  for (i = 0; i < s.length; ++i) {"
          "    c = s.charAt (i);"
          "    if (c == '&') document.write ("&amp;");"
          "    else if (c == '<') document.write ("&lt;");"
          "    else if (c == '>') document.write ("&gt;");"
          "    else document.write (c);"
          "  }"
          "}\n"
          "</script>\n"
          "\1.replace ("document\\.write", "documentXwrite")\2"

どうすればソースを見れるかの習作的なフィルタなので実用性はないと思います。

VINTAGE SOLUTIONS はウイルス検索ツールの「ANTIDOTE for PC AntiVirus - SuperLite」を使わせてもらったことがありますが、いつのまにか消え去っていましたね。

Proxomitron: Visualize document.write output

コメントなし»

使ってないフィルタをブログに書いて default.cfg 減量化なう。

Name = "Visualize document.write output (2005-12-01; rentan)"
Active = TRUE
URL = "$TYPE(htm)"
Limit = 4096
Match = "(^(^<[^%1b>]+>)|"
        "</+(!--(^\[|[^<>]+<)|\?xml|!doctype|html|head|title|meta|link|base|((^</+title)?)+</title>)"
        "|"
        "(</+[^<>"']+>[^<>"']+)+{1,*}"[^<>"']+>"
        ")$STOP()"
Replace = "<script type="text/javascript">"
          "(function () {"
          "  var Prx_document_write = document.write;"
          "  document.write = function (s) {"
          "    Prx_document_write (s);"
          "    for (i = 0; i < s.length; ++i) {"
          "      c = s.charAt (i);"
          "      if (c == '&') Prx_document_write ("&amp;");"
          "      else if (c == '<') Prx_document_write ("&lt;");"
          "      else if (c == '>') Prx_document_write ("&gt;");"
          "      else Prx_document_write (c);"
          "    }"
          "  }"
          "}) ();"
          "</script>\n"

なぜメタ文字を一文字ずつパースしているのかは不明。このころは初心者だったからだと思われます。

あとマッチングパターンは誤爆が多いかも知れません。