前の月 / 次の月 / 最新

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28

2009-02-25 Wed

ヒル溜り撃破 - デモンズソウル メモ [デモンズソウル][game]

火線で攻撃した。

腐れ谷を進む - デモンズソウル メモ [デモンズソウル][game]

ゆっくり進む。
不意打ちが多い。

サイズが大きい敵にやられた。

炎に潜むもの撃破 - デモンズソウル メモ [デモンズソウル][game]

三度目に挑戦。
紫炎の盾とデモンブランドを装備。
少し苦戦したが無事撃破できた。

審判者撃破 - デモンズソウル メモ [デモンズソウル][game]

頭か体に刺さっている剣が弱点のようだ。
それ以外はダメージが通らない。

頭は、足を切ると転倒するのでそのときに攻撃する。

デモンブランドは、相変わらず強い。
初見で倒せると思っていなかった。

2009-02-24 Tue

愚か者の偶像撃破 - デモンズソウル メモ [デモンズソウル][game]

愚か者の偶像戦開始
4回ヒットで、撃破できた。

なんか、霧が残ったままなんですけど。

前日、ほかの人に連れられてきたときに、上の人を倒していたのはこのためか?

上の人を倒した後再戦。

無事次の要石まで到着。

黒のファントムにやられる - デモンズソウル メモ [デモンズソウル][game]

塔のラトリアで黒のファントムを2体、撃退。

嵐の祭祀場で、侵入される。
要石に戻る途中、門を通過した直後、後ろから致命の一撃を受ける。
文字通り致命傷だった。
思いっきり油断していた。

友人に召喚してもらい、嵐の祭祀場を進める。
一体目のデーモン前まで到着して終了。
感謝ありで送還されると、ソウルがもらえるようだ。

タカアシ鎧蜘蛛で他の人に拾ってもらい復活。

デモンブランドを装備できるようになった。
前日、黒のファントムを4体倒したからかソウル傾向が白くなっていた。
結果、デモンブランドの攻撃力が2倍になっていた。

2009-02-23 Mon

侵入されまくり - デモンズソウル メモ [デモンズソウル][game]

友人と「塔のラトリア」をマルチプレイ。
短時間に4体の黒のファントムに侵入された。
無事3体、撃退した。

一緒に遊んだ人のトロフィーを、見ているときに侵入されたのが一回あった。
棒立ちのままやられた。

ソウルサインを出したとき、友人ではなく別の人に拾われる。
そのまま進める。
どんどん進んで行く。
もしかしてこの人は2回目なんだろうか。

教会の上の人を倒していた。
何でだろう?

上の階から下の教会前の階段へ飛び降りていった。
ここを降りれるのか。

飛び降りてみた。
足場に乗れずに落ちて死んだ。

その後、友人と進める。
今度は、無事足場に乗れた。
で、下に降りる。
壁向きに下りたら、後ろからNPCの黒いファントムにやられた。

3回目、
友人が、ほかのファントムも召喚。
三人で進む。
下から到着。

「愚か者の偶像」戦開始。
ほかのファントムさん大活躍だった。

2009-02-22 Sun

炎に潜むものに燃やされた2回目 - デモンズソウル メモ [デモンズソウル][game]

友人を召喚してストーンファング坑道を進む。
炎に潜むもの直前で他の人を召喚して突入。

3人だとターゲットが分散してやりやすい。

残りソウルの矢で3発分くらい減らしたところで、
ターゲットが自分に向く。

2撃ガードしたところでスタミナが切れた。
そこに3撃目が来てやられた。
すまん。

2009-02-21 Sat

小さいほうの飛竜を倒した。 - デモンズソウル メモ [デモンズソウル][game]

城の中の2対の飛竜が寝ているところに行く。

右奥が、両方の飛竜からの攻撃があたらない。

そこから小さい方の飛竜向かって矢を打つ。
あっ逃げた。

ファランクスから奥の塔の上から矢を打つ。
矢が尽きたので、したからソウルの矢を打ち倒せた。

