- 博客(83)
- 资源 (1)
- 收藏
- 关注
原创 C++RE02-全局类对象
识别全局对象只需要看main之前有没有构造代理,构造代理里面可以同时初始化多个全局对象,即多个全局对象可以共用一个全局代理函数,如果类本身没有 构造 和析构函数,可以还原成结构体,因为没有区别。
2023-07-10 23:55:50
1065
原创 01-调试器框架
如何知道程序被调试?使用是一个 Windows API 函数,用于检查当前进程是否被调试器调试。您可以在程序中调用这个函数并检查返回值,如果返回值为非零,则表示程序正在被调试器调试。使用异常处理:调试器通常会截获程序中的异常并处理它们,以便提供调试功能。您可以在程序中设置一个会引发异常的操作,例如除以零,然后在异常处理过程中检查异常是否被调试器截获。如果异常未被截获,那么程序可能正在被调试器调试。检查调试寄存器:某些调试器会使用调试寄存器(例如 DR0-DR7)来监视程序的内存访问或执行。
2023-07-03 22:41:18
980
原创 2-段的初探
指向 GDT 中第一项的段选择符(即选择符中的索引为 0,TI标记置为 0)被视为空(null)段选择符。//所以在调用输出这个函数的时候使用的是ds段的值0x23的地址,而这个地址存放的值是0x100,赋值给eax,在push eax,输出的值是0x100。,根据前面我们的分析DS段的base段基址 ,这个逻辑地址要与我们的base相加,没修改之前base的值应是。描述符的类型域的低3位(位8,9,10)被解释为访问控制(A),是否可写(W),扩展方向(E)。`取的地址的值是错误的。
2023-05-21 14:59:40
749
原创 1-CPU科普
x86架构的处理器只有实模式(Real Mode),这种模式下CPU可以访问1MB以下的内存,但没有内存保护和特权级别等保护机制。从80386开始,x86架构的处理器逐渐增加了更多的保护模式相关功能,并成为现代操作系统的主要平台之一。比更快。它的时钟速度更高,并且拥有更多的指令缓存,80486还引入了内部缓存,这是一个高速的存储器,用于存储最近使用的指令和数据。
2023-05-21 14:56:19
993
原创 01-PE头
可移植的可执行的文件格式。它是能够被解析的文件,里面有一个内部的格式的,比如图片、音频、视频、压缩包文件等。在 windows 上可以用来被执行的文件 比如 exe、dll,它们也有自己的格式。
2023-03-23 19:08:54
368
原创 05-跨进程句柄和进程间操作
跨进程句柄和进程间操作输出目录修改如图所示:目的是在上一层目录生成Debug目录,里面放着执行文件输出目录修改如图所示:目的是在上一层目录生成Debug目录,里面放着执行文件结论:进程B是无法直接使用A的进程句柄的。剖析:一个进程,它所打开的句柄(或者说它所获得的句柄),进程都会把句柄存起来,这样就会形成一个表记录进程拿到哪些句柄;这个表叫做句柄表;在B进程的句柄表中,并没有自己的进程的句柄,所以就算手动把A进程的句柄给B进程;让B进程结束——B进程表示在自己的句柄表中找不到自己
2023-03-08 12:25:36
1141
原创 C++——形参带默认值的函数
4.形参给默认值的时候,不管是定义处给,还是声明处给,形参默认值只能出现一次。3.定义出可以给形参默认值,声明也可以给形参默认值。1.给默认值的时候,从右向左给。
2022-09-08 20:31:16
635
原创 基本网络知识的介绍
a)早期网络通讯,需要程序员直接判断网卡型号,通过汇编调用网卡针脚电平操作;b)后来人们把网卡的类型和驱动交给操作系统,安装系统时安装网卡的驱动;c)开发者不再关注网卡的信息和驱动,操作系统提供统一网络发送接口,这东西就是SOCKET接口;用于在两个的应用程序之间相互通信(包括两台以上主机之间的程序),socket是属于TCP\IP的上一层。
2022-09-04 15:17:05
319
原创 中等靶场
方法二我们也可以使用gobusterdir-uhttp//192.168.1.8-w/usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt后台目录进行探测,然后选择该字典爆破后台目录,这个工具就相对快些。13、发现该用于只是普通的用户,所以接下来要做的就是提权,发现home目录下有messenger.sh相关的信息,通过该文件,可以间接获得selena的权限。现在她要为这件事负责。...
2022-07-19 12:02:04
311
原创 记一次Vulnhub靶机练习成功拿下root权限
1、首先使用sudoarp-scan-l命令对局域网内的主机进行扫描,并推断出该目标ip地址!2、接着使用nmap,对该主机进行端口扫描nmap-sV-A192.168.1.15,就发现该主机开启了22,80端口以及版本号的相关信息。到这我们就会产生两个思路,爆破ssh或从80端口下手,寻找该网址是否有入口点,但ssh用户名都没有,无疑这是很大的工作量,所以我们就从80端口入手。!对该网址进行后台目录的扫描,经过测试发现页面存在信息,但依旧对我们渗透毫无帮助。!......
2022-07-18 16:28:59
927
原创 认识启动函数,找到用户入口
main或WinMain函数需要有一个调用者,在它们被调用前,编译器其实已经做了很多事情,所以main或WinMain是“语法规定的用户入口”,而不是“应用程序入口”。
2022-06-27 11:17:45
485
原创 C语言——深入理解数组
因为算数组地址要从1开始的话就得多算一步,从0开始,效率就会高些函数交换数值代码数组交换数值代码:main的栈结构:使用查看argc的值,可推出调用方栈底调用方栈底上方会被初始化为局部变量0xcccccccc接着会初始化数组为1,2,3,4,5按F11步入调试猜想继续按F11最终实现值转换...
2022-06-20 22:10:28
412
原创 javaWeb——Servlet中getInitParameter()的使用
ServletConfig概述1、容器初始化一个servlet时,会为这个servlet建一个唯一的ServletConfig2、容器从web.xml读出Servlet初始化参数,并把这些参数交给ServletConfig,然后把ServletConfig传递给servlet的init(ServletConfig config)方法。3、容器只有在创建servlet实例时才会读DD文件中的init-param, 并且在servlet一生中只读一次。4、方法:getInitParameter(St
2022-04-19 18:25:36
4537
原创 JavaWeb之Servlet-注册页面
Servlet-注册页面环境准备:本文所用到环境如下:软件:Eclipse(2018)服务器:Tomcat 9在index.jsp添加相关的代码<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http
2022-04-10 21:43:38
6768
3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人