したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | メール | |

プログラミングについて話すスレ

21さむらい鼠:2004/06/11(金) 19:22
// レシーブしたパケットをデコードする。
// numOfTable : 何枚目のテーブルを使うか。
// key : デコード用の暗号キー
// buff1 : パケットのバッファー
// buff2 : パケットのバッファー
// len : バッファーのサイズ

BYTE* pTable;//デコード用テーブル先頭へのポインタ

char DecodeRecvPacket(int numOfTable, DWORD key, DWORD* buff1, DWORD* buff2, int len)
{
int a;//暗号キーの処理結果を格納する変数
int b;//for文のカウンタ
int c;//バファ退避用


for(b = 0; b < len; b++){
//暗号キーの下位1バイトをビット操作
if ((a = key & 0x0ff & 0x80000007) < 0){
a--;
a |= 0xfffffff8;
a++;
}

//バッファを書き換える
(BYTE)buff1[b] = (BYTE)(pTable + numOfTable * 256 + (BYTE)buff1[b]);

if( key & 0xff & (1 << a) != 0 ) {
c = (BYTE)buff1[b];
//バファを書き換える
(BYTE)buff2[b] = (BYTE)((BYTE)buff1[b] ^ (key & Oxff));
//暗号キーの下位1バイトを書き換える
key = key & (BYTE)c;
continue;
} else {
if ((a = key & 0xff & 0x80000003) < 0){
a--;
a = a | 0xfffffff8;
a++;
}
}

if (key & 0x0ff & (1 << a) != 0 ) {
c = (BYTE)buff1[b];
//バファを書き換える
(BYTE)buff2[b] = (BYTE)buff1[b] - (key & 0xff);
//暗号キーの下位1バイトを書き換える
key = key & (BYTE)c;
continue;
} else {
c = (BYTE)buff1[b];
//バッファを書き換える
(BYTE)buff2[b] = (BYTE)((BYTE)buff[b] + key & 0x0ff);
key = key & (BYTE)c;
}
}

return key;
}


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板