【转】VC 隐藏模块、MFC 改变窗口类名

【转】VC 隐藏模块

  1. void HideDll()  
  2. {  
  3.     HMODULE hMod = ::GetModuleHandle("MyHook.dll");  
  4.     PLIST_ENTRY Head,Cur;  
  5.     PPEB_LDR_DATA ldr;  
  6.     PLDR_MODULE ldm;  
  7.     __asm  
  8.     {  
  9.         mov eax , fs:[0x30]  
  10.         mov ecx , [eax + 0x0c] //Ldr  
  11.         mov ldr , ecx  
  12.     }  
  13.     Head = &(ldr->InLoadOrderModuleList);  
  14.     Cur = Head->Flink;  
  15.     do  
  16.     {  
  17.         ldm = CONTAINING_RECORD( Cur, LDR_MODULE, InLoadOrderModuleList);  
  18.         //printf("EntryPoint [0x%X]/n",ldm->BaseAddress);  
  19.         if( hMod == ldm->BaseAddress)  
  20.          {  
  21.             ldm->InLoadOrderModuleList.Blink->Flink =  
  22.                 ldm->InLoadOrderModuleList.Flink;  
  23.             ldm->InLoadOrderModuleList.Flink->Blink =  
  24.                 ldm->InLoadOrderModuleList.Blink;  
  25.             ldm->InInitializationOrderModuleList.Blink->Flink =  
  26.                 ldm->InInitializationOrderModuleList.Flink;  
  27.             ldm->InInitializationOrderModuleList.Flink->Blink =  
  28.                 ldm->InInitializationOrderModuleList.Blink;    
  29.             ldm->InMemoryOrderModuleList.Blink->Flink =  
  30.                 ldm->InMemoryOrderModuleList.Flink;  
  31.             ldm->InMemoryOrderModuleList.Flink->Blink =  
  32.                 ldm->InMemoryOrderModuleList.Blink;    
  33.             break;  
  34.          }  
  35.         Cur= Cur->Flink;  
  36.      }while(Head != Cur);  
  37. }  

 

【转】MFC 改变窗口类名

1,改变窗口类名:比如:MyClassName是自己想设置的类名
方法:打开资源视图,右击外挂窗口,属性改掉ClassName属性,若它为灰色,右击.rc文件改mfc Mode属性为false,再改
2,改变后在CTestCpp中的InitInstance()注册该窗口类名
WNDCLASS wc;

// 获取窗口类信息。MFC默认的所有对话框的窗口类名为 #32770
::GetClassInfo(AfxGetInstanceHandle(), _T("#32770"), &wc);

// 改变窗口类名
wc.lpszClassName = _T("MyClassName");

// 注册新窗口类,使程序能使用它
AfxRegisterClass(&wc);

jpg 改 rar 

posted @ 2018-08-23 16:19  狂客  阅读(967)  评论(0编辑  收藏  举报