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

📄 arithdll.cpp

📁 DES,MD5,ZLIB算法源代码
💻 CPP
字号:
// ArithDLL.cpp : Defines the entry point for the DLL application.
//

#include "stdafx.h"
#include "ArithDLL.h"

BOOL APIENTRY DllMain( HANDLE hModule, 
                       DWORD  ul_reason_for_call, 
                       LPVOID lpReserved
					 )
{
    switch (ul_reason_for_call)
	{
		case DLL_PROCESS_ATTACH:
		case DLL_THREAD_ATTACH:
		case DLL_THREAD_DETACH:
		case DLL_PROCESS_DETACH:
			break;
    }
    return TRUE;
};

/*ARITHDLL_API int WINAPI CheckExeFile(char *szFileName, char *szMutex)
{
    if (szMutex != NULL)
    {
        HANDLE m_hMutex;
  	    m_hMutex=CreateMutex(NULL,FALSE,szMutex);
       	if (m_hMutex)
   	    {
     	    if (GetLastError()==ERROR_ALREADY_EXISTS)
     	    {
                CloseHandle(m_hMutex);
  	        	return -1;
       		}
        }
       	else{ return -2;}
    }

    HANDLE hFile;
    hFile=CreateFile(szFileName, 
					 GENERIC_READ,
					 FILE_SHARE_READ,
					 NULL,
					 OPEN_EXISTING, 
					 FILE_ATTRIBUTE_NORMAL,
					 NULL);
	if (hFile == INVALID_HANDLE_VALUE)
        return -3;
    
	int iLen;
	iLen = GetFileSize(hFile, NULL);
    if (iLen<=0) 
	{
		CloseHandle(hFile);
		return -4;
	}
    
	char *strTemp=new char[iLen];
	int iReadLen, iResult;

    SetFilePointer(hFile, 0L, NULL, FILE_BEGIN);
    iResult = ReadFile(hFile, strTemp, iLen, (unsigned long *)&iReadLen, NULL);
    CloseHandle(hFile);
	if (iResult==0 || iReadLen!=iLen)
	{
        delete strTemp;
        return -5;
	}

    char strGene[]="_LSSOFTencrypt_1999b1210_zhangxianzhu_1968dd0316_\
Fateher_19321208_Mother_19390507_Wife_19680707_lssoft@public.szptt.net.cn\
_中国人的操作系统_longsi_130476dc_22c9f00f";
    for(int i=0; i<sizeof(strGene); i++)
    {
        strGene[i] ^= (char)0xff;
        strGene[i] -= (char)30;
    }
    int iSearch = KMPSearchMem(strTemp, iLen, strGene, sizeof(strGene));
    DWORD dwCRC = CRC32((BYTE *)strTemp, iLen, 0);
    delete []strTemp;

    if (iSearch > 0 && dwCRC!=0)
    {
        if (::MessageBox(NULL, "程序已被病毒或其他程序修改,是否继续执行?", 
						 "LongSi Message",
						 MB_YESNO|MB_ICONWARNING|MB_DEFBUTTON2|MB_TOPMOST)!=IDYES)
            return -6;
    }
    return 0;
}
*/


//////////////////////////////////////////////////////////////////////
//
//将网际顺序的unsigned long, 变成Intel顺序的unsigned long值
//
//
//////////////////////////////////////////////////////////////////////
ARITHDLL_API long WINAPI ChangeLong(long lValue)
{
	unsigned long ulTemp = (unsigned long)lValue;
	ulTemp = ((ulTemp&0xF000) >> 24) +
			 ((ulTemp&0x0F00) >> 8) +
			 ((ulTemp&0x00F0) << 8) +
			 ((ulTemp&0x000F) << 24);
	return (long)ulTemp;
}

//////////////////////////////////////////////////////////////////////
//
//将网际顺序的WORD, 变成Intel顺序的WORD值
//
//
//////////////////////////////////////////////////////////////////////
ARITHDLL_API short WINAPI ChangeShort(short shValue)
{
	unsigned short ushTemp=(unsigned short)shValue;
	ushTemp = ((ushTemp&0xF0) >> 8) +
			  ((ushTemp&0x0F) << 8);
	return (short)ushTemp;
}

⌨️ 快捷键说明

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