- 2024-11-02【PAT_Python解 AC满分代码】1105 链表合并
原题链接:PTA|程序设计类实验辅助教学平台Tips:以下Python代码仅个人理解,非最优算法,仅供参考!多学习其他大佬的AC代码!importsysdefmain():#读取链表头和节点数h1,h2,n=map(int,sys.stdin.readline().split())e=[0]*100010#存储数据ne
- 2024-10-28禁用Linux的地址空间随机化
问题描述当我们学习OS的时候,往往需要接触到虚拟地址分配的相关知识。当接触到《OperatingSystems:ThreeEasyPieces》(OperatingSystems:ThreeEasyPieces)中的示例程序mem.c时(文末附上common.h)#include<unistd.h>#include<stdio.h>#include<stdlib.h>#include"c
- 2024-10-28【网络编程】select和poll
selectselect()确定一个或多个套接口的状态,如:需要则等待。#include<winsock.h>intPASCALFARselect(intnfds,fd_setFAR*readfds,fd_setFAR*writefds,fd_setFAR*exceptfds,conststructtimevalFAR*timeout);//参数说明:-nfds:是一个整数值,是指集合中所有
- 2024-10-28【网络编程】文件传输
//服务器端:#include<iostream>#include<string>#include<cstring>#include<cstdio>#include<cstdlib>#include<sys/types.h>#include<sys/stat.h>#include<fcntl.h>#include<sys/socket.h>#include&l
- 2024-10-28【网络编程】获取网站头条
#include<stdio.h>#include<string.h>#include<stdlib.h>#include<sys/types.h>#include<sys/socket.h>#include<arpa/inet.h>#include<netdb.h>#include<unistd.h>#include<iconv.h>intmain(){
- 2024-10-27BuildCTF 2024 Writeup - by 涉海蜉蝣
BuildCTF2024Writeup-by涉海蜉蝣MiscEZ_ZIP-bysorin010查找分析发现压缩包,使用foremost分离疑似套娃压缩包,使用开源软件extractnow或者脚本都可以批量压缩,这里使用extractnow得到flagHEX的秘密-bysorin16进制每两位截取一次转10进制,对比Build的前几个字符
- 2024-10-27简答剖析 UDP:从基础代码到高级封装与应用
C++学习之路一、C++中构造函数与析构函数简单解析二、Makefile编写简单教程三、UDP协议学习四、简答剖析UDP:从基础代码到高级封装与应用简答剖析UDP:从基础代码到高级封装与应用C++学习之路前言一、UDP基础:涉及的API和结构体(一)`sockaddr_in`结构体(二)`sock
- 2024-10-262024-2025-1 学号20241315《计算机基础与程序设计》第五周学习总结
作业信息这个作业属于哪个课程[2024-2025-1-计算机基础与程序设计](https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP)这个作业要求在哪里https://www.cnblogs.com/rocedu/p/9577842.html#WEEK05这个作业的目标Pep/9虚拟机机器语言与汇编语言算法与伪代码
- 2024-10-26嵌入式学习-网络-Day01
嵌入式学习-网络-Day011.网络发展史1.1局域网(LAN)1.2广域网(Wan)1.3家庭用网1.3.1光猫1.3.2交换机与路由器:2.IP地址2.1基本概念2.2二级划分(ipv4)2.3特殊地址2.4子网掩码2.5三级划分域名系统域名结构3.网络模型3.1网络的体系结构3.2OSI模型3.3TCP/IP模型3.4
- 2024-10-25IAP在线升级二
一.分析JumpToApp函数点击查看代码voidJumpToApp(uint32_taddr){ __disable_irq();//这个函数调用会禁用中断。在跳转到新的应用程序之前,通常需要确保当前的中断状态不会干扰跳转过程。 uint32_tsp=*((volatileuint32_t*)(addr));//从addr指定的地址读取栈指针(Sta
- 2024-10-25网络协议基础(2):socket套接字及TCP、UDP的实现
socket套接字及TCP、UDP的实现socket套接字socket的基本概念socket的类型Socket的工作流程Socket的编程接口(C++示例)1.创建Socket2.绑定地址3.监听连接4.接受连接5.连接到服务器6.发送数据7.接收数据8.关闭Socketsocket相关的结构体sockaddr结构体sockaddr
- 2024-10-24套接字socket编程预备知识
套接字基础套接字定义套接字是一种用于实现网络通信的重要技术,在现代计算机网络中扮演着关键角色。它本质上是一个标准化的网络编程接口,为应用程序提供了访问底层网络协议的能力2。通过使用套接字,开发者能够创建能够在不同机器之间进行通信的应用程序,实现了跨设备、跨平台
- 2024-10-23内存优化的秘密:深入理解 Linux 中的 madvise
madvise是一个在Linux和其他类Unix操作系统中使用的系统调用,用于向内核提供关于内存映射区域的建议。它可以帮助操作系统优化内存使用,以提高性能。使用场景madvise函数通常用于以下几种情况:预取数据:如果应用程序知道将来会使用某些数据,可以建议操作系统提前加载这些数据到内
- 2024-10-23Re:从零开始的pwn学习(栈溢出篇)
写在前面:本文旨在帮助刚接触pwn题的小伙伴少走一些弯路,快速上手pwn题,内容较为基础,大佬轻喷。本文默认读者明白最基础的汇编指令的含义,并且已经配置好linux64位环境,明白基础的Linux指令。栈,栈帧与函数调用我们知道,在数据结构中,栈是一种先进后出的数据结构。而在操作系统中,一般使
- 2024-10-21C语言实现 网络通信 Network
在现代计算机网络中,网络通信是不可或缺的一部分。本文将介绍如何使用C语言实现一个简单的网络通信库,涵盖TCP和UDP协议的基本功能。我们将通过一个示例代码库进行详细讲解,以便更好地理解网络编程的核心概念。项目结构本项目包含两个文件:network.h:头文件,定义了数据结构和函数
- 2024-10-202024 强网拟态Writeups
ez_re直接各种调试/Trace。输入长度是0x38,输入经过三次变换,第一次为+0x40(其中存在反调试使用x64dbg隐藏PEB即可)第二轮Trace结果是这样,看起来很复杂,其实就是三个xor的定义式,0xE9FCF789^0xB62DD00^0xE29E2AF6=0x7f,就是xor0x7f第三轮是一个XTEA每一步多了个x
- 2024-10-16bootloader学习笔记-从零开发bootloader(4)
概要Flash区域划分,从不同的区域启动用户程序,实现覆写代码的功能。Flash区域划分我们的Flash是从0x08000000开始的,具体能用的大小需要查看芯片手册,例如,我的GD32F303RC芯片,flash可用的区域为256KB,内存可用大小为48KB。256KB也就是262144字节的大小,转换成16进制为0x40000,也
- 2024-10-14DIY Matter Bridge 和智能锁简单联动的实践
一.写在前面在之前的博客文章《基于乐鑫ESP32-C3的MatterLight实践》中,我们利用乐鑫的硬件和SDK方案实现了简单的Light例程,并对Matter协议进行了简要介绍。在开始本篇文章之前,我还是打算重新聊一聊Matter,顺便谈谈自己对它的理解,这也能说明为何这段时间我一直执着于
- 2024-10-14ctfshow
pwn19fork()函数创建了一个子进程。如果当前代码处于父进程(fork()返回1)则进入if语句块。如果是子进程(fork()返回0),则进入else语句块。在子进程中给予了用户一个shell权限,允许用户在子进程中输入数据并通过system运行。值得注意的是在read函数前有一句fclose(_bss
- 2024-10-14模板
调试gdb.attach(p)pause()ret2textfrompwnimport*context(arch="i386",os="linux",log_level="debug")filename="./pwn"p=remote("pwn.challenge.ctf.show",28104)#p=process(filename)elf=ELF(filename)
- 2024-10-12pwn-4.ciscn_2019_n_11
拿到题后我们先checksec一下,发现有NX,但是下面没有开启PIE,但是我还是尝试了一下,万一可以直接连接呢出现的结果如下,Itsvalueshouldbe11.28125这里我们应该备受关注一下,后面可能会遇到,紧接着我们就IDA一下吧出现如下图片,我们shift+F12看一下,出现了cat/flag,这个肯
- 2024-10-11arm Linux中dma的cache管理
概述前两周有人询问DMA下的cache操作和dma-coherent。以前零碎看过代码。临时找,还没有找到。这两天整理了调用流程,也找到了dma-coherent的用法。Linux的文档里没有详细说明dma-coherent的用法。根据代码,如果dma的设备树里有dma-coherent,Linux则认为硬件会维护cache一致性,不会在d
- 2024-10-10基于Window网络编程课程设计(刘琰著)写tcp和udp双回射服务器思想及代码实现
再写一遍双回射,主要还是按照书上走,也方便自己回顾理解而且这个代码完美解决了tcp阻塞问题,其实看懂这个代码也理解了为什么上篇的代码网络编程——实现tcp和udp的双回射服务器(c++)-CSDN博客会被阻塞,读者可以自己思考下本书还是采用的是select的方法来实现双回射的服务器。一
- 2024-10-10网络最常用的几个命令(arp ,net view,tracert)
除非了ping常用外,其实命令行,dos命令,还是很多时候可以检查出一个局域网的情况,特别排查问题,找到情况。网络最好用的几个命令arp 显示和修改地址解析协议(ARP)使用的“IP到物理”地址转换表。ARP-sinet_addreth_addr[if_addr]ARP-dinet_addr[if_addr]ARP-a[inet_a
- 2024-10-08Java 指针与引用全解析
(一)Java的发展与指针引用概念Java作为一种广泛应用的编程语言,在发展过程中借鉴了许多其他语言的特性,同时也进行了创新和改进。其中,与C++的关系尤为密切。虽然Java没有像C++那样明确的指针定义,但在底层逻辑上,Java的引用实际上与C++的指针有着相似之处。Java的设