【转】VC 隐藏模块、MFC 改变窗口类名
【转】VC 隐藏模块
- 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);
- }
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 
【转】VC 隐藏模块、MFC 改变窗口类名的更多相关文章
- 自定义MFC对话窗口的类名
默认情况下,MFC对话框的窗口类名为"#32770",如果想自定义窗口类名呢,需要两步: 1.修改rc文件 这一步需要直接编辑rc文件,使用任意记事本工具即可,找到窗口的相关定义, ...
- MFC子窗口和父窗口
转载声明: 本文转载自:http://www.cnblogs.com/BeyondTechnology/archive/2011/03/25/1995934.html 感谢BeyondTechnolo ...
- MFC子窗口和父窗口(SetParent,SetOwner)
一.概念和区别 在windows系统中,每个窗口对象都对应有一个数据结构,形成一个list链表.系统的窗口管理器通过这个list来获取窗口信息和管理每个窗口.这个数据结构中有四个数据用来构建list, ...
- linux如何隐藏和显示所有窗口?
centos7 基本上就跟fedora23是一样的了, 也许它们使用的内和是一样的, fedora23使用的是4.2.3, 所以使用fedora对使用centos和redhat是有优势和好处福利的. ...
- 关于html5 -- plus Webview模块管理应用窗口界面
Webview模块管理应用窗口界面,通过plus.webview可获取应用界面管理对象. 方法: all:获取所有的webview窗口 close:关闭webview窗口 create:创建新的web ...
- vc++深入跟踪MFC程序的执行流程
在MFC程序设计的学习过程中最令人感到难受,甚至于有时会动摇学习者信心的就是一种对于程序的一切细节都没有控制权的感觉.这种感觉来源于学习者不知道一个MFC程序是如何运行起来的(即一个MFC程序的执行流 ...
- 压缩软件WinRar 5.5 x64去广告方式【窗口类名下断】
工具及使用软件逆向逻辑原始软件使用效果:查看软件窗口类名查看WinRAR.exe信息x64dbg逆向破解软件(非附加调试)处理掉广告注册函数处理掉广告创建函数保存修改后的镜像破解效果 工具及使用软件 ...
- delphi API: SetWindowPos改变窗口的位置与状态
SetWindowPos 函数功能:该函数改变一个子窗口,弹出式窗口式顶层窗口的尺寸,位置和Z序.子窗口,弹出式窗口,及顶层窗口根据它们在屏幕上出现的顺序排序.顶层窗口设置的级别最高,并且被设置为Z序 ...
- 变不可能为可能 - .NET Windows Form 改变窗体类名(Class Name)有多难?续篇
发布<.NET Windows Form 改变窗体类名(Class Name)有多难?>转眼大半年过去了,要不是在前几天有园友对这篇文章进行评论,基本上已经很少关注它了,毕竟那只是一个解惑 ...
随机推荐
- JDBC快速入门教程
JDBC是什么? JDBC API是一个Java API,可以访问任何类型表列数据,特别是存储在关系数据库中的数据.JDBC代表Java数据库连接. JDBC库中所包含的API通常与数据库使用于: 连 ...
- (源)VC助手VA破解使用指南
一般情况下,你下载的破解版的VC助手,要么自带的有一个名为VA_X.dll的文件,要么是有一个可运行的破解程序,根据不同的情况进行如下操作,只要你下载的安装文件没有问题,就能正确打上破解补丁.网上有一 ...
- Winform控件学习笔记【第二天】——常用控件
背景:期末考试刚过就感冒了,嗓子火辣辣的,好难受.但是一想起要学习总结就打起精神来了,Winform控件网上也没有多少使用教程,大部分都是自己在网上零零散散的学的,大部分用的熟了,不总结会很容易忘得. ...
- 互联网公司GitHub repo 语言使用情况
转自: https://laike9m.com/blog/hu-lian-wang-gong-si-github-repo-yu-yan-shi-yong-qing-kuang,56/ 现在基本上所有 ...
- linux静止ping的方法
ping是一个通信协议,是ip协议的一部分,tcp/ip 协议的一部分.利用它可以检查网络是否能够连通,用好它可以很好地帮助我们分析判定网络故障.应用格式为:Ping IP地址.但服务启用ping有时 ...
- http.sys的简单应用
//public void Run() //{ // //httpListener提供一个简单,可通过编程方式控制的Http协议侦听器.此类不能被继承. // if (!HttpListener.Is ...
- unity3d 调用Start 注意
在unity3d中,同一个脚本被绑定到多个物体上的时候,只有active的物体才会调用void Start () 方法, 如果物体是NO Active 的状态,则不会调用Start,Awake也不会 ...
- Android 下载zip压缩文件并解压
网上有很多介绍下载文件或者解压zip文件的文章,但是两者结合的不多,在此记录一下下载zip文件并直接解压的方法. 其实也很简单,就是把下载文件和解压zip文件结合到一起.下面即代码: URLConne ...
- 调整iRedmail之Roundcube webmail服务不可不知的几件事
iRedMail集成了roundcube webmail,极大的方便了安装维护工作,但是需求是千遍万化的,总有需要深入调整的地方.下面就是我调整roundcube时遇到的几点问题: 一.修改网页标题p ...
- 【主成份分析】PCA推导
### 主成份分析(Pricipal components analysis PCA) 假设空间$R^{n}$中有m个点{$x^{1},......,x^{n}$},希望压缩,对每个$x^{i}$都有 ...