«前の日記(2003年01月02日) 最新 次の日記(2003年01月04日)» 編集

だめだめ日記

ツッコミの内容は検索サイトからの検索やサイトのレーティングに影響します。そのため問題があるキーワードを含むと思われるツッコミについては、当方の判断で削除することがあります。予めご了承ください。 なお、コメントspamと判断されたツッコミは自動的に消去されます。ご容赦ください。
2002|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|05|06|09|10|11|12|
2013|01|02|02|03|08|09|
2014|01|
2015|09|10|11|
2016|01|04|

執筆、翻訳などに関わった書籍類


【改訂新版】Samba [実践]入門

Linux教科書
LPICレベル3 300試験

マスタリング Nginx

実践 パケット解析 第2版

改訂版 Sambaのすべて

アンドキュメンテッド
Microsoftネットワーク

その他の書籍は だめだめ日記のおみせ@本店でどうぞ。



2003年01月03日 [長年日記]

添付ファイル

圧縮して600KB位のファイルを添付したら、ダイヤルアップ環境ではつらいと怒られました。おっしゃるとおり、すみません m(_"_)m

DES

http://www.shadowpenguin.org/sc_documents/spsdocument12.html や、自分で訳した CIFS-Auth-Spec.ja.txt をみて LMhash の計算方法を理解しようと

勉強

したが、結局わからず、smbdes.o の中の E_P16() を直接呼び出すプログラムを作ってなんとなくだめだめになる。

こんな感じ

 #include <stdio.h>
 
void main (int argc, char *argv[]) {
  unsigned char plain[16];
  unsigned char crypt[16];
 
  memset (plain, 0, 16);
  strncpy (plain, argv[1], 16);
 
  /* calculate LMhash */
  E_P16 (plain, crypt);
 
  {
    int i;
    printf ("LMhash: ");
    for (i = 0; i < 16; i++) {
      printf ("%2x", crypt[i]);
    }
    printf("?n");
  }
}
これを damedame.c とかすると
  gcc -c damedame.c
  gcc -o damedame damedame.o smbdes.o

もう少し

がんばってみた。 ただし、smbhash() 関数の static 宣言をはずしておかないとリンクできないので注意。

#include 
#include 
 
void hexprint(unsigned char *str, int len) {
    int i;
 
    for (i = 0; i < len; i++) {
        printf ("%02x", str[i]);
    }
}
 
void main (int argc, char *argv[]) {
    unsigned char plain14[16];
    unsigned char crypt[21];
    unsigned char challenge[8];
    unsigned char response[24];
 
    memset (plain14, 0, 16);
    memset (crypt, 0, 21);
    memset (challenge, 0, 8);
    memset (response, 0, 24);
    strncpy (plain14, argv[1], 16);
 
    {
        int i;
        for (i = 0; i < 16; i++) {
            if (islower(plain14[i]))
                plain14[i] = (unsigned char)toupper(plain14[i]);
        }
    }
    {
        int i;
        int j = 0;
 
        for (i = 0; i < 16; i++){
            unsigned char hi, lo;
            if ((argv[2][i] - 'A') < 0)
                hi = argv[2][i] - '0';
            else
                hi = argv[2][i] - 'A' + 10;
            if ((argv[2][i+1] - 'A') < 0)
                lo = argv[2][i+1] - '0';
            else
                lo = argv[2][i+1] - 'A' + 10;
 
            challenge[j] = hi * 16 + lo;
            i++; j++;
        }
    }
 
    /* calculate LMhash */
    //E_P16 (plain14, crypt);
    {
        char magic[] = "KGS!@#$%";
        smbhash(crypt, magic, plain14, 1);
        smbhash(crypt+8, magic, plain14+7, 1);
    }
 
    /* calculate RESPONSE */
    //E_P24 (crypt, challenge, response);
    {
        smbhash(response, challenge, &crypt[0], 1);
        smbhash(response+8, challenge, &crypt[7], 1);
        smbhash(response+16, challenge, &crypt[14], 1);
    }
 
    printf ("Password : "); printf("%s", plain14); printf("?n");
    printf ("Password : "); hexprint(plain14, 16); printf("?n");
    printf ("LMhash   : "); hexprint(crypt, 16); printf("?n");
    printf ("Challenge: "); hexprint(challenge, 8); printf("?n");
    printf ("Response : "); hexprint(response, 24); printf("?n");
}
ということで寝ます 2:30am

CIFS

翻訳物を公開するのにも許諾が必要なのね。しくしく

あにめの新番組

1月からの新番組を一通り確認しました。 2.0h くらいかかった。ふぅ。

前クールは某番組にめちゃくちゃはまってしまったので、気をつけないと。

馬場さまのページ

DES関連で検索していたら引っかかって読みふけっちゃいました。

いろいろと参考になりましたです。

ぴあの

なんとなく楽譜が目に入ったので、久々にショパンのノクターン Op.9, No.1 とかを弾いてみた。20連符のところがぜんぜん弾けなくなってるし。

ドキュメントの配布条件

ここにどう記述しようか、考え出すと難しい。

本日のツッコミ(全1件) [ツッコミを入れる]
_ そのやまさく (2007年06月05日 15:58)

おいっ!そこかよっ!


Copyright (C) 2003-2017 TAKAHASHI, Motonobu
webmaster@monyo.com