自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 基础壳的原理

例如我们要给一个程序加上一个执行messagebox的壳该如何做,不考虑注入,我们可以在程序的可执行可读可写区段的空白区域添加上我们的代码。我们发现在text段中的文件偏移1110处有大量空白,可以作为写壳代码的区域。oep属性在nt头的可选头里面我们通过修改这个值来保证我们的壳代码是最先运行。壳实际上是一段可执行代码,而有壳的程序会先执行壳代码在执行其他。在我们执行完壳代码后需要返回原本oep,jmp回去。再把地址用来计算,得到完整的跳转地址,就完成了。在010里面我们能看到的只有文件偏移。

2024-03-23 00:43:51 148 1

原创 软件漏洞 栈溢出

首先我们需要清楚,栈底是ebp高地址,栈顶是esp低地址,而存储一般由低地址向高地址。综上esp是栈的顶,由他来开辟空间,但他是存储的底,由他向高地址存储。当调用一个函数时,会进行esp-的操作,来开辟新的栈提供内存。ebp是栈的底,由他来结束空间,但他是存储的顶。

2024-03-10 15:11:08 143

原创 C++异步IO

首先,当我们创建一个线程用于进行阻塞函数和读取大型文件时,这条线程将会等待结果的反馈,阻塞在原地,那么我们可以说这条线程就有些浪费了,这就叫做同步IO。那我们有什么方法可以解放这个线程,让其先进行后面的操作,等待结果反馈再回头执行阻塞部分呢,答案就是异步IO,异步IO的原理就是将阻塞操作交给底层操作系统进行,等同于再开一条线程进行这些浪费时间的操作,以效能换取效率,而本该阻塞的线程继续执行后续代码,节省速率。

2024-03-06 15:58:59 1112 3

原创 c++ 网络编程 基本交互与多线程交互

提到网络编程我们首先想到的是socket,俗称套接字,他将端口和ip进行连接, 然后是winsock,是windows提供的一款网络编程接口。分为1和2两个版本,版本1只提供tcp和udp协议。tcp和udp是网络通讯基本协议,tcp协议需要三次招手,要求稳定的连接,如同和服务器要有夫妻的名分,udp直接发送到服务器,一夜情关于c++的网络编程,微软提供了进行操作的程序接口。

2024-03-04 20:10:19 237

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除