• 2024-12-20PAWNYABLE kernel userfaultfd 笔记
    感觉这个是比较古老(2020左右的)用法了,看看即可?概念userfaultfd可以类比成一个缺页异常的handler,如果handler可以处理很久,那可能更好达到竞争的效果工作流程参考KernelPwnSyscalluserfaultfdandSyscallsetxattr-Wings的博客户通过userfaultfd系统调用接收文件描
  • 2024-12-09MIT xv6 2020 系列实验:Lab4 traps
    主要是一个内核调度alarm,定时中断并输出alarm。任务一:backtrace首先取出内核栈栈顶指针fp,对应到xv6的寄存器名是s0。staticinlineuint64r_fp(){uint64x;asmvolatile("mv%0,s0":"=r"(x));returnx;}backtrace:内核栈大小一页也就是4KB,其中fp往下依次存储
  • 2024-12-09MIT xv6 2020系列实验:Lab7 thread
    这次实验的内容比较杂,但是简单。任务一:Uthread:switching(线程切换)为thread添加context来保存寄存器上下文:structcontext{uint64ra;uint64sp;//callee-saveduint64s0;uint64s1;uint64s2;uint64s3;uint64s4;uint64s5;uint64s6;uin
  • 2024-12-08PAWNYABLE kernel race condition 笔记
    漏洞点在于,open的时候mutex的检查和设置不是原子操作。staticintmodule_open(structinode*inode,structfile*file){printk(KERN_INFO"module_opencalled\n");if(mutex){printk(KERN_INFO"resourceisbusy");return-EBUSY;}mutex=
  • 2024-11-27PAWNYABLE kernel stack overflow 笔记
    PAWNYABLE中的第一节stackoverflow的学习笔记。(觉得这个教程好细致,而且封面好可爱...这一节讨论内核的栈溢出,分成了不同防护程度的情况来讨论不同的情况下面,攻击应该如何进行。基本的思路在module_write里面,copy_from_user的大小是用户控制,大小没有检查的。可以在这里
  • 2024-12-11MySQL一些运维命令
    1、数据库连接数数据库查看连接数的方法如下: 使用命令行查看SHOWPROCESSLIST命令:。这个命令会列出所有正在运行的线程,包括用户连接、内部线程等信息。例如,它会显示每个连接的Id(线程ID)、User(用户)、Host(来源主机)、db(连接的数据库)、Command(执行的命令类型,如Sleep、Query等)
  • 2024-12-03【恐怖の算法】 扫描线
    【恐怖の算法】扫描线引入扫描线一般运用在图形上面,它和它的字面意思十分相似,就是一条线在整个图上扫来扫去,它一般被用来解决图形面积,周长,以及二维数点等问题。二维矩形面积并问题在二维坐标系上,给出多个矩形的左下以及右上坐标,求出所有矩形构成的图形的面积。过程根据图片
  • 2024-11-26rabbitmq环境,c#程序接收q,(未完成)
    b站up主,雪忆微服务来源bilibili雪忆微服务的分享第一步:下载并安装erlang原因:RabbitMQ服务端代码是使用并发式语言Erlang编写的,安装RabbitMQ的前提是安装Erlang。下载地址:http://www.erlang.org/downloadshttps://github.com/erlang/otp/releases/tag/OTP-24.0Erlang包,
  • 2024-11-26泵/阀门行业的6款主流ERP/MES/PLM软件和部署顺序
    泵/阀门企业数字化转型中的工业软件选择在泵阀企业数字化转型的过程中,PLM、ERP、MES系统扮演着至关重要的角色。PLM(产品生命周期管理)主要负责管理产品从设计到退市的全生命周期数据,对于非标设计需求频繁的泵阀企业来说,PLM能够确保设计数据的准确性和一致性,减少重复工作,提高
  • 2024-10-08【斯坦福CS144】Lab2
    一、实验目的实现一个TCPReceiver,用以接收传入的TCPsegment并将其转换成用户可读的数据流。二、实验内容1.接收TCPsegment;2.重新组装字节流(包括EOF);3.确定应该发回给发送者的信号,以进行数据确认和流量控制。三、实验过程输入gitmergeorigin/check2-startercode
  • 2024-07-25汉明权重(Hamming Weight)(统计数据中1的个数)VP-SWAR算法
    汉明权重(HammingWeight)(统计数据中1的个数)VP-SWAR算法定义汉明重量是一串符号中非零符号的个数。它等于同样长度的全零符号串的汉明距离(在信息论中,两个等长字符串之间的汉明距离等于两个字符串对应位置的不同字符的个数)。汉明重量在常见的数据位符号串中,它是1的个数。
  • 2024-06-13runtime包
    目录runtime包返回Go的根目录--GOROOT返回Go的版本--Version返回本地机器的逻辑CPU个数--NumCPU设置可同时执行的最大CPU数--GOMAXPROCS手动GC--GC统计内存申请和分配信息--ReadMemStats返回正在使用的字节数--InUseBytes返回正在使用的对象数--InUseObjects返回当前存在的Go协程
  • 2024-06-13PC微信逆向) 定位微信浏览器打开链接的call
    首发地址:https://mp.weixin.qq.com/s/Nik8fBF3hxH5FPMGNx3JFw前言最近想写一个免费的微信公众号自动采集的工具,我看公众号文章下载需求还挺多的。搜了下github,免费的工具思路大多都是使用浏览器打开公众号主页获取到需要的请求参数,例如key、uin等,然后再用参数请求历史。优化
  • 2024-06-06android antirollback verno 获取方法
    ReadRollbackIndex.exe获取调查avbVBMeta结构体typedefstructAvbVBMetaImageHeader{ /* 0:Fourbytesequalto"AVB0"(AVB_MAGIC).*/ uint8_tmagic[AVB_MAGIC_LEN]; /* 4:Themajorversionoflibavbrequiredforthisheader.*/ uint32_tr
  • 2024-04-24MIT6.S081 Lab lazy page allocation
    本次实验是有关内存页懒分配的。所谓内存页懒分配,在本实验中,指的是在用户进程使用sbrk()系统调用来增加内存中堆的空间时,我们不直接在物理内存中分配相应的页,而是只是记录了分配到了哪些用户地址,在用户页面表中这些地址默认标记为无效。当进程首次尝试使用任何给定页面的懒惰分
  • 2024-04-06raft算法和etcd代码解析-4.两个模块,两个goroutine
    etcd是什么存储:Kubernetes集群所有的配置信息和状态数据都会被持久化存储在etcd中,包括节点信息、Pods、ReplicaSets、Services、ConfigMaps、Secrets等各类资源对象。协调:通过Raft协议,etcd集群中的各个节点达成一致,确保任何时候集群状态的变更都是原子性的、一致的,并且在节点故
  • 2024-04-02MIT 6.S081入门lab10 mmap
    MIT6.S081入门lab10mmap一、参考资料阅读与总结1.JournalingtheLinuxext2fsFilesystem文件系统可靠性:磁盘崩溃前数据的稳定性;故障模式的可预测性;操作的原子性-论文核心:将日志事务系统加入Linux的文件系统中;事务系统的要求:元数据的更新;事务系统的顺序性;数据块写入磁
  • 2024-04-01加密软件VMProtect教程:使用脚本-功能
    VMProtect是新一代软件保护实用程序。VMProtect支持德尔菲、BorlandCBuilder、VisualC/C++、VisualBasic(本机)、VirtualPascal和XCode编译器。同时,VMProtect有一个内置的反汇编程序,可以与Windows和MacOSX可执行文件一起使用,并且还可以链接编译器创建的MAP文件,以快速选择
  • 2024-03-31unordered_map
    \(unordered\_map\)的\(hash\)函数固定易被卡,于是采用自定义随机哈希函数\(custom\_hash\)。structcustom_hash{staticuint64_tsplitmix64(uint64_tx){x+=0x9e3779b97f4a7c15;x=(x^(x>>30))*0xbf58476d1ce4e5b9;x=(x^(x
  • 2024-03-19AOSP平台编写Android-ebpf程序(tracepoint)的一些map定义和使用问题,导致map和prog无法产生的原因。
     前言本片文章并不主要讲解在AOSP平台ebpf程序的整个编写流程,只是一些的map的定义使用问题,如有需要可查看,aosp平台的整个下载流程,以及简单的程序的编译和如何push到手机运行,这位up是我在ebpf领域探索的领路人,本站ID:LiujiaHuan13,如果有需要up本人后面会考虑写一篇aosp程序书写
  • 2024-03-19题解:CF1941G Rudolf and Subway
    原题链接简化题意一个无向连通图中将边分成了不同颜色(保证同种颜色联通),问从\(b\)到\(e\)最短需要经过几种颜色思路考虑因为同种颜色联通,可直接在读入的时候开两个vector分别存每个点属于的颜色及每种颜色有哪些点,又因为颜色数字可能跨度比较大,最好另开一个存颜色的种
  • 2024-03-04MIT 6.S081入门lab5 懒惰分配
    MIT6.S081入门lab5懒分配一、参考资料阅读与总结1.xv6book书籍阅读(Chapter4Section4.6)4.6Page-faultExceptionsxv6对异常情况的处理:用户空间终止进程;内核空间停止内核执行。缺页错误常常被用于写时复制方法,例如COW-fork。缺页错误的类型:LoadPageFaults:
  • 2024-02-27MIT 6.S081入门lab3 页表
    MIT6.S081入门lab3页表一、参考资料阅读与总结1.xv6book书籍阅读(页表)a.总览页表:操作系统为每一个进程提供私有空间和内存的机制,使每一个进程有着自己的虚拟地址空间。本质上是基于分页的内存空间管理方法。页表存储:其实就是MMU,其存储了从虚拟地址VA到物理地址PA的映射