奥の飛竜は、左奥が尻尾の攻撃が当たらない。
矢を打つが、こちらも逃げた。

2009-02-20 Fri

デモンブランドを手に入れた - デモンズソウル メモ [デモンズソウル][game]

歩いてよってくるので、ソウルの矢でチマチマ攻撃した。
さっぱり減らない。

それでも続けていたら、剣をもらった。
ある程度ダメージを与えればいいようだ。

ステータスが足りない。
魔術師が装備するには、筋力と信仰がだいぶ足りない。

2009-02-19 Thu

塔の騎士撃破 - デモンズソウル メモ [デモンズソウル][game]

三人で、ファランクスの要石から先に進む。

端の中を通ることが出来るのを知る。
飛竜が怖くて外に出なかったから見つけられなかったのか。

塔の騎士戦開始
でけー

周囲の弓兵を先に倒す。
高台からソウルの矢で攻撃。

ここからだと塔の騎士の攻撃があたらない。

2009-02-18 Wed

ファランクスの要石の先 - デモンズソウル メモ [デモンズソウル][game]

ファランクスの要石の先に進む。

1回目
飛竜に燃やされた。

2回目
2つ目の橋の弓兵に射殺された。

3回目
3つ目の橋の騎士に切り殺された。

もう少しだったのに。

2009-02-17 Tue

ストーンファング坑道を進む - デモンズソウル メモ [デモンズソウル][game]

ストーンファング坑道を進む。
ソウルの矢、火線が大活躍。

装甲が紙だからアウトレンジから攻撃するのが安全だな。

タカアシ鎧蜘蛛戦開始
左端が安全だ。
そこからソウルの矢で攻撃。

2009-02-16 Mon

ファランクス撃破 - デモンズソウル メモ [デモンズソウル][game]

いきなりボス戦か。

うねうねがキモイ

ソウルの矢を動き回りながら撃ちまくって倒した。

霊廟の鍵を拾った - デモンズソウル メモ [デモンズソウル][game]

オストラヴァを助けた後、
後について行ったら、敵に殺されていた。

BK94

key3_i = p_i ^ c_i

key2_i+1 = crc32(key2_i,MSB(key1_i+1))

