好友
阅读权限40
听众
最后登录1970-1-1
|
昨天hym2008童鞋发了一个叫做 PEID 百变秀 的PEiD皮肤插件,用起来感觉还不错。
但用起来有点不爽:第一是皮肤的Nag没去掉,看着不爽;第二就是,PEiD的按钮带着StaticEdge,加了皮肤之后看起来十分别扭。
所以昨天花了点时间自己写了一个,现在发出来给大家玩玩。
使用方法:把Release目录下的所有文件复制到PEiD的插件目录即可。如果想换皮肤的话,替换掉skinh.she文件就好。
当然你也可以自己重新编译一个,这个东西不难。
关键代码说明:
//去掉Nag:
unsigned char *pPatchByte = NULL;
DWORD dwOldProtect = 0;
pPatchByte = (unsigned char*)( (DWORD)hSkinBase + 0x0005059 );
VirtualProtectEx(GetCurrentProcess(),pPatchByte,4,PAGE_EXECUTE_READWRITE,&dwOldProtect);
*pPatchByte = 0x50;
pPatchByte = (unsigned char*)( (DWORD)hSkinBase + 0x0000F36F );
VirtualProtectEx(GetCurrentProcess(),pPatchByte,4,PAGE_EXECUTE_READWRITE,&dwOldProtect);
*pPatchByte = 0x50;
pPatchByte = (unsigned char*)( (DWORD)hSkinBase + 0x000215B2 );
VirtualProtectEx(GetCurrentProcess(),pPatchByte,4,PAGE_EXECUTE_READWRITE,&dwOldProtect);
*pPatchByte = 0x50;
//去掉StaticEdge,首先安装一个WH_CBT,然后在回调函数中这样写:
LRESULT __stdcall CbtProc (
int nCode,
WPARAM wParam,
LPARAM lParam )
{
switch ( nCode ) {
case HCBT_CREATEWND:
{
HWND hWnd = (HWND) wParam;
char szClassName[40] = { 0 };
GetClassNameA( hWnd, szClassName, 40 );
if ( stricmp( szClassName, "Button") == 0 ) {
long ExStyle = GetWindowLongA( hWnd, GWL_EXSTYLE );
if ( ExStyle & WS_EX_STATICEDGE ) {
ExStyle &= ~WS_EX_STATICEDGE;
SetWindowLongA( hWnd, GWL_EXSTYLE, ExStyle );
}
}
}
break;
default:
break;
}
return CallNextHookEx( g_CbtHook, nCode, wParam, lParam );
}
附上效果图:
|
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|