- 博客(125)
- 收藏
- 关注
原创 jQuery的功能
1. jQuery 获取元素jQuery的基本设计思想和主要用法,就是"选择某个网页元素,然后对其进行某种操作"。这是它区别于其他Javascript库的根本特点。使用jQuery的第一步,往往就是将一个选择表达式,放进构造函数jQuery()(简写为$),然后得到被选中的元素。选择表达式可以是CSS选择器:$(document) //选择整个文档对象$('#myId') //选择ID为myId的网页元素$('div.myClass') // 选择class为myClass的div元素$('i
2021-07-16 09:44:50 431
原创 JS函数的执行时机
1.JS运行机制JS是单线程的,同一个时间只能做一件事。这是因为JS是脚本语言,与用户交互,以及操作DOM。若多线程同时操作DOM,浏览器不知道以哪个为准,会造成混乱。HTML5提出Web Worker标准,允许JavaScript脚本创建多个线程,但是子线程完全受主线程控制,且不得操作DOM。所以,这个新标准并没有改变JavaScript单线程的本质。因为有些异步调用操作耗时较长,为了避免干等着耗时。将所有任务可以分成两种,一种是同步任务(synchronous),另一种是异步任务(asynchron
2021-07-15 11:51:55 530
原创 JS 对象基本用法
1.声明对象的两种语法在JavaScript当中创建一个对象有两种语法:一种是通过字面量的形式,另外一种是通过new Object()的形式。例如:创建一个person对象,它有 name,age,sex等属性。1.1 字面量形式(literal syntax)var person = {name:"chen",age:12,sex:"male"};1.2 new Object()形式var person = new Object();person.name="test";person.
2021-07-13 17:04:44 493
原创 JS基本语法
1.什么是表达式和语句1.1 表达式js 中的一个短语,js 解释器会将其计算出一个结果。程序中的常量是最简单的一类表达式。变量名也是一种简单的表达式,它的值就是赋值给变量的值。 复杂表达式是由简单表达式组成的。比如,数据访问表达式是由一个表示数组的表达式、左方括号、一个整数表达式和右方括号构成。它们所组成的新的表达式的运算结果是该数组的特定位置的元素值。同样的,函数调用表达式由一个表示函数对象的表达式和0个或多个参数表达式构成。将简单表达式组合成复杂表达式最常用的方法就是使用运算符(ope
2021-07-13 14:07:55 275
原创 JavaScript学习总结
JavaScript简介JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。虽然它是作为开发Web页面的脚本语言而出名,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式、声明式、函数式编程范式。诞生背景2.1 诞生JavaScript最初由Netscape的Brendan Eich设计,最初将其脚本语言命名为LiveScript,后来Netscape在与Sun合作之后将其改名为J..
2021-07-12 20:10:06 1001
原创 浅析 URL
1. URL组成URL的全称是Uniform Resource Locator(统一资源定位符),主要包含以下部分:1.协议部分:该URL的协议部分为“http:”,这代表网页使用的是HTTP协议。在Internet中可以使用多种协议,如HTTP,FTP等等本例中使用的是HTTP协议。在"HTTP"后面的“//”为分隔符。2.域名部分:该URL的域名部分为“www.aspxfans.com”。一个URL中,也可以使用IP地址作为域名使用。3.端口部分:跟在域名后面的是端口,域名和端口之间使用“:”
2021-07-12 17:06:53 200
原创 CSS 知识总结
CSS 知识总结1.浏览器渲染原理2.CSS 动画的两种做法2.1 transition过渡语法过渡方式延迟2.2 animation动画用法声明关键帧添加动画1.浏览器渲染原理浏览器渲染的过程主要包括以下五步:浏览器将获取的HTML文档并解析成DOM树。处理CSS标记,构成层叠样式表模型CSSOM(CSS Object Model)。将DOM和CSSOM合并为渲染树(rendering tree)将会被创建,代表一系列将被渲染的对象。渲染树的每个元素包含的内容都是计算过的,它被称之为布局la
2021-07-12 16:45:54 99
原创 Linux源码学习--进程的生命周期
Linux源码学习—进程的生命周期前言最近在学习Linux 0.11内核源码,近几天主要阅读了进程的基本数据结构、进程的创建/加载运行/终结等代码,现对进程的生命周期进行总结和分享。欢迎大家批评指正,描述有误的地方请务必告知,非常感谢!说明:本文参考书目为《Linux内核设计的艺术》第二版和《Linux内核设计与实现》第三版。围绕进程,本文内容的结构分布如下,其中第2,3,4,5部分均结合Linux 0.11源码进行分析。章节主要内容1. 进程的基本概念进程、程序、任务2
2020-05-18 22:59:40 542
原创 x64长模式与段的纠葛
x64长模式与段的纠葛如果发现错误或者需要补充的内容,还请指正。0. 前言基本概念在x86-64计算机体系结构中,长模式是64位操作系统可以访问64位指令和寄存器的模式。64位程序以称为64位模式的子模式运行,而32位程序和16位保护模式程序则以称为兼容模式的子模式执行。分页和分页有两个共同作用:内存管理与地址映射;一定的内存保护机制。整体说明(AMD中的x64长模式与段)x64...
2019-12-07 12:06:11 2262 3
原创 Xen安装过程中遇到的一些问题
Xen安装过程中遇到的一些问题前两周又开始和Xen的相爱相杀。本文主要记录一些场景下遇到的一些问题以及解决方案。场景一物理机是lenovo一体机,曾经装过Xen4.4.0,当前环境是Ubuntu18.04+xen4.11。我希望能把Xen4.11的环境换成Xen4.4.0的环境,于是我做了以下操作:安装xen4.4.0所需的全部依赖包将Xen4.11.0目录换成Xen4.4.0的目录...
2019-12-01 09:51:15 402 2
原创 CPUID指令详解
CPUID详解最近因为个人实验的原因,需要对CPUID指令的细节内容进行详细的分析。具体到CPUID对应不同参数的执行,以及执行结束后寄存器的每一位值的含义。这里把了解到的内容进行总结,也让自己对CPUID指令执行的大致思路更加清晰。本文主要分为几个方面:CPUID指令概述不同处理器支持的参数范围CPUID的返回值分析一、CPUID指令概述1.1 CPUID定义官方对CPUID...
2019-11-24 11:06:28 15509 1
原创 TLB、PCID与ASID的故事
TLB、PCID与ASID的故事最近学习过程中了解到TLB和PCID、ASID等概念,突然发现自己将TLB与Cache的概念容易搞混。于是深入了解这几个名词和关系,本周做一些总结。本文的各部分内容分布如下:TLB的引入TLB与CachePCID和ASID的引入与作用一、TLB的引入1.1 二级页表的地址访问让我们想象这样的应用场景:CPU执行指令时,直接访问的是虚拟地址,若想获取...
2019-11-17 11:51:33 6062 4
原创 上下文切换
上下文切换最近看的一篇论文中多次提到了上下文切换的问题,尤其是切换过程中的效率问题,涉及到了一些名词:进程、线程、协程、TLB、地址空间标识符(ASID)等。查阅一些资料,这里把学习到的东西整理总结一下,同时建立这些知识片之间的联系。希望能增加自己对这些内容的理解,同时给读者提供一些思路。本文的主要内容如下:进程和线程。包括两者的概念、性质;两者之间的区别和联系。上下文切换。包括上下文切...
2019-11-09 14:17:43 2057 6
原创 再谈EPT与影子页表
再谈EPT与影子页表之前写过一篇博客记录自己对EPT和影子页表的学习。但是随着其他知识的输入,发现之前对EPT和影子页表的理解还太肤浅。本人在最近的学习过程中又遇到了与EPT和影子页表有关的话题,发现自己还有很多细节问题没有弄懂。故本文旨在进一步分析自己对两者概念的理解,以及对两者之间差异的认识。相较于之前,多了一些自己的想法。本文的提纲如下:简述Linux内存映射虚拟机的内存映射—以...
2019-11-03 10:09:52 3928 4
原创 记录一次心脏滴血靶场实验过程
记录一次心脏滴血靶场实验过程此文主要从几个方面记录本次心脏滴血的实验过程:心脏滴血的攻击原理和效果心脏滴血攻击过程复现实验结果和现象分析实验过程中遇到的问题以及解决方案https://blog.csdn.net/caozhk/article/details/23738971https://blog.csdn.net/yaofeiNO1/article/detail...
2019-10-27 22:24:28 2693 4
原创 高傲的win7
高傲的win7首先为win7证明:本文内容和本人下载的系统版本以及硬件细节有关,并不能代表所有的win7种族。好久没有写博客了,主要是因为把很多东西都记录在笔记里边了,但是感觉写博客和笔记还是不太一样,笔记就是随时随手对一些细节问题以及思路和想法的记录,大都比较零碎,写博客对我而言是一种总结和前后知识的联系,有助于更好的理解和掌握。最近做的一些事情和win732有关系,也在这上边磕磕绊绊遇到...
2019-07-30 14:30:27 249
原创 CentOS安装Qemu并创建客户机
CentOS安装Qemu并创建客户机1.安装依赖包yum install gcc*yum install -y glib*yum install zlib*yum install gtk3-devel下载pixman-devel-0.34.0-1.el7.x86_64.rpm(直接google);安装pixman-devel:yum install pixman-devel2.Q...
2018-12-10 20:23:34 4146
转载 SYSENTER和SYSEXIT
SYSENTER和SYSEXIT汇编指令sysenter 和sysexit这两条新汇编的解释SYSENTER/SYSEXIT指令SYSENTER、SYSEXIT—快速系统调用 - 爱生活,爱编程 - 博客园SYSENTETR:特权级3用户代码“进入”特权级0的系统内核代码;可以从321特权级调用SYSEXIT:特权级0的系统内核代码”进入“特权级3用户代码;只能从特权级0调用执行SYS...
2018-12-03 15:41:17 793
原创 Xen配置文件中hap选项
Xen配置文件中hap选项Tuning Xen for Performancehap=0:虚拟机使用影子模式hap=1:虚拟机使用EPT模式HAP stands for hardware assisted paging and requires a CPU feature called EPT by Intel and RVI by AMD. It is used to manage t...
2018-12-03 15:18:13 414
原创 Ubuntu中Xen配置虚拟机桥接网络
Ubuntu中Xen配置虚拟机桥接网络完成配置任务环境:Ubuntu18.04 + Xen4.11 + 虚拟机win732需要修改的文件:虚拟网卡信息win732.cfg文件Ubuntu18.04中/etc/netwrok/interfaces文件细节:虚拟网卡信息brctl addbr xenbr0 #新建一个逻辑网段;名称为xenbr0brctl add...
2018-12-03 15:06:27 899
原创 网桥 NAT host-only
网桥 NAT host-onlyvmware 虚拟机三种网络模式桥接NAT 仅主机区别是什么意思- zkuncn …虚拟机的桥接模式和NAT模式的区别- JackTao - CSDN博客我个人对网桥、NAT、HOST_ONLY的理解如下:三种模式在合理的配置下,都可以访问外部网络、并且与物理主机进行通信。1.Bridged(桥接模式)实验:我的桥接没有设置,也可以联网;但是不在一个网段...
2018-12-03 11:45:38 630
原创 Metasploit学习总结
Metasploit学习总结最近需要利用metasploit工具找到”针对win732攻击成功、拿到shell并且能够上传文件“的exploit。实现过程中对Metasploit框架有所了解,总结如下。METASPLOIT基础入门Metasploit的基本使用Metasploit是一款开源安全漏洞检测工具,附带数百个已知的软件漏洞,并保持频繁更新。被安全社区冠以“可以黑掉整个宇宙”之名的强...
2018-12-03 11:44:57 930
原创 思考Qemu KVM Xen联系
思考QEMU KVM Xen联系虚拟化中KVM, Xen, Qemu的区别详解虚拟化技术QEMU-KVM入门What’s the differences between Xen, QEMU and KVM?本文目录结构:QEMU与KVM XenQEMU与PV HVMQEMU与QEMU-KVM一、QEMU与KVM XenQEMU is used by Xen, a...
2018-11-05 17:15:26 876
原创 嵌套虚拟化---VMware+QEMU/KVM
嵌套虚拟化—VMware+QEMU/KVM最近突然对嵌套虚拟化产生兴趣,并且想了解KVM和QEMU之间的关系,于是在本机的VMware中的Ubuntu尝试使用KVM和QEMU分别在Ubuntu虚拟机中再装Ubuntu。实现嵌套虚拟化的同时,在安装过程中了解KVM和QEMU的关系。本文主要记录在VMware中使用两种方式实现嵌套虚拟化的过程。qemu-system-x86_64kvm实验...
2018-11-05 17:15:11 6053
原创 嵌套虚拟化---VMware+KVM
嵌套虚拟化—VMware+KVM最近突然对嵌套虚拟化产生兴趣,并且想了解KVM和Qemu之间的关系,于是在本机的VMware中的Ubuntu尝试使用KVM和Qemu分别在Ubuntu虚拟机中再装Ubuntu。实现嵌套虚拟化的同时,在安装过程中了解KVM和Qemu的关系。本文主要记录在VMware中使用KVM实现嵌套虚拟化的过程。实验环境:win10主机系统 + VmwareWorkstati...
2018-11-05 17:14:45 6627
原创 python argparse
python argparse互斥选项定义互斥的选项是选项分组特性的一个特例,使用add_mutually_exclusive_group()而不是add_argument_group()。import argparseparser = argparse.ArgumentParser()group = parser.add_mutually_exclusive_group()gro...
2018-10-28 09:49:35 419
原创 Xen 4.11 学习总结
Xen 4.11 学习总结疑惑点既然已经删除了QEMU的模块,为什么项目中还有QEMU相关的代码?一些关键词:livepatch; docker-containers; balloon; kconfig(感觉是对平台的检测)QEMU与Xen之间的关系在Xen中PVH比PV和HVM性能都好一些;但是与KVM相比呢?Xen4.11特点总结更安全(抵御更多的攻击;meltdown...
2018-10-28 09:46:48 402
原创 Ubuntu18.04安装问题
Ubuntu18.04安装问题疑惑a.安装过程中出现的问题应该是镜像系统代码的bug?b.待测试:installer crash解决方案测试1.进入BIOS解决:话说以后使用之前搜索电脑品牌+台式机/一体机/笔记本就可以找到了。一体机用的是F12;F9好幸也能进入一个界面,但是好像是什么设置的界面;联想win10系统怎么进入bios 大家都说的是F1…(联想台式机/一体机,开机出现...
2018-10-28 09:42:40 3217 4
原创 Ubuntu18.04安装Xen4.11
Ubuntu18.04安装Xen4.11首先Ubuntu是18.04英文版的。不是英文版的不知道会不会有问题。Build xen-hypervisor 4.10 / 4.11 and xen-tools on Ubuntu 16.04 or 18.04 for PVH1.安装依赖包apt-get install build-essentialapt-get install bcc bin...
2018-10-28 09:42:09 6077 2
原创 修改stty size中的rows, columns
修改stty size中的rows, columnsLinux command: columnsResize your terminal to be at least 110 columns wide. Currently it is 80 columns wide.export COLUMNS=200gedit ~/.bashrcsource ~/.bashrc为什么源代码还是会提...
2018-10-28 09:40:42 6326 2
原创 Xen KVM PVH PV HVM
Xen KVM PVH PV HVMXen虚拟化技术中PV和HVM的区别Xen和KVMXEN:虚拟化管理程序;hypervisor;Linux下;虚拟化解决方案;运行支持Xenophobic功能的内核;Domain0;使用这个kernel启动机器后,就可以使用qemu;虚拟出多个系统;Linux内核外部程序;全虚拟+半虚拟;更新Xen–编译内核;更好的处理性能;可以支持更多的工作负载;稳定...
2018-10-28 08:42:36 1588
转载 Configure Make World Install
Configure Make World InstallLinux 命令详解(三)./configure、make、make install 命令一、基本信息1 ./configure 是用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本。2 make 是用来编译的,它从Makefile中读取指令,然后编译3 make in...
2018-10-28 08:42:06 1312 1
原创 修改Ubuntu启动项
修改Ubuntu启动项 GrubUbuntu下grub配置详解安装Ubuntu之后没有看到Ubuntu引导项的选项,希望能够看到这个界面。/boot/grub/etc/default/grubGNU GRUB(简称“GRUB”)是一个来自GNU项目的启动引导程序.GRUB是多启动规范的实现,它允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统。GRUB...
2018-10-27 21:57:59 9864
原创 超级调用总结
超级调用总结阅读了几篇优质文章之后,本人对超级调用又有了进一步的理解,文章主要从这几个方面来写:当前疑惑理解超级调用PV超级调用与HVM超级调用xen4.4中实现超级调用xen4.11中实现超级调用优质文章链接为:XEN添加一个HYPERCALLXen Log 3-Add New Hypercall to Xen全虚拟化下的超级调用Xen的超级调用超...
2018-10-27 21:56:57 639 4
原创 第一次不完整的ctf出题记录
第一次不完整的ctf出题记录之前都是做题,至此有个机会打算挑战一下自己,出一道题目,了解一下出题的思路和过程。于是有了一个不完整的出题经历。我个人理解的出题思路应该是:写出含有可以用漏洞的源代码以合适的方式进行编译自己编写漏洞利用的思路和代码,拿到Flag出题结束但是,,,,太菜了,目前只做了前两步,现在想想好像没有什么工作量啊…但还是简单的总结一下吧。本次总结主...
2018-10-12 10:57:37 3672
原创 KPCR与进程.md
KPCR与进程KPCRKPCR1KPCR2(Kernel) Processor Control Regiona KPCR for each logical processorKPCR is the means through which the kernel manages them(processors).由于Windows需要支持多个CPU, 因此Windows内核中为此定义了...
2018-10-07 20:47:30 685
原创 HIV+Network embedding.md
HIV+Network embedding最近读一篇论文,内容涉及到HIV、Network Embedding,了解了一波,今天简单做一下总结。HIV相关IN—信息网络(Information Network)G = (V, E)V代表 Object,E代表 Edge;object类型集合A,边的类型集合R;ϕ : V → A 来表示每一个object v ∈ V 属于object类...
2018-10-07 20:14:58 468
原创 ichunqiu-try to pwn-II.md
FSP-stack pivot-ROP-try to pwn-II本文参考的writeup原文上次(这里放上次的文章链接)由于时间原因,比较仓促、敷衍的完成了一篇大致的writeup但是其中还有很多的问题存在;这篇writeup旨在解决遇到的很多问题、疑惑;此外,还向别人请教了一些知识点,收获很大题目相关题目依然是ichunqiu中的try to pwn;也是2016百度-ctf的一道题...
2018-09-27 11:48:52 607
原创 ichunqiu--try to pwn.md
ichunqiu–try to pwnICQ Baidu CTF try to pwn好吧,这个题目其实还没有做到我想要的地步,我还想再深度挖掘一下,但是周末了,该写writeup了,就先把这部分总结写了,之后如果还想有其他的尝试,就继续做吧。题目又不是我自己做出来的,当时没有发现程序的溢出点,于是就到网上看了别人的Write-up。和之前的感觉一样,溢出点其实很简单,关键在于ROP的构造,...
2018-09-23 16:38:09 976 1
原创 超级调用实现总结
超级调用实现总结这两天的目标是实现一个超级调用,其中遇到了很多问题以及还没有弄清楚的现象,这里将所有过程记录一下,试图发现背后的根本原因。实践过程环境:dom0(Ubuntu14.04) + domU(Debian)过程记录设置系统调用号(使用的是reversed for client 的39)xen/include/public/xen.h#define _...
2018-09-17 09:45:43 640 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人