C++学习笔记-windows底层粗略认识
1.所有的软件都运行在内存中(以数字的方式);
2.菜单栏中菜单的排放,在每次运行前都存储在文件中;
3.存放界面信息的地方为“资源文件”;【这只是其中的一种方式,现在都是xml的配置(外部文件配置),是另外一种(自绘的界面库,为动态加载),修改xml文件就可,不过一般都有校验】
(大型软件基本上都采用XML,因为不用更新exe,更新XML就可以更新界面)
4.找到程序的资源文件,进行修改,就能达到修改效果;
1.资源文件(保存在exe中)
2.使用外部文件配置(灵活性高)
Windows上最核心的机制:
事件驱动
消息机制
消息循环
Windows消息机制:
菜单消息:WM_COMMAND+WPARAM[ID]
Windows消息循环:应用程序通过消息循环获取各种消息,通过相应的窗口过程函数,对消息进行处理;这正是消息循环使得一个应用程序能够响应
如:动一下鼠标->操作系统的事件<-应用程序自己去取
这个置顶是一个WM消息。
PE文件段:
.text (代码段)
.data (数据段)
.rsrc (资源段 )
在编程,操作字符串的时候,使用不安全的函数或大空间的变量
如:
char str[255]
这里有大量的其他空间,可以通过缓冲区溢出的方式来执行我们想要执行的代码,将里面的数据改写,改写成汇编对应的数据。然后执行,
用程序的高权限来做邪恶的事情(杀毒软件,并在微软有认证)
C++学习笔记-windows底层粗略认识相关推荐
- 学习笔记:Windows 下Keras安装和配置指南
目录: 目录: Windows下Keras安装和配置指南 Keras 框架搭建 安装 本系列参考官方文档官方文档 这就是keras可以参考前篇:这就是keras 学习笔记 Keras:一些基本概念 一 ...
- 学习笔记-Windows 安全
Windows 安全 注 : 笔记中拓扑图 drawio 源文件在其图片目录下 免责声明 本文档仅供学习和研究使用,请勿使用文中的技术源码用于非法用途,任何人造成的任何负面影响,与本人无关. 大纲 漏 ...
- 学习笔记-Windows 基础服务搭建
Windows 基础服务搭建 磁盘管理 例1 新建两个 10G 的硬盘,名称为 A-10-1.A-10-2,挂载到主机; 新建镜像卷,使用所有空间,驱动器号为 D. 1. 开始--管理工具--计算机管 ...
- Java面试学习笔记——MySQL底层分析
参考视频链接:尚硅谷MySQL数据库高级,mysql优化,数据库优化(尚硅谷MySQL数据库高级,mysql优化,数据库优化_哔哩哔哩_bilibili) 参考笔记链接:(https://blog.c ...
- 《Windows via C/C++》学习笔记 —— Windows 线程池
线程池(thread pool),允许有多个线程同时存在,并发执行,并且这些线程受到统一管理. 在Windows Vista中,提供了全新的线程池机制,一般这些线程池中的线程的创建的销毁是由操作系统自 ...
- [学习笔记]Windows CMD/bat
基础知识 命令帮助的符号解释 Notation Description Text without brackets or braces 必须要输入的命令 <Text inside angle b ...
- TryHackMe学习笔记-Windows PrivEsc Arena
文章目录 Task 1 Connecting to TryHackMe network Task 2 Deploy the vulnerable machine Task 3 Registry Esc ...
- [学习笔记] windows 下安装nginx和php以及添加yaf框架和redis扩展
下载nginx和php压缩包 nginx 下载网址:http://nginx.org/en/download.html php 下载网址:http://php.net/downloads.php#v7 ...
- Win32学习笔记 - Windows 常用消息大全
表A-1 Windows消息分布 消息范围 说 明 0 - WM_USER – 1 系统消息 WM_USER - 0x7FFF 自定义窗口类整数消息 WM_APP - 0xBFFF 应用程序自定义消 ...
最新文章
- 数据库表的软硬关联_数据库软删除和硬删除
- python绘制曲线图-python绘制多个曲线的折线图
- Scala入门到精通——第八节 包和引入
- 如何在Windows 10上设置默认Linux发行版
- linux内核设计与实现 epub_Epoll学习服务器的简单实现-Linux内核Epoll结构
- (pytorch-深度学习系列)使用重复元素的网络(VGG)
- easyui datagrid oncheck 修改行样式_100 种 PPT 图表样式送给你
- python中的super使用方法[探索4]
- input html5 新特性,html5 input 新特性
- 【代码笔记】iOS-使用MD5加密
- [渝粤教育] 西南科技大学 数据库应用 在线考试复习资料(5)
- The Art of Prolog:Advanced Programming Techniques【译文】
- 这 9 个 Java 开源项目 yyds
- python通配符_Python通配符一览
- 沉没成本---欲罢不能的困局?
- Oracle ORA12514 监听程序当前无法识别连接描述符中请求的服务问题解决
- OllyICE 调试的程序无法处理异常 解决方法
- 【数据库系统】空值的处理
- 要只看每日减少的新增数量,别忘了疫情最开始的时候可能也只有几个人患病
- 微博朋友圈亿级Feed流如何轻松设计?
热门文章
- sp_xml_preparedocument 处理xml文档
- 大神把可视化放进数据地图里,原来不敲代码一样能做
- 又是一年毕业高峰期,分享下我的2年工作经验
- 【转载】会议是浪费工作时间的最佳去处
- 辣味就直往眼睛的专业o2o资讯
- 飞鸽传书举一个小例子
- Google要回归国内,百度李彦宏居然不怕?我想笑
- 别怕,是我......程序猿
- mysql数据库密码安全参数_MySQL 密码参数配置与修改 validate_password
- C++中拷贝构造函数