⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hsel_stream.cpp

📁 墨香最新私服
💻 CPP
📖 第 1 页 / 共 3 页
字号:
		iRemainCount--;
	}

	return;
}

void CHSEL_STREAM::DESMiddleDecode_Type_2(char *lpStream,const __int32 iStreamSize)//辨捞俊绰 付捞呈胶 蔼捞 绝促.
{
	iTempMiddleKey	= Init.Keys.iMiddleKey;//努贰胶 郴狼 MiddleKey狼 袍橇
	iBlockCount		= iStreamSize>>2;	//喉钒荐 啊瘤绊 坷扁 == __int32 iBlockCount = iStreamSize/4;
	iRemainCount	= iStreamSize&3;	//楼捧府 辨捞 罐扁==__int32 iRemainCount = iStreamSize%4; 
	iPos			= (iBlockCount<<2);			//官捞飘 窜困 困摹 iBlockCount*4
	__int32 *lpBlock	= (__int32*)(lpStream);
	char *lpChar			= ((char*)&Init.Keys.iMiddleKey);
	
	while(iBlockCount)
	{
		(*(lpBlock++)) -= iTempMiddleKey;
		iBlockCount--;
	}
	while(iRemainCount)
	{
		lpStream[iPos++]	-=	(*(lpChar+iRemainCount));
		iRemainCount--;
	}
	return;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////
void CHSEL_STREAM::DESLeftEncode_Type_3(char *lpStream,const __int32 iStreamSize)
{
	iTempLeftKey	= Init.Keys.iLeftKey;//努贰胶 郴狼 LeftKey狼 袍橇
	iBlockCount		= (iStreamSize>>2);	//喉钒荐 啊瘤绊 坷扁 == __int32 iBlockCount = iStreamSize/4;
	iRemainCount	= (iStreamSize&3);	//楼捧府 辨捞 罐扁==__int32 iRemainCount = iStreamSize%4; 
	iPos			= (iBlockCount<<2);	//官捞飘 窜困 困摹 iBlockCount*4
	__int32 *lpBlock	= (__int32*)lpStream;//鞠龋拳 措惑 喉钒 瘤沥侩 器牢磐
	char *lpChar			= ((char *)&(Init.Keys.iLeftKey));
	
	while(iBlockCount)
	{
		(*lpBlock)		-=	(iTempLeftKey);
		(iTempLeftKey)	=	(*(lpBlock++));
		(iBlockCount--);
	}
	while(iRemainCount)
	{
		lpStream[iPos++]	-=	(*(lpChar+iRemainCount));
		(iRemainCount--);
	}
	return;
}

void CHSEL_STREAM::DESLeftDecode_Type_3(char *lpStream,const __int32 iStreamSize)//辨捞俊绰 付捞呈胶 蔼捞 绝促.
{
	
	iTempLeftKey	= Init.Keys.iLeftKey;//努贰胶 郴狼 LeftKey狼 袍橇
	iBlockCount		= (iStreamSize>>2); //喉钒荐 啊瘤绊 坷扁 == __int32 iBlockCount = iStreamSize/4;
	iRemainCount	= (iStreamSize&3);//楼捧府 辨捞 罐扁==__int32 iRemainCount = iStreamSize%4; 
	iPos			= (iBlockCount<<2);
	
	__int32 *lpBlock	= (__int32*)lpStream;//鞠龋拳 措惑 喉钒 瘤沥侩 器牢磐
	char *lpChar		= ((char *)&Init.Keys.iLeftKey);

	lpBlock			+=	(iBlockCount-1);
	(iTempLeftKey)	=	(*(lpBlock-1));

	while(	1	<	iBlockCount)
	{
		(*(lpBlock--))	+=	(iTempLeftKey);
		(iTempLeftKey)	=	(*(lpBlock-1));
		(iBlockCount--);
	}

	if(iBlockCount)
	{
		(*lpBlock)	+=	(Init.Keys.iLeftKey);
	}

	while(iRemainCount)
	{
		lpStream[iPos++]	+=	(*(lpChar+iRemainCount));
		(iRemainCount--);
	}
	return;
}

void CHSEL_STREAM::DESRightEncode_Type_3(char *lpStream,const __int32 iStreamSize)//辨捞俊绰 付捞呈胶 蔼捞 绝促.
{
	iTempRightKey	= Init.Keys.iRightKey;//努贰胶 郴狼 RightKey狼 袍橇
	iBlockCount		= iStreamSize>>2;	//喉钒荐 啊瘤绊 坷扁 == __int32 iBlockCount = iStreamSize/4;
	iRemainCount	= iStreamSize&3;	//楼捧府 辨捞 罐扁==__int32 iRemainCount = iStreamSize%4; 
	iPos			= (iBlockCount<<2);			//官捞飘 窜困 困摹 iBlockCount*4
	__int32 *lpBlock	= (__int32*)(lpStream+iPos+iRemainCount);
	char *lpChar	= ((char *)&Init.Keys.iRightKey);
	
	lpBlock = (__int32*)(lpStream+iStreamSize-4);
	
	while(iBlockCount)
	{
		(*lpBlock)		-=	(iTempRightKey);
		(iTempRightKey)	=	(*(lpBlock--));
		iBlockCount--;
	}

	while(iRemainCount)
	{
		lpStream[--iRemainCount]	-=	(*(lpChar+iRemainCount));
	}
	return;
}

void CHSEL_STREAM::DESRightDecode_Type_3(char *lpStream,const __int32 iStreamSize)//辨捞俊绰 付捞呈胶 蔼捞 绝促.
{
	iTempRightKey	= Init.Keys.iRightKey;//努贰胶 郴狼 RightKey狼 袍橇
	iBlockCount		= iStreamSize>>2;	//喉钒荐 啊瘤绊 坷扁 == __int32 iBlockCount = iStreamSize/4;
	iRemainCount	= iStreamSize&3;	//楼捧府 辨捞 罐扁==__int32 iRemainCount = iStreamSize%4; 
	iPos			= (iBlockCount<<2);			//官捞飘 窜困 困摹 iBlockCount*4
	__int32 *lpBlock	= (__int32*)(lpStream+iRemainCount);
	char *lpChar	= ((char *)&Init.Keys.iRightKey);

	iTempRightKey	= *(lpBlock+1);
	
	while(1 < iBlockCount)
	{
		(*(lpBlock++))	+=	(iTempRightKey);
		iTempRightKey	=	(*(lpBlock+1));
		iBlockCount--;
	}
	
	if(iBlockCount)
	{
		*(lpBlock)		+=	(Init.Keys.iRightKey);
	}

	while(iRemainCount)
	{
		lpStream[--iRemainCount]	+=	(*(lpChar+iRemainCount));
	}
	
	return;
}

void CHSEL_STREAM::DESMiddleEncode_Type_3(char *lpStream,const __int32 iStreamSize)//辨捞俊绰 付捞呈胶 蔼捞 绝促.
{
	iTempMiddleKey	= Init.Keys.iMiddleKey;//努贰胶 郴狼 MiddleKey狼 袍橇
	iBlockCount		= iStreamSize>>2;	//喉钒荐 啊瘤绊 坷扁 == __int32 iBlockCount = iStreamSize/4;
	iRemainCount	= iStreamSize&3;	//楼捧府 辨捞 罐扁==__int32 iRemainCount = iStreamSize%4; 
	iPos			= (iBlockCount<<2);			//官捞飘 窜困 困摹 iBlockCount*4
	__int32 *lpBlock	= (__int32*)(lpStream);
	char *lpChar	= ((char *)&Init.Keys.iMiddleKey);

	while(iBlockCount)
	{
		(*(lpBlock++)) -= iTempMiddleKey;
		iBlockCount--;
	}
	while(iRemainCount)
	{
		lpStream[iPos++]	-=	(*(lpChar+iRemainCount));
		iRemainCount--;
	}

	return;
}

void CHSEL_STREAM::DESMiddleDecode_Type_3(char *lpStream,const __int32 iStreamSize)//辨捞俊绰 付捞呈胶 蔼捞 绝促.
{
	iTempMiddleKey	= Init.Keys.iMiddleKey;//努贰胶 郴狼 MiddleKey狼 袍橇
	iBlockCount		= iStreamSize>>2;	//喉钒荐 啊瘤绊 坷扁 == __int32 iBlockCount = iStreamSize/4;
	iRemainCount	= iStreamSize&3;	//楼捧府 辨捞 罐扁==__int32 iRemainCount = iStreamSize%4; 
	iPos			= (iBlockCount<<2);	//官捞飘 窜困 困摹 iBlockCount*4
	
	__int32 *lpBlock	= (__int32*)(lpStream);
	char *lpChar			= ((char*)&Init.Keys.iMiddleKey);
	
	while(iBlockCount)
	{
		(*(lpBlock++)) += iTempMiddleKey;
		iBlockCount--;
	}
	while(iRemainCount)
	{
		lpStream[iPos++]	+=	(*(lpChar+iRemainCount));
		iRemainCount--;
	}
	return;
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////
void CHSEL_STREAM::DESLeftEncode_Type_4(char *lpStream,const __int32 iStreamSize)
{
	iTempLeftKey	= Init.Keys.iLeftKey;//努贰胶 郴狼 LeftKey狼 袍橇
	iBlockCount		= (iStreamSize>>2);	//喉钒荐 啊瘤绊 坷扁 == __int32 iBlockCount = iStreamSize/4;
	iRemainCount	= (iStreamSize&3);	//楼捧府 辨捞 罐扁==__int32 iRemainCount = iStreamSize%4; 
	iPos			= (iBlockCount<<2);	//官捞飘 窜困 困摹 iBlockCount*4
	
	__int32 *lpBlock	= (__int32*)lpStream;//鞠龋拳 措惑 喉钒 瘤沥侩 器牢磐
	char *lpChar			= ((char *)&(Init.Keys.iLeftKey));
	
	while(iBlockCount)
	{
		(*lpBlock)		-=	(iTempLeftKey);
		(iTempLeftKey)	=	(*(lpBlock++));
		(iBlockCount--);
	}
	while(iRemainCount)
	{
		lpStream[iPos++]	^=	(*(lpChar+iRemainCount));
		(iRemainCount--);
	}
	return;
}

void CHSEL_STREAM::DESLeftDecode_Type_4(char *lpStream,const __int32 iStreamSize)//辨捞俊绰 付捞呈胶 蔼捞 绝促.
{
	iTempLeftKey	= Init.Keys.iLeftKey;//努贰胶 郴狼 LeftKey狼 袍橇
	iBlockCount		= (iStreamSize>>2); //喉钒荐 啊瘤绊 坷扁 == __int32 iBlockCount = iStreamSize/4;
	iRemainCount	= (iStreamSize&3);//楼捧府 辨捞 罐扁==__int32 iRemainCount = iStreamSize%4; 
	iPos			= (iBlockCount<<2);
	
	__int32 *lpBlock	= (__int32*)lpStream;//鞠龋拳 措惑 喉钒 瘤沥侩 器牢磐
	char *lpChar		= ((char *)&Init.Keys.iLeftKey);

	lpBlock			+=	(iBlockCount-1);
	(iTempLeftKey)	=	(*(lpBlock-1));

	while(	1	<	iBlockCount)
	{
		(*(lpBlock--))	+=	(iTempLeftKey);
		(iTempLeftKey)	=	(*(lpBlock-1));
		(iBlockCount--);
	}

	if(iBlockCount)
	{
		(*lpBlock)	+=	(Init.Keys.iLeftKey);
	}

	while(iRemainCount)
	{
		lpStream[iPos++]	^=	(*(lpChar+iRemainCount));
		(iRemainCount--);
	}
	return;
}

void CHSEL_STREAM::DESRightEncode_Type_4(char *lpStream,const __int32 iStreamSize)//辨捞俊绰 付捞呈胶 蔼捞 绝促.
{
	iTempRightKey	= Init.Keys.iRightKey;//努贰胶 郴狼 RightKey狼 袍橇
	iBlockCount		= iStreamSize>>2;	//喉钒荐 啊瘤绊 坷扁 == __int32 iBlockCount = iStreamSize/4;
	iRemainCount	= iStreamSize&3;	//楼捧府 辨捞 罐扁==__int32 iRemainCount = iStreamSize%4; 
	iPos			= (iBlockCount<<2);			//官捞飘 窜困 困摹 iBlockCount*4
	
	__int32 *lpBlock	= (__int32*)(lpStream+iStreamSize-4);
	char *lpChar	= ((char *)&Init.Keys.iRightKey);
	
	while(iBlockCount)
	{
		(*lpBlock)		+=	(iTempRightKey);
		(iTempRightKey)	=	(*(lpBlock--));
		iBlockCount--;
	}

	while(iRemainCount)
	{
		lpStream[--iRemainCount]	^=	(*(lpChar+iRemainCount));
	}
	return;
}

void CHSEL_STREAM::DESRightDecode_Type_4(char *lpStream,const __int32 iStreamSize)//辨捞俊绰 付捞呈胶 蔼捞 绝促.
{
	iTempRightKey	= Init.Keys.iRightKey;//努贰胶 郴狼 RightKey狼 袍橇
	iBlockCount		= iStreamSize>>2;	//喉钒荐 啊瘤绊 坷扁 == __int32 iBlockCount = iStreamSize/4;
	iRemainCount	= iStreamSize&3;	//楼捧府 辨捞 罐扁==__int32 iRemainCount = iStreamSize%4; 
	iPos			= (iBlockCount<<2);			//官捞飘 窜困 困摹 iBlockCount*4
	
	__int32 *lpBlock	= (__int32*)(lpStream+iRemainCount);
	char *lpChar	= ((char *)&Init.Keys.iRightKey);

	iTempRightKey	= *(lpBlock+1);
	
	while(1 < iBlockCount)
	{
		(*(lpBlock++))	-=	(iTempRightKey);
		iTempRightKey	=	(*(lpBlock+1));
		iBlockCount--;
	}
	
	if(iBlockCount)
	{
		*(lpBlock)		-=	(Init.Keys.iRightKey);
	}
	while(iRemainCount)
	{
		lpStream[--iRemainCount]	^=	(*(lpChar+iRemainCount));
	}
	
	return;
}

void CHSEL_STREAM::DESMiddleEncode_Type_4(char *lpStream,const __int32 iStreamSize)//辨捞俊绰 付捞呈胶 蔼捞 绝促.
{
	iTempMiddleKey	= Init.Keys.iMiddleKey;//努贰胶 郴狼 MiddleKey狼 袍橇
	iBlockCount		= iStreamSize>>2;	//喉钒荐 啊瘤绊 坷扁 == __int32 iBlockCount = iStreamSize/4;
	iRemainCount	= iStreamSize&3;	//楼捧府 辨捞 罐扁==__int32 iRemainCount = iStreamSize%4; 
	iPos			= (iBlockCount<<2);			//官捞飘 窜困 困摹 iBlockCount*4

	__int32 *lpBlock = (__int32*)(lpStream);
	char *lpChar = ((char *)&Init.Keys.iMiddleKey);

	while(iBlockCount)
	{
		(*(lpBlock++)) ^= iTempMiddleKey;
		iBlockCount--;
	}
	while(iRemainCount)
	{
		lpStream[iPos++]	+=	(*(lpChar+iRemainCount));
		iRemainCount--;
	}

	return;
}

void CHSEL_STREAM::DESMiddleDecode_Type_4(char *lpStream,const __int32 iStreamSize)//辨捞俊绰 付捞呈胶 蔼捞 绝促.
{
	iTempMiddleKey	= Init.Keys.iMiddleKey;//努贰胶 郴狼 MiddleKey狼 袍橇
	iBlockCount		= iStreamSize>>2;	//喉钒荐 啊瘤绊 坷扁 == __int32 iBlockCount = iStreamSize/4;
	iRemainCount	= iStreamSize&3;	//楼捧府 辨捞 罐扁==__int32 iRemainCount = iStreamSize%4; 
	iPos			= (iBlockCount<<2);	//官捞飘 窜困 困摹 iBlockCount*4

	__int32 *lpBlock = (__int32*)(lpStream);
	char *lpChar = ((char*)&Init.Keys.iMiddleKey);

	while(iBlockCount)
	{
		(*(lpBlock++)) ^= iTempMiddleKey;
		iBlockCount--;
	}
	while(iRemainCount)
	{
		lpStream[iPos++]	-=	(*(lpChar+iRemainCount));
		iRemainCount--;
	}
	return;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -