随笔分类 -  sec 安全 / windows编程

摘要:win32 消息 #include <Windows.h> #include <stdio.h> #include <string.h> // 用于在 win32 中获取控制台 HANDLE g_hOutput = NULL; // 全局保存实例对象 HINSTANCE g_hInstance = 阅读全文
posted @ 2023-05-19 20:31 某某人8265 阅读(25) 评论(0) 推荐(0) 编辑
摘要:PE 文件结构 前三个部分是数据组织结构部分,节表数据才是PE真正的数据部分 DOS 头 PE 头保存windows系统加载可执行文件的重要信息。PE头部有 IMAGE_NT_HEADERS 定义,其包含了 IMAGE_NT_SIGNATRUE IMAGE_FILE_HEADER IMAGE_OPT 阅读全文
posted @ 2022-08-10 08:40 某某人8265 阅读(285) 评论(0) 推荐(0) 编辑
摘要:x86汇编(32位) CPU工作模式: 实模式:早期Win9x DOS 所支持,可以直接访问硬件,直接对端口操作,对中断进行操作。现在cpu仍支持实模式,一是为了与早期cpu架构兼容,二是因为所有x86架构都是从实模式引导起来的。 保护模式:每个进程间都是隔离的。现在处理器的主要工作模式。 x84 阅读全文
posted @ 2022-08-09 17:40 某某人8265 阅读(102) 评论(0) 推荐(0) 编辑
摘要:在windows下,驱动不仅用于控制硬件设备,也可以创建虚拟设备,也可以和具体设备无关。可以通过windows提供的接口很方便地对内核扩展。驱动模块加载到内核后就可以工作在和操作系统平级地平台上运行。 在安装vs之后还要再安装wdk https://docs.microsoft.com/zh-cn/ 阅读全文
posted @ 2022-08-09 12:18 某某人8265 阅读(547) 评论(0) 推荐(0) 编辑
摘要:文件 获得与关闭句柄 // 文件的打开与关闭 WINBASEAPI HANDLE // 成功返回句柄,失败返回 INVALID_HANDLE_VALUE,失败原因可用 GetLastError() 获得 WINAPI CreateFile( _In_ LPCSTR lpFileName, _In_ 阅读全文
posted @ 2022-08-08 22:58 某某人8265 阅读(189) 评论(0) 推荐(0) 编辑
摘要:网络编程 TCP 服务端函数: socket() bind() listen() accept() send() / recv() closesocket() TCP 客户端函数: socket() connect() send() / recv() closesocket() UDP 服务端: s 阅读全文
posted @ 2022-08-08 09:18 某某人8265 阅读(206) 评论(0) 推荐(0) 编辑
摘要:控件 对象和控件绑定 将控件窗口和类对象绑定有两大作用: 如果和数据类(如 CString)对象绑定,对象和控件可以进行数据交换。 如果和控件类(如 CButton)对象绑定,对象就可以代表整个控件。 控件与数据类对象绑定 重写父类成员虚函数 DoDataExchange在函数内部通过一系列的 DD 阅读全文
posted @ 2022-08-07 22:18 某某人8265 阅读(314) 评论(0) 推荐(0) 编辑
摘要:文件操作 序列化基本类型 以二进制流形式读写硬盘文件,但这种方式效率高。 CFile 文件操作类,完成硬盘文件读写操作。 CArchive 归档类,完成内存数据操作。 CFile: CFile::Open CFile::Write / Read CFile::Close CFile::SeekToB 阅读全文
posted @ 2022-08-04 21:47 某某人8265 阅读(138) 评论(0) 推荐(0) 编辑
摘要:单文档视图架构程序 只能管理一个文档,只有一个文档类对象。 参与架构的类: CFrameWnd / CView / CDocument / CWinApp(除了这个类以外,均支持动态创建机制) 需要用到的类:CSingleDocTemplate 文档模板类(父类为 CDocTemplate 文档模板 阅读全文
posted @ 2022-08-04 09:44 某某人8265 阅读(202) 评论(0) 推荐(0) 编辑
摘要:视图窗口 图中的圆和框代表了宏定义展开后的静态变量和消息处理数组。 覆盖在主框架客户区的窗口,提供了一个专门用于显示数据的窗口。当不创建 CView 对象时,在窗口客户区看见的就是客户区,不是视图类。 相关类:CView 及其相关子类,父类为CWnd类,封装了关于视图窗口的各种操作,以及和文档类的数 阅读全文
posted @ 2022-08-03 11:56 某某人8265 阅读(167) 评论(0) 推荐(0) 编辑
摘要:钩子 win32 技术。钩子有优先钩取消息的权力,消息产生后会先被钩子钩走,钩子处理完后再把消息返回回来。 创建钩子 WINUSERAPI HHOOK WINAPI SetWindowsHookExA( _In_ int idHook, // 钩子类型,不同类型的钩子处理不同消息。 WH_CBT:专 阅读全文
posted @ 2022-08-02 08:51 某某人8265 阅读(271) 评论(0) 推荐(0) 编辑
摘要:对话框 与普通窗口相比,处理消息的方式不一样。 普通窗口:自定义函数调用缺省函数 WndProc(...){ ... DefWindowProc(...); // 缺省函数 } 对话框窗口:缺省函数调用自定义函数 缺省函数(...){ ... 自定义函数(...); // 调用用户写的函数 ... 阅读全文
posted @ 2022-08-02 08:50 某某人8265 阅读(357) 评论(0) 推荐(0) 编辑
摘要:MFC 六大机制: 程序启动机制 窗口创建机制 消息映射机制 运行时类信息机制 动态创建机制 序列化机制 调试快捷键 F6: 生成解决方案 Ctrl+F6: 生成当前项目 F7: 查看代码 Shift+F7: 查看窗体设计器 F5: 启动调试 Ctrl+F5: 开始执行(不调试) Shift+F5: 阅读全文
posted @ 2022-08-02 08:50 某某人8265 阅读(97) 评论(0) 推荐(0) 编辑
摘要:绘图编程 1. 绘图基础 绘图设备 DC (Device Context),绘图上下文 / 绘图描述表。os提供的绘画工具,由它代用户进行绘画。 HDC:DC句柄,表示绘图设备 GDI:Windows graphics device interface(Win32 提供的绘图API) 颜色:RGB 阅读全文
posted @ 2022-08-02 08:49 某某人8265 阅读(495) 评论(1) 推荐(1) 编辑
摘要:线程 1. 线程基础 都有一个ID 每个线程都有自己的内存栈 同一个进程中所有线程使用同一个地址空间 按照时间片调度 2. 创建线程 WINBASEAPI _Ret_maybenull_ HANDLE // 创建成功返回线程句柄 WINAPI CreateThread( _In_opt_ LPSEC 阅读全文
posted @ 2022-07-31 23:10 某某人8265 阅读(120) 评论(0) 推荐(0) 编辑
摘要:应用程序分类 控制台程序 窗口程序 静态库LIB文件,链接时将代码放入exe 动态库DLL文件,执行时动态获取代码 编译工具 编译器 CL.EXE 将源代码编译成目标代码 .obj 链接器 LINKl.EXE 将目标代码、库链接 资源编译器 RC.EXE 将rc资源文件编译,最终通过链接器存入最终文 阅读全文
posted @ 2022-07-30 14:58 某某人8265 阅读(195) 评论(0) 推荐(0) 编辑
摘要:黑客编程入门 windows就是一个大的死循环 开发的三种方式: SDK开发(C语言调用api) MFC(对于api的封装) 托管式开发(常见于 C# + .NET,C++也可以做) 消息来源: 操作系统产生 用户触发事件产生 由消息产生的消息 消息常见分类: 预定义消息 窗口消息 WM_ 设备消息 阅读全文
posted @ 2022-07-28 23:18 某某人8265 阅读(361) 评论(0) 推荐(0) 编辑
摘要:消息机制 主要的三个动态链接库 内核(KERNEL32.DLL)用户(User32.DLL) 窗口管理(GDI32.DLL)。windows程序运行时通过一个“动态链接”进程与windows接口,每个EXE包含它所需要的各个动态链接库以及库中函数的reference引用地址。当exe被装入内存后,程 阅读全文
posted @ 2022-07-28 16:03 某某人8265 阅读(63) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示