刷新
10.1 调试事件读取寄存器

博主头像 当读者需要获取到特定进程内的寄存器信息时,则需要在上述代码中进行完善,首先需要编写`CREATE_PROCESS_DEBUG_EVENT`事件,程序被首次加载进入内存时会被触发此事件,在该事件内首先我们通过`lpStartAddress`属性获取到当前程序的入口地址,并通过`SuspendThrea... ...

10.0 探索API调试事件原理

博主头像 本章笔者将通过`Windows`平台下自带的调试API接口实现对特定进程的动态转存功能,首先简单介绍一下关于调试事件的相关信息,调试事件的建立需要依赖于`DEBUG_EVENT`这个特有的数据结构,该结构用于向调试器报告调试事件。当一个程序发生异常事件或者被调试器附加时,就会产生对应的`DEBUG_... ...

9.2 运用API实现线程同步

博主头像 Windows 线程同步是指多个线程一同访问共享资源时,为了避免资源的并发访问导致数据的不一致或程序崩溃等问题,需要对线程的访问进行协同和控制,以保证程序的正确性和稳定性。Windows提供了多种线程同步机制,以适应不同的并发编程场景。以上同步机制各有优缺点和适用场景,开发者应根据具体应用场景进行选... ...

C语言 静态库和动态库生成

博主头像 文件目录结构 tree . ├── bin ├── include │ └── calc.h ├── lib │ ├── add.c │ ├── div.c │ ├── mul.c │ └── sub.c └── src └── main.c 4 directories, 6 files 静态库生成 ...

8.2 BeingDebugged

博主头像 BeingDebugged 是`Windows`系统`PEB`结构体中的一个成员,它是一个标志位,用于标识当前进程是否正在被调试。BeingDebugged的值为0表示当前进程未被调试,值为1表示当前进程正在被调试。由于`BeingDebugged`是在`PEB`结构体中存储的,因此可以通过访问`P... ...

7.7 实现进程内存读写

博主头像 内存进程读写可以让我们访问其他进程的内存空间并读取或修改其中的数据。这种技术通常用于各种调试工具、进程监控工具和反作弊系统等场景。在`Windows`系统中,内存进程读写可以通过一些`API`函数来实现,如`OpenProcess`、`ReadProcessMemory`和`WriteProcess... ...

7.6 实现进程挂起与恢复

博主头像 挂起与恢复进程是指暂停或恢复进程的工作状态,以达到一定的控制和管理效果。在 Windows 操作系统中,可以使用系统提供的函数实现进程的挂起和恢复,以达到对进程的控制和调度。需要注意,过度使用进程挂起/恢复操作可能会造成系统性能的降低,导致死锁等问题,因此在使用时应该谨慎而慎重。同时,通过和其他进程... ...

最全的李慧芹APUE-文件IO笔记

文件 IO / 系统调用 IO 注: 李慧芹老师的视频课程请点这里, 本篇为系统IO一章的笔记, 课上提到过的内容基本都会包含, 上一章为标准IO 文件描述符(fd)是在文件IO中贯穿始终的类型 本节内容 文件IO操作: open, close, read, write, lseek 文件IO与标准 ...

alog一个日志库

博主头像 alog是一个非常精简的串口输出日志组件, 类似easyloger,但是比easyloger更简单易用,只有2个实际不到百行的文件,实现了基本日志所需的全部功能。 需移植配置的接口选项少,实现了串口输出字符串就可以用了,没有C库以外的其他依赖。 没有存储日志相关的扩展的API,适合新手使用理解和在资... ...

最全的李慧芹APUE-标准IO笔记

标准 IO 注: 李慧芹老师的视频课程请点这里, 本篇为标准IO一章的笔记, 课上提到过的内容基本都会包含 I/O (Input & Output): 是一切实现的基础 stdio (标准IO) sysio (系统调用IO / 文件IO) 系统IO是内核接口, 标准IO是C标准库提供的接口, 标准I ...

C语言 入坑总结

博主头像 什么是内存泄漏? 内存泄漏是指计算机程序在使用内存时,没有正确释放不再需要的内存,导致系统中的可用内存逐渐减少,最终可能导致程序性能下降或崩溃。 数组指针和指针数组区别 数组指针 数组指针是指一个指针,它指向一个数组的首元素。 它是一个单一的指针变量,用于存储数组的地址。 数组指针的类型是指向数组的 ...

C数据结构-线性表之顺序表

博主头像 什么是线性表 线性表的插入元素 线性表的删除元素 线性表顺序存储的缺点 线性表的特点 1.线性表的实例 首先我们创建3个文件,分别如下: liner_data --sqlist.c --sqlist.h --test.c sqlist.h // .h文件中定位数据的结构以及函数的方法 typedef ...

codeblock安装及汉化教程

博主头像 1.双击图标 2.弹出如下对话框: 3、单击按钮Next,弹出如下对话框: 4、单击按钮I Agree,弹出如下对话框: 5、单击按钮Next,弹出如下对话框: 6、单击Browse按钮,可以重新设置安装路径 7、路径重新设置后,单击确定按钮弹出如下对话框(注意,此时路径已更改): 注意:如果想要设 ...

东方博宜OJ1000 熟悉一下Online Judge的环境 C语言版

题目描述 请不要笑。用来适应环境的题目,自然比较简单些。 计算 22个整数的和,这两个整数都在 11到 100之间。 输入 输入只有一行,包括 22 个整数 a , b ,之间用一个空格分开。 输出 输出只有一行,包括 11 个整数。 样例 输入 1 2 输出 3 说明 使用OJ做题注意事项: 请不 ...

关于指针与引用传递的效率问题

博主头像 # 引言 * 引用是C++的特性,指针是C语言的特性 * 关于这两种特性的运行效率,人云亦云,好多人都说引用传递效率更高 * 以至于一些面试官在自己都不清楚的前提下面试别人 * 笔者有幸遇到过,由于看过底层汇编,在面试官对我说引用效率更高的时候,导致我一度怀疑自己的记忆力 * 下面我们就看看引用在汇 ...

谁偷走了我的存储容量?预留空间OP参上!

​大家好,我是五月。 前言 不知道你有没有发现,每当买回来一块U盘,插入电脑发现永远比所标的容量小。 到底是谁偷走了我的容量? 真凶就是预留空间(Over Provisioning),简称OP。 预留空间OP是什么 了解内存开发的都会知道,一块Flash中能用的空间并不会全部用来做用户空间。 还有一 ...

C语言笔记 - “%”符号的用法

博主头像 ### 1、% - 运算符 %表示取模运算,也就是取余数。 例如 6 % 4 = 2 ### 2、% - 引导符/占位符 引导符用于控制输入输出的格式。常见于printf("%d",a);scanf("%d",&a);语句。 1) %s - 字符串 (String) 2) %c - 字符 (Char ...

【GTK】布局容器

博主头像 GTK提供了许多不同的容器组件,用户可以通过搭配不同的容器组件来控制子组件的布局方式。 容器组件如下: + GtkBox + GtkGrid + GtkRevealer + GtkStack + GtkOverlay + GtkPaned + GtkExpander + GtkFixed # 1、G ...

C语言数据的存储

博主头像 [TOC] ## 类型的基本归类 **整形家族:** ```c char unsigned char signed char short unsigned short [int] signed short [int] int unsigned int signed int long unsigned ...

<1···678···10>