下面是实现软件自身CRC校检的C语言代码,它的原理是事先在软件的文件头位置写入CRC的校检值,然后每次启动软件后重新计算自身的CRC值,与刚才预存的值进行对比,如果发现不等就退出,从而起到防止软件代码被修改的功能,有没有谁可以把它翻译成VB代码?BOOL IsFileModified()
{
DWORD fileSize,OriginalCRC32,NumberOfBytesRW
BYTE*pMZheader,pPEheaderRVA;
TCHAR *pBuffer,szFileName[MAX PATH];
GetModuleFileName(NULL,saFileName, MAX PATH);             ∥获得文件名,当前路径HANDLE hFile=CreatrFile(                                 ∥打开文件
szFileName,                                         ∥文件名字串指针
GENERIC READ,                                       ∥只读方式
FILE_SHARE_READ ,                                   ∥共享方式
NULL,                                               ∥安全结构
OPEN EXISTING,                                      ∥打开已存在文件 
FILE ATTRIBUTE NORMAL,                              ∥文件属性
NULL);                                              ∥无模板
if(hFile ==INVALID_HANDLE_VALUE)return FALSE;
fileSize =GerFileSize(hFile,NULL);                           ∥获得文件长度
if(fileSize ==0xFFFFFFFF)return FALSE;
pBuffer=new TCHAR[fileSize];                            ∥申请内存
ReadFile(hFile,pBuffer,fileSize,&NumberOfBytesRW,NULL); ∥关闭文件
CloseHandle(hFile);pMZheader= (BYTE*)pBuffer;                            ∥此时pMZheader指向文件头
pPEHeaderRVA=*( pMZheader+0x3c);                      ∥读3ch处的PE文件头指针
OriginalCRC32=(DWORD*)(pMZheader+ pPEheaderRVA_4);    ∥定位到PE文件头(字符串“PE00”处)前4个字节处,并读取储存在这里的CRC32值
fileSize=fileSIze-DWORD(pPEheaderRVA);        ∥将PE文件头前面那部分数据长度去除
pMZheader=pMZHeader+pPEHeaderRVA;           ∥将pMZheader指向PE文件
if(CRC32(pMZheader,fileSize)==OriginalCRC32)  ∥比较CRC32值
return TRUE;
else
return FALSE;
}CRC代码省略…..
有没有谁可以把它翻译成VB代码?