摘要: 第五十二课 win32 临界区 1.线程安全问题 其实就是多个线程同时对一个资源(即全局变量等)进行操作 2.临界区 设计图 临界区的使用 1、创建CRITICAL_SECTION: CRITICAL_SECTION cs; 2、在使用前进行初始化 InitializeCriticalSection 阅读全文
posted @ 2024-03-16 23:26 小新07 阅读(63) 评论(0) 推荐(0) 编辑
摘要: 第五十课 win32 创建线程 1.进程与线程 程序就是在硬盘里还没跑起来的二进制文件,进程就是已经运行中的程序,一个进程至少有一个线程,比如一个正在举行的活动需要几十个人帮忙干活,进程就是那个活动,线程就是那几十个人 一个线程启动是需要占用一个cpu的 一个新线程也会创建一个新堆栈 进程就是一个4 阅读全文
posted @ 2024-03-16 23:21 小新07 阅读(78) 评论(0) 推荐(0) 编辑
摘要: 第四十八课 win32 提取图标_修改标题 1.添加图标 a,.右键添加icon时不要直接新建,导入b. 加载图标 :::info HICON hIcon;hIcon = LoadIcon (hAppInstance, MAKEINTRESOURCE (IDI_ICON)); hAppInstanc 阅读全文
posted @ 2024-03-16 23:19 小新07 阅读(87) 评论(0) 推荐(0) 编辑
摘要: 第四十五课 win32 esp寻址_定位回调函数 自己vs编译的exe入口函数好像和课程视频哩的vc6不一样,没办法跟着视频走,可以用课件里给的作业exe勉强跟着视频学,前面的都差不多,课件下载地址:https://www.bcdaren.com/video/videoPlay/3303185150 阅读全文
posted @ 2024-03-16 23:17 小新07 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 第四十三课 win32 宽字节 1.编码 0x00.ASCII码 1、ASCII 码使用指定的 7 位或 8 位二进制数组合来表示 128 或 256 种可能的字符2、标准 ASCII 码使用 7 位二进制数来表示所有的大写和小写字母,数字 0 到 9、标点符号,以及在美式英语中使用的特殊控制字符。 阅读全文
posted @ 2024-03-16 23:14 小新07 阅读(68) 评论(0) 推荐(0) 编辑
摘要: 第四十课 c++8 new-delete-vector 1.内存空间复习 在类外函数外的变量就是全局变量,程序一编译地址就已经确定了的 临时数据,参数和局部变量就是在堆栈里 而使用malloc函数动态申请的则是在堆里 2.跟踪调试反汇编函数 我们调用malloc函数申请内存,但是不是malloc一个 阅读全文
posted @ 2024-03-16 10:52 小新07 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 第三十八课 c++6 模板 1.冒泡排序和折半查找 void Sort(int* arr,int nLength) { int i; int k; for(i=0;i<nLength-1;i++) { for(k=0;k<nLength-1-i;k++) { if(arr[k]>arr[k+1]) 阅读全文
posted @ 2024-03-16 10:50 小新07 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 第三十六课 c++3 权限控制 1.定义和实现分开写 2.private和public private权限说明 私有变量在类外是无法访问的,只有在类内或者使用类内函数访问 类内函数访问 3.private真的不能访问吗 反汇编看看t对象在初始化public和private成员时都是一视同仁的,在底层 阅读全文
posted @ 2024-03-16 10:46 小新07 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 第三十四课 c++1 this指针 海哥的一句话:学c++就是学编译器帮我们做了多少事情 1.结构体参数传递 结构体直接作为函数参数传递时,本质上是将结构体成员copy一份传到函数的栈中,这样会比较浪费空间。所以一般我们使用结构体指针传参 struct Base{ int x; int y; /*i 阅读全文
posted @ 2024-03-16 10:42 小新07 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 第三十一课 重定位表 一.引入重定位表 1.程序加载过程 程序加载后,操作系统会给程序分4GB虚拟内存, 先装载自身的.exe:如先把ipmsg.exe拉伸贴到ImageBase(0x00400000),分配空间大小为SizeOfImage(0x3D000) 但并不是所有文件的ImageBase都是 阅读全文
posted @ 2024-03-16 10:39 小新07 阅读(67) 评论(0) 推荐(0) 编辑
摘要: 第二十八节课 数据目录 1.数据目录是什么 可选PE头最后一个成员,就是数据目录,一共有16个分别是:导出表的数据目录、导入表的数据目录、资源表的数据目录、异常信息表的数据目录、安全证书表的数据目录、重定位表的数据目录、调试信息表的数据目录、版权所有表的数据目录、全局指针表的数据目录、TLS表的数据 阅读全文
posted @ 2024-03-16 10:36 小新07 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 第二十五课 FileBuffer-ImageBuffer 1.PE文件执行的总过程 第二十三课已经说过了,文件先复制一份读入虚拟内存中(FileBuffer),接着要运行时将FileBuffer中的文件数据拉伸,重载到4GB的虚拟内存中(ImageBuffer) 但ImageBuffer还不是文件运 阅读全文
posted @ 2024-03-16 10:33 小新07 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 第二十三课 PE头手动解析 参考文章https://blog.csdn.net/Edimade/article/details/124540050?spm=1001.2014.3001.5502 1.PE结构前言 a.硬盘和加载到内存的文件结构异同 硬盘上的exe打开后首地址是从0开始(逻辑地址); 阅读全文
posted @ 2024-03-16 10:29 小新07 阅读(66) 评论(0) 推荐(0) 编辑