スパム発言を消した殻を管理者の発言にすり替えて埋める場合,記録されて
いる発言時刻が仕事中の時間帯ではまずいという場合もあり,それを改竄する
ためのマクロです。Web Forum のログには UNIX 時間で記録された部分があり,
その部分と表示されている時刻を合わせて変更します。
また,IP アドレス,パスワード,URI,メールアドレスを設定しておいて,
元のものと差し替えます。これらは必須ではありませんが,パスワードは元の
ままだと変更される可能性が残る(そんなこたぁしないでしょうが)ので,過
去の自分の発言ログのいずれかからコピーしておいたほうがよさそうです。
UNIX 時間の取得には,Emmett 博士の文字列→ロング整数変換ルーチンを拝
借しました。
----------^ SPAM2ME.DEF ( date:2006-05-20 time:16:20 ) -----< cut here
= spam2me = by H_ear
#if 0
WebForumログの発言時刻変更とip/pwdのすりかえ
#endif
* mad for vz!
1 ^\ "" ?.
(vw)??.
; ---- customizable data ----^
a="", ;ip address
b="", ;password
c="", ;uri
d="", ;mail address
e="", ;handle
; ---- customizable data ----$
#> #> mb-, ;safety
(5){ &> }
#b &> #y #b &?("<>%s",b) #B mb-, ;pwd
#b &> #y #b &?("<>%s",a) #B mb-, ;ip
&d &m("日付が変わらない程度に調整する時間を入力")
h-, pw.0-, mx+, &g("時刻調整(-12〜12)") mx-,
&m("") ((r==-2 || r==-1) && pw.0==0)?>k ;skip
(r>12 || r<-12 || r==0)?>k
u+, (r<0)?{ u-, h=r=-r, } t=r*3600, ;%- 符号と数値に分ける
#b &> #d #d #y
dz[=kz, l=kp..-1, dz], ;size
ax=kz, si=kp-l-3, &02
pu..0=ax, pu..1=dx,
(u)?{ &Ia(pu,t) }?{ &Is(pu,t) } ;%- 符号付きに未対応
&?("%lu",pu..0,pu..1)
:k #< #<
mp[=2, RX[+,
ps[="<>0[0-9]/[0-1][0-9]/[0-3][0-9]-[0-2][0-9]:[0-5][0-9]<>",
#c
ps], RX], mp],
(h)??>m
(4){ #f } &n
(r>23 || r<0)?{ &m(40) >z } ;取得ミスなら終了
h=(r+24-h)%24, ;時刻を変更
mi[+, &?("%02d",h) mi], &> ;★日付は変更しない手抜き
:m #b &> #y #b &?("<>%s",e) #B mb-, ;handle
#b &> #y #b &?("<>%s",c) #B mb-, ;uri
#b &> #y #b &?("<>%s",d) #B mb-, ;mail address
:z ; ---- exit ----
#b &> #d #d #y
&d #] .
00: ; ---- search back '<' ----
; <-- void
; --> (r)
#s
(r==-1 || lh+lx==0)?{ (1) . }
(cd!='<')?>^
(0)
02: ; = get longint_str to ax,dx = by Emmett
; input: ax=segment, si=offset
; output: ax,dx [&m("%ld",ax,dx)]
; ax==dx==-1: 10進数ではない
; ----------------------------------------------------------------
; ----- longdec -----
&i(3+$)."$
$(56,8E,D8,33,C0,8B,D0,BF,0A,00,50,AC,8A,C8,58,80)$
$(F9,30,7C,05,80,F9,39,7E,02,EB,15,50,8B,C2,F7,E7)$
$(8B,D8,58,F7,E7,03,D3,80,E9,30,B5,00,03,C1,EB,DA)$
$(59,2B,F1,83,FE,01,75,05,B8,FF,FF,8B,D0,C3)"
*
[Variables]
a ip address
b password
c uri
d mail address
e handle
h 調整時間(常に正の値)
l スタックにある文字列(UNIX時間)の長さ
t 指定秒
u 符号のフラグ
[Buffers]
pu 先頭4バイトにロング整数
pw 指定時間の入力に使用
kz スタックをごみ箱に使用
[History]
2006/05/20 0.10 1st ver.
[Notes]
日付の変わらない範囲で,ってところがキモですな。何という手抜き。(^^;
----------$ SPAM2ME.DEF ( lines:85 ) -----------------------< cut here