[
板情報
|
カテゴリランキング
]
したらば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
(省略可)
:
※書き込む際の注意事項は
こちら
※画像アップローダーは
こちら
(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)
スマートフォン版
掲示板管理者へ連絡
無料レンタル掲示板