16年前のTCPやIPの書籍を一読。著者は日立製作所システム開発研究所の寺田真敏さん。日立の方が書く本を読んだのは、それこそ10年ぶりくらい。
P90にポートスキャン実験用のプログラムがcで掲載されていたが、もっと欲しかったなと思いながらも、なかなか興味深かったです。
随机应变 ABCD: Always Be Coding and … : хороший
#include < iostream >
using namespace std;
class coord {
int x, y;
public:
coord() { x = 0; y = 0; }
coord(int i, int j){ x= i; y = j; }
friend ostream &operator<<(ostream &stream, coord ob);
};
ostream &operator<<(ostream &stream, coord ob)
{
stream << ob.x << ", " << ob.y << '\n';
return stream;
}
int main()
{
coord a(1, 1), b(10, 23);
cout << a << b;
return 0;
}
#include < iostream >
#include < iomanip >
using namespace std;
int main()
{
cout << hex << 100 << endl;
cout << oct << 10 << endl;
cout << setfill('x') << setw(10);
cout << 100 << " hi " << endl;
return 0;
}
#include < iostream > #includeusing namespace std; int main() { double x; cout.precision(4); cout << " x sqrt(x) x^2\n\n"; for(x = 2.0; x <= 20.0; x++){ cout.width(7); cout << x << " "; cout.width(7); cout << sqrt(x) << " "; cout.width(7); cout << x*x << '\n'; } return 0; }
#include < iostream >
using namespace std;
int main()
{
cout.width(10);
cout << "hello" << '\n';
cout.fill('%');
cout.width(10);
cout << "hello" << '\n';
cout.setf(ios::left);
cout.width(10);
cout << "hello" << '\n';
cout.width(10);
cout.precision(10);
cout << 123.234567 << '\n';
cout.width(10);
cout.precision(6);
cout << 123.234567 << '\n';
return 0;
}
Picture.EXE:キャッシュされたユーザー名およびパスワードを含んだ内容のファイルを調べ、電子メールを利用して送信
K2PS.EXE:ダイヤルアップネットワークのパスワードを電子メールを利用して送信
Y2Kcount.exe:WSOCK32.DLLの置き換え、ログイン時のパスワード横取り
BackDoor-G亜種:インストールすると遠隔制御することが可能に
W95.Baylonia:ウィルスプログラムの自動送信および自動アップデート
#include < iostream >
using namespace std;
int main()
{
cout << 123.23 << " hello " << 100 << '\n';
cout << 10 << ' ' << -10 << '\n';
cout << 100.0 << "\n\n";
cout.unsetf(ios::dec);
cout.setf(ios::hex | ios::scientific);
cout << 123.23 << " hello " << 100 << '\n';
cout.setf(ios::dec);
cout.setf(ios::hex | ios::scientific);
cout << 123.23 << " hello " << 100 << '\n';
cout.setf(ios::showpos);
cout << 10 << ' ' << -10 << '\n';
cout. setf(ios::showpoint | ios::fixed);
cout << 100.0;
return 0;
}
#include < iostream >
using namespace std;
class base{
public:
int i;
};
class derived1 : virtual public base {
public:
int j;
};
class derived2 : virtual public base{
public:
int k;
};
class derived3 : public derived1, public derived2{
public:
int product() { return i * j * k; }
};
int main()
{
derived3 ob;
ob.i = 10;
ob.j = 3;
ob.k = 5;
cout << "multiply is " << ob.product() << '\n';
return 0;
}
#include < iostream >
using namespace std;
class B1 {
public:
B1() { cout << "B1 constructor call \n"; }
~B1() { cout << "B1 destructor call \n"; }
};
class B2 {
int b;
public:
B2() { cout << "B2 contructor call \n"; }
~B2() { cout << "B2 destructor call \n"; }
};
class D : public B1, public B2{
public:
D() { cout << "call D constructor\n"; }
~D() { cout << "call D destructor\n"; }
};
int main()
{
D ob;
return 0;
}
#include < iostream >
using namespace std;
class B1 {
int a;
public:
B1(int x){ a = x; }
int geta() { return a; }
};
class D1 : public B1 {
int b;
public:
D1(int x, int y): B1(y)
{
b = x;
}
int getb(){ return b; }
};
class D2 : public D1 {
int c;
public:
D2(int x, int y, int z): D1(y, z)
{
c = x;
}
void show() {
cout << geta() << ' ' << getb() << ' ';
cout << c << '\n';
}
};
int main()
{
D2 ob(1, 2, 3);
ob.show();
cout << ob.geta() << ' ' << ob.getb() << '\n';
return 0;
}