📄 arithdll.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 + -