【转】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. }  

void HideDll() { HMODULE hMod = ::GetModuleHandle("MyHook.dll"); PLIST_ENTRY Head,Cur; PPEB_LDR_DATA ldr; PLDR_MODULE ldm; __asm { mov eax , fs:[0x30] mov ecx , [eax + 0x0c] //Ldr mov ldr , ecx } Head = &(ldr->InLoadOrderModuleList); Cur = Head->Flink; do { ldm = CONTAINING_RECORD( Cur, LDR_MODULE, InLoadOrderModuleList); //printf("EntryPoint [0x%X]/n",ldm->BaseAddress); if( hMod == ldm->BaseAddress) { ldm->InLoadOrderModuleList.Blink->Flink = ldm->InLoadOrderModuleList.Flink; ldm->InLoadOrderModuleList.Flink->Blink = ldm->InLoadOrderModuleList.Blink; ldm->InInitializationOrderModuleList.Blink->Flink = ldm->InInitializationOrderModuleList.Flink; ldm->InInitializationOrderModuleList.Flink->Blink = ldm->InInitializationOrderModuleList.Blink; ldm->InMemoryOrderModuleList.Blink->Flink = ldm->InMemoryOrderModuleList.Flink; ldm->InMemoryOrderModuleList.Flink->Blink = ldm->InMemoryOrderModuleList.Blink; break; } Cur= Cur->Flink; }while(Head != Cur); }

 

【转】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 

转载于:https://www.cnblogs.com/kuangke/p/9524502.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值