• 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的映射
  • 2024-02-14【XV6】 Multithreading
    代码:https://github.com/JasenChao/xv6-labs.git用户级线程切换题目要求完成用户级线程系统,提示程序要在uthread.c和uthread_switch.S中补充完成。用户级线程调度和进程的机制是类似的,因此uthread_switch.S可以复制swtch.S中的内容: .globlthread_switchthread_switch:
  • 2024-02-14【XV6】 traps
    代码:https://github.com/JasenChao/xv6-labs.gitbacktrace题目要求实现backtrace来对堆栈上调用发生错误的地方进行跟踪。寄存器s0包含指向当前堆栈帧的指针,那么返回地址就位于帧指针的固定偏移量-8,前一个fp地址的偏移量为-16。在riscv.h文件中增加提示中的代码:staticinline
  • 2024-02-11[MIT 6.S081] Lab: Copy-on-Write Fork for xv6
    Lab:Copy-on-WriteForkforxv6在这个实验中,我们要为xv6实现cowfork。Implementcopy-onwrite根据写时复制的方式,我们在复制页面的时候应该采用的是将父级的物理页面映射到子级的页面,因此我们需要修改kernel/vm.c中的uvmcopy,将页面复制修改为映射的方式,同时应当将
  • 2024-02-06MIT 6.1810 Lab: Copy-on-Write Fork for xv6
    lab网址:https://pdos.csail.mit.edu/6.828/2022/labs/cow.htmlxv6Book:https://pdos.csail.mit.edu/6.828/2022/xv6/book-riscv-rev3.pdfImplementcopy-on-writefork这部分需要我们实现写时拷贝,题目给出解决方案为,当fork时,将父子进程的页表项都设置为只度,当发生写错误时,在处
  • 2024-02-04[MIT 6.S081] Lab: xv6 lazy page allocation
    Lab:xv6lazypageallocationEliminateallocationfromsbrk()这一步比较简单,直接在sys_sbrk中将分配内存改为对内存大小进行修改而不分配内存即可。uint64sys_sbrk(void){intaddr;intn;if(argint(0,&n)<0)return-1;addf=myproc()->sz;my
  • 2024-02-04MIT 6.1810 Lab: traps
    lab网址:https://pdos.csail.mit.edu/6.828/2022/labs/traps.htmlxv6Book:https://pdos.csail.mit.edu/6.828/2022/xv6/book-riscv-rev3.pdf写前思考我们都知道,在用户进程执行系统调用时,内核代替用户进程执行,那么这种代替是一种什么样的代替。这个过程是还属于用户进程,只是执
  • 2024-01-28perf_event_open学习 —— mmap方式读取
    目录示例程序2采集单个值采集多个值示例程序2示例程序3示例程序2Linuxperf子系统的使用(二)——采样(signal方式)在上一篇《Linuxperf子系统的使用(一)——计数》已经讲解了如何使用perf_event_open、read和ioctl对perf子系统进行编程。但有时我们并不需要计数,而是要采样。比如这
  • 2024-01-04合约交易系统开发(开发案例)丨合约交易所系统开发(逻辑方案)/设计程序/成熟源码
    智能合约的生命周期根据其运行机制可概括为协商、开发、部署、运维、学习和自毁六个阶段,其中开发阶段包括合约上链前的合约测试,学习阶段包括智能合约的运行反馈与合约更新为智能合约的基础架构模型,模型自底向上由基础设施层、合约层、运维层、智能层、表现层和应用层组成,基
  • 2023-12-26【Python微信机器人】第六七篇: 封装32位和64位Python hook框架实战打印微信日志
    目录修整目前的系列目录(后面会根据实际情况变动):在windows11上编译python将python注入到其他进程并运行注入Python并使用ctypes主动调用进程内的函数和读取内存结构体调用汇编引擎实战发送文本和图片消息(支持32位和64位微信)允许Python加载运行py脚本且支持热加载利用
  • 2023-12-06xv6 mmap
    inlinux调用mmap,会申请一段内存空间(文件的内存映射部分),并且自动映射到指定的文件内存映射部分。mmapvoid*mmap(void*addr,size_tlength,intprot,intflags,intfd,off_toffset);addr为用户指定的内存起始地址,为0时由系统分配。length制定映射的长度,单位是字节。
  • 2023-10-12【noip赛前20天冲刺集训 day3】矩阵挑战
    NOIP比赛前的冲刺训练-第3天:矩阵挑战问题描述您有一个n×m矩阵,行编号从0到n−1,列编号从0到m−1。最初,第i行第j列的元素是i*m+j。系统支持三种类型的操作:交换两行。交换两列。交换两个特定的元素。任务是确定执行q次操作后矩阵的状态。输入格式为了最小化输
  • 2023-10-11CS144-lab3
    Checkpoint3Writeup该lab主要实现TCP发送方,细节比较多,具有一定难度,编写时需要从整体上理清设计思路,然后再实现具体的函数。Timer由于要实现TCP中的超时重传功能,所以需要在发送方维护一个定时器,但不需要自己使用计时函数,因为文档里说明了所有对时间的了解都是通过tick函数得到
  • 2023-10-09CS144-lab0
    Checkpoint0Writeup该lab要实现一个字节流,兼具写入和读出的能力,并且buffer空间受限。根据要实现的函数和读写功能,内部要存储的成员为std::queue<std::string>buffer_{};用于存储写入的字符串(原本用的std::queue,但由于queue内存不连续,调用peek返回string_view时还要将cha