• 1186阅读
  • 2回复

天堂2文件校验算法的代码(转别人的) [复制链接]

上一主题 下一主题
离线gtr999
 
发帖
*
祝福宝石
*
威望
*
玛雅之石
*
创造宝石
*
只看楼主 倒序阅读 使用道具 楼主  发表于: 2004-06-30
DWORD L2FileCheck(char *file) 6mxzE3?G  
{ 6mxzE3?G  
DWORD Check=0xFFFFFFFF; 6mxzE3?G  
HANDLE hFile; 6mxzE3?G  
DWORD dwFileSize; 6mxzE3?G  
DWORD dwNumberOfBytesReadWritten; 6mxzE3?G  
HANDLE hMemory; 6mxzE3?G  
LPVOID pMemory; 6mxzE3?G  
char filename[MAX_PATH]; 6mxzE3?G  
BYTE *temp; 6mxzE3?G  
BYTE temp1,temp2; 6mxzE3?G  
int Max=0,Min=0; 6mxzE3?G  
temp =(unsigned char *)malloc(0x1000); 6mxzE3?G  
hFile=CreateFile(file, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_ARCHIVE, 0); 6mxzE3?G  
if(hFile != INVALID_HANDLE_value) 6mxzE3?G  
{ 6mxzE3?G  
dwFileSize=GetFileSize(hFile, NULL); 6mxzE3?G  
hMemory=GlobalAlloc(GMEM_MOVEABLE | GMEM_ZEROINIT, dwFileSize); 6mxzE3?G  
pMemory=GlobalLock(hMemory); 6mxzE3?G  
Max = (dwFileSize-0x14)/0x1000; 6mxzE3?G  
Min = (dwFileSize-0x14)%0x1000; 6mxzE3?G  
for(int j=0;j<Max;j++) 6mxzE3?G  
{ 6mxzE3?G  
ReadFile(hFile,pMemory,0x1000,&dwNumberOfBytesReadWritten,NULL); 6mxzE3?G  
memcpy(temp,pMemory,0x1000); 6mxzE3?G  
for(int k=0;k<0x1000;k++) 6mxzE3?G  
{ 6mxzE3?G  
temp1=*(BYTE *)(temp+k); 6mxzE3?G  
temp2=(Check&0x000000FF) ^ temp1; 6mxzE3?G  
Check=(Check >> 8) ^ FileCheck[temp2]; 6mxzE3?G  
} 6mxzE3?G  
} 6mxzE3?G  
ReadFile(hFile,pMemory,Min,&dwNumberOfBytesReadWritten,NULL); 6mxzE3?G  
memcpy(temp,pMemory,0x1000); 6mxzE3?G  
for(j=0;j<Min;j++) 6mxzE3?G  
{ 6mxzE3?G  
BYTE temp1,temp2; 6mxzE3?G  
temp1=*(BYTE *)(temp+j); 6mxzE3?G  
temp2=(Check&0x000000FF) ^ temp1; 6mxzE3?G  
Check=(Check >> 8) ^ FileCheck[temp2]; 6mxzE3?G  
} 6mxzE3?G  
_asm { 6mxzE3?G  
push ecx 6mxzE3?G  
mov ecx,Check 6mxzE3?G  
not ecx 6mxzE3?G  
mov Check,ecx 6mxzE3?G  
pop ecx 6mxzE3?G  
} 6mxzE3?G  
CloseHandle(hFile); 6mxzE3?G  
GlobalUnlock(pMemory); 6mxzE3?G  
GlobalFree(hMemory); 6mxzE3?G  
free(temp); 6mxzE3?G  
return Check; 6mxzE3?G  
} 6mxzE3?G  
else 6mxzE3?G  
{ 6mxzE3?G  
return 0; 6mxzE3?G  
} 6mxzE3?G  
} 6mxzE3?G  
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
离线mygod_hgd
发帖
24
祝福宝石
0
威望
374
玛雅之石
0
创造宝石
0
只看该作者 沙发  发表于: 2004-06-30
看不懂
离线zjw2225
发帖
260
祝福宝石
0
威望
-10588
玛雅之石
0
创造宝石
0
只看该作者 板凳  发表于: 2004-06-30
哎,郁闷,我还以为是EXP的~
天堂2台版测试服开放: http://www.92tt.com

天堂2技术论坛,最新最全最完整的资料库: http://bbs.92tt.com 欢迎大家光临!

QQ:231666
快速回复
限100 字节
批量上传需要先选择文件,再选择上传
 
上一个 下一个

      管理员联系信箱 [email protected] 所有内容均来之互联网,如侵犯您的隐私和权益,请和我们及时联系!