#define BaseBlackScreenMainHook //BaseBlackScreenMainThreadHook
#define BaseBlackScreenD3D9Hook
//主线程HOOK 黑屏优化
00528EDF 8BC0 MOV EAX,EAX
00528EE1 90 NOP
00528ECA 74**E8********8B86940100008B088B91A8000000
//+15 ?00528EDF-00528ECA
//HOOK Data[3]={0x8B,0xC0,0x90}//{0x90,0x90,0x90};
//022 00528ECA 74**E8********8B86940100008B088B91A8000000
// 00528ECA 74**E8********8B86940100008B088B91A8000000
//+15 ?00528EDF-00528ECA
//HOOK Data[3]={0x8B,0xC0,0x90}//MOV EAX,EAX;NOP//{0x90,0x90,0x90};
//主线程HOOK 黑屏优化
strcpy_s(szpFeatureCode,"74**E8********8B86940100008B088B91A8000000");
//定位特征码
ndCurAddr=ScanFeatureCode(hProcess,szpFeatureCode,0x0527000,0x0527000+0x10000);
//读取基址1
ndBase=ndCurAddr+0x15;
// printf("ndCurAddr=%X\n",ndCurAddr);
printf("#define BaseBlackScreenMainHook 0x%X//022 主线程黑屏优化基址0x%X \n",ndBase,ndBase);
fprintf(pfile,"#define BaseBlackScreenMainHook 0x%X//022 主线程黑屏优化基址 0x%X\n",ndBase,ndBase);
#define BaseBlackScreenD3D9Hook
//主线程HOOK 黑屏优化
00528EDF 8BC0 MOV EAX,EAX
00528EE1 90 NOP
00528ECA 74**E8********8B86940100008B088B91A8000000
//+15 ?00528EDF-00528ECA
//HOOK Data[3]={0x8B,0xC0,0x90}//{0x90,0x90,0x90};
//022 00528ECA 74**E8********8B86940100008B088B91A8000000
// 00528ECA 74**E8********8B86940100008B088B91A8000000
//+15 ?00528EDF-00528ECA
//HOOK Data[3]={0x8B,0xC0,0x90}//MOV EAX,EAX;NOP//{0x90,0x90,0x90};
//主线程HOOK 黑屏优化
strcpy_s(szpFeatureCode,"74**E8********8B86940100008B088B91A8000000");
//定位特征码
ndCurAddr=ScanFeatureCode(hProcess,szpFeatureCode,0x0527000,0x0527000+0x10000);
//读取基址1
ndBase=ndCurAddr+0x15;
// printf("ndCurAddr=%X\n",ndCurAddr);
printf("#define BaseBlackScreenMainHook 0x%X//022 主线程黑屏优化基址0x%X \n",ndBase,ndBase);
fprintf(pfile,"#define BaseBlackScreenMainHook 0x%X//022 主线程黑屏优化基址 0x%X\n",ndBase,ndBase);

这篇博客介绍了如何通过D3D9的黑屏优化来降低CPU占用率,主要涉及游戏逆向工程,使用C++进行代码修改。通过替换特定的特征码,实现游戏主线程的黑屏优化,减少了不必要的计算,从而达到优化效果。内容包括特征码定位、代码替换以及具体的操作步骤。
最低0.47元/天 解锁文章
8682

被折叠的 条评论
为什么被折叠?