key2_i = crc32i(key2_i+1,MSB(key1_i+1))
       = (key2_i+1 << 8) ^ crcinvtab(MSB(key2_i+1) ^ MSB(key1_i+1)
       = crc32i(key2_i+1,0) ^ MSB(key1_i+1)

key3 から key2_i+1 の 10..15 推定 2..9 推定
16 .. 31 推定

JPEG JFIF ヘッダ

仮定 サムネイルなし、解像度単位 dpi

00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13
FF D8 FF E0 00 10 4A 46 49 46 00 01 02 01 XX XX XX XX 00 00

解像度 72dpi(00 48), 300dpi(01 2C), 600dpi(02 58)

2009-02-15 Sun

Demon's Souls - デモンズソウル メモ [デモンズソウル][game]

地面のメッセージで、ブランディッシュを思い出した。

2009-02-14 Sat

Street Fighter IV [game]

買った。
3時間やった。
マメがつぶれた。
ぎゃー。

2009-02-10 Tue

key2_0 を推測

key2_1 の定義

key2_1 = crc32 (key2_0, MSB(key1));
       = crc32(key2_0,0) ^ crctab[MSB(key1)]

key2_0 = (key2_1 << 8) ^ crcinvtab[MSB(key2_1)] ^ MSB(key1)

2009-02-09 Mon

多次元配列にはまる [D言語]

前置配列宣言した配列にアクセスするとき
添え字の順序が逆になる。

int[4][3] a;
a[3][2] = 10; //Error: array index 3 is out of bounds a[0 .. 3]

2009-02-07 Sat

A Known Plaintext Attack on the PKZIP Stream Cipher を読む

[BK94] を読む必要がありそう。

preimage のところで 16bit では無く、 14bit を推測する理由がわかった。
最終的に出力されるのに関係するのが、key2 の 16bit で、
その内、 0 .. 1 bit が固定されているため、
残りの 2 .. 15 bit を推測する。

最終的に出力される s になる 14bit は 64 種類
256x64 のテーブルを作成できる。

ushort[64][256] preimage;
void preimage_init()
{
    ushort temp;
    ubyte s;
    for(int i;i < 256;i++)
    {
        for(int j;j < 64;j++)
        {
            temp = i << 2 | j << 10 | 3;
            s = ((temp * (temp ^ 1)) >> 8) & 0xFF;
            preimage[s][j] = i << 2 | j << 10;
        }
    }
}

2009-02-03 Tue

preimage table を作る

ZIP Attacks with Reduced Known Plaintext

Given a stream byte si+1, we can find sixty four values for bits 2..15 of key2i.
It’s easy to see why: fourteen bits of key2i produce eight bits of si+1, so there
are six left over. We can create a table of 256 x 64 bytes such that given si+1 and
bits 10..15 of key2i, we can look up bits 2..9 of key2i. We call this the preimage
table.

ubyte decrypt_byte()
{
    uint temp =  key2 | 3;
    return (((temp * (temp ^ 1)) >> 8) & 0xFF);
}

c_i(0x00-0xFF) = p_i(0x00-0xFF) ^ s_i(0x00-0xFF)
s_i = c_i ^ p_i

preimage[s_i+1(0x00-0xFF)][crc32(key2,0)[10..15](0x00-0x3F)] = crc32(key2,0)[2..9]

どうやって作るんだろう?

2009-02-02 Mon

ZIP Attacks with Reduced Known-Plaintext を読む

1.1 The PKZIP Stream Cipher

{
    unsigned short temp;
    key0 = crc32 (key0, pt);
    key1 = (key1+LSB(key0)) * 0x08088405 + 1;
    key2 = crc32 (key2, MSB(key1));
    temp = (key2 & 0xFFFF) | 2;
    return LSB( (temp * (temp ^ 1)) >> 8);
}

CRC32 の定義
crc32(32bit crc, 8bit b)
  rerutn ((crc >> 8) ^ crctab[LSB(crc) ^ b])

crctab[a ^ b] = crctab[a] ^ crctab[b]

crc32(a,b) = (a >> 8) ^ crctab[LSB(a) ^ b]
                   = (a >> 8) ^ crctab[LSB(a)] ^ crctab[b]
                   = crc32(a,0) ^ crctab[b]

        key0 の 8bit(LSB) が key1 に
LSB(crc32(key0,0)) ^ LSB(crctb[p])

key1 の 8bit(MSB) が key2 に
key2 が 出力に影響する。

3 Divide and Conquer

key01 を推測するのに key00 の 16bit は必要ない。
LSB(key01) を推測するためにLSB(crc32(key00,0))を推測する。

LSB(key01) = LSB(crc32(key00,p1))
           = LSB(crc32(key00,0)) ^ LSB(crctab[p1])

MSB(key11) = MSB( (key10 + LSB(key01)) * 0x08088405 + 1 )
       (A) = MSB( LSB(key01) * 0x08088405) +
       (B) MSB( key10 * 0x08088405) + possible carry bit.

(B) の 9bit を推測する。

key2i 2..15(14bit)を推測

si+1 と key2i の 10..15(6bit) で
key2i の 2..9(8bit) を参照する。
256*64バイト の preimage table

key2i の 14bit で si+1 の 8bit を作る

crc32(key20,0) の 10..15(6bit) を推測
s2 preimage table crcab[MSB(key11)] で crc32(key20,0) の 2..9(8bit) を推測

key21 = crc32(key20,MSB(key11))

preimage から key2 を推測
key1 を推測
key0 を推測

2^63 個のキー

過去ログ

2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 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
2007 : 01 02 03 04 05 06 07 08 09 10 11 12