linux安装Node.js(详细)Node.js安装教程 文章目录 linux安装Node.js(详细)Node.js安装教程 1:下载 2:解压 3:移动目录 1:创建目录 2:移动目录并重命名 4...:设置环境变量 5:刷新修改 6:安装完成,查看版本号 1:下载 wget https://nodejs.org/dist/v14.17.4/node-v14.17.4-linux-x64.tar.xz...更多版本选择: ===》更多nodejs版本下载 2:解压 tar xf node-v14.17.4-linux-x64.tar.xz 可以查看当前目录下的文件,执行:ls (命令) 解压成功后可以选择删除压缩包...:rm -rf node-v14.17.4-linux-x64.tar.xz 其中:-f 会提醒是否删除 ;-rf 会强制删除,不会提醒。...3:移动目录 1:创建目录 mkdir /usr/local/lib/node 如果目录已经存在,则无需创建,也可以根据自己的喜好设置目录名称 2:移动目录并重命名 mv node-v14.17.4-linux-x64
准备工具 1.微pe引导及其主要文件 链接:https://pan.baidu.com/s/1e-9zLoEkGLzMuNQ8pqQhpA 提取码:m0hl 2.linux分区软件 实例:gparted...他不支持uefi,并且步骤繁琐 提取微pe的引导文件 直接制作一个可启动分区,把微pe的文件放入就行了。...引用微pe官方的txt(从官方txt中获得的方法233) 感谢您安装了微PE工具箱,本目录包含了微PE的主要启动文件和内核镜像。...这些文件都是隐藏的,删除这些文件或格式化U盘即可删除PE。方法三安装到隐藏分区,在U盘根目录不会出现任何文件,若需要删除方法三安装的PE,只需用方法一二四五重新制作一次PE后手动格式化即可。...WALLPAPER.JPG - 若存在则为自定义PE桌面壁纸文件。 WEPE.INI - 外置程序的配置文件,可以对PE桌面、开始菜单等进行配置。
echo " * hard core 4194304" >> /etc/security/limits.conf [root@localhost ~]# ulimit -a core file size...(-e) 0 file size (blocks, -f) unlimited pending signals (-i) 15189 max...(-n) 65535 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time...MyServer 4)产生core文件的测试 直接输入指令: [root@localhost ~]# kill -s SIGSEGV $$ 扩展: ulimint -a 用来显示当前的各种用户进程限制 Linux...对于每个用户,系统限制其最大进程数,为提高性能,可以根据设备资源情况, 设置个Linux用户的最大进程数,一些需要设置为无限制: 数据段长度:ulimit -d unlimited 最大内存大小:ulimit
这篇文章将介绍基础知识,详细讲解PE文件格式,熟悉各种PE编辑查看工具,针对目标EXE程序新增对话框等,这也为后续PE病毒和恶意代码的攻防打下扎实基础。...(参考文献见后) 一.PE文件基础 什么是PE文件?...(2个字节):0003 偏移10H处,字段Size of Optional Header 给出可选映象头的大小(2个字节):00E0 可选映象头Optional Header:0c8H~1a7H 对应解析如下图所示....text和.data节表中,表示节实际大小的字段“Virtual Size”应该做出修改,但不修改文件依然能正常运行。...五.总结 文章写到这里,就介绍完毕,本文主要讲解PE文件解析、PE编辑工具使用和PE结构修改,属于系统安全和PE逆向相关知识,希望对您有所帮助。
接上一篇文章 linux内核启动流程分析 - efistub的入口函数,我们继续看efi_pe_entry这个函数。 ?...继续看efi_pe_entry函数。...继续efi_pe_entry函数。...至此,efi_pe_entry函数就结束了。 如果熟读过uefi specification,该函数的大部分逻辑理解起来都非常简单,所以很多细节我就不再赘述了。...既然build.c只是将setup和compressed部分顺序拼接,并没有做地址的转换处理,那理应efi_pe_entry函数里使用的startup_32函数的地址就是0。
PE知识复习之PE合并节 一丶简介 根据上一讲.我们为PE新增了一个节. 并且属性了各个成员中的相互配合....以前我们讲过PE扩大一个节怎么做. 合并节跟扩大节类似. 只不过一个是扩大. 一个是合并了....合并节的步骤. 1.修改文件头节表个数 2.修改节表中的属性 节.sIzeofRawData 节数据对齐后的大小. 3.修改扩展头中PE镜像大小 SizeofImage 4.被合并的节以...最后一个节表以0填充即可. 3.修改扩展头的PE镜像大小. SizeofImage ? 我们上一讲新增了一个节.所以映像大小为0x1E000.
本章笔者将介绍一种通过Metasploit生成ShellCode并将其注入到特定PE文件内的Shell注入技术。...该技术能够劫持原始PE文件的入口地址,在PE程序运行之前执行ShellCode反弹,执行后挂入后台并继续运行原始程序,实现了一种隐蔽的Shell访问。而我把这种技术叫做字节注入反弹。...我们以如下截图中的30352为例; 接着读者需要自行准备一段ShellCode代码,只保留代码部分去掉头部变量参数,如下所示; 接着我们使用如下这段代码中的WritePEShellCode函数,通过传入指定PE...// 将ShellCode写出到PE程序的特定位置 // 参数1: 指定PE路径 参数2: 指定文件中的偏移(十进制) 参数3: 指定ShellCode文件 void WritePEShellCode(...文件中我们需要手动分析寻找空余块,并在注入成功后还需要自行修正PE文件内的入口地址等,这种方式适合于对PE结构非常熟悉的人可以,但也要花费一些精力去寻找分析,如下代码则是实现了自动化注入功能,该代码中FindSpace
PE知识复习之PE扩大节 一丶为什么扩大节 上面我们讲了,空白区添加我们的代码.但是有的时候.我们的空白区不够了怎么办.所以需要进行扩大节. ...并且在PE文件中添加0数据进行填充即可....Characteristics; //节的属性 } IMAGE_SECTION_HEADER, *PIMAGE_SECTION_HEADER; 二丶扩大节实战以及注意问题 PE...还要修改扩展头中的 SizeofImage(内存PE镜像大小) 三丶扩大节实战 1.添加数据 随便找一个PE文件.在最后文件偏移处添加数据....但是注意,修改之后并不能直接查看.因为PE没法运行.我们必须修改扩展头中的sizeofImage属性.这样我们的内存镜像大小才是真正的大小.
PE知识复习之PE新增节 一丶为什么新增节.以及新增节的步骤 例如前几讲.我们的PE文件在空白区可以添加代码.但是这样是由一个弊端的.因为你的空白区节属性可能是只读的不能执行...我们新增的节.自己需要在PE文件添加一段节数据.数据的大小按照文件对齐添加. 并且填写到这个成员中. 6.修改扩展头的PE镜像大小. sizeofImage....这个成员才是关键.如果不按照内存对齐修改镜像大小.那么我们的节就不会映射到内存中.或者PE文件根本无法执行....二丶根据新增节步骤.实战手工添加一个节. 1.添加一个节表 添加节表的时候.需要在最后一个节后面添加.随便哪一个PE文件举例 ? ...跳转过去之后发现就是我们刚才填写FFFF的数据.已经成功映射了.至此我们就为这个PE文件新增了一个节.
本章笔者将介绍一种通过Metasploit生成ShellCode并将其注入到特定PE文件内的Shell注入技术。...该技术能够劫持原始PE文件的入口地址,在PE程序运行之前执行ShellCode反弹,执行后挂入后台并继续运行原始程序,实现了一种隐蔽的Shell访问。而我把这种技术叫做字节注入反弹。...我们以如下截图中的30352为例;图片接着读者需要自行准备一段ShellCode代码,只保留代码部分去掉头部变量参数,如下所示;图片接着我们使用如下这段代码中的WritePEShellCode函数,通过传入指定PE...// 将ShellCode写出到PE程序的特定位置// 参数1: 指定PE路径 参数2: 指定文件中的偏移(十进制) 参数3: 指定ShellCode文件void WritePEShellCode(const...文件中我们需要手动分析寻找空余块,并在注入成功后还需要自行修正PE文件内的入口地址等,这种方式适合于对PE结构非常熟悉的人可以,但也要花费一些精力去寻找分析,如下代码则是实现了自动化注入功能,该代码中FindSpace
0, 0, 0); HANDLE lpBase = MapViewOfFile(hMap, FILE_MAP_READ | FILE_SHARE_WRITE, 0, 0, 0); // 找到PE...0, 0, 0); HANDLE lpBase = MapViewOfFile(hMap, FILE_MAP_READ | FILE_SHARE_WRITE, 0, 0, 0); // 定位PE
PE知识复习之PE的导入表 一丶简介 上一讲讲解了导出表. 也就是一个PE文件给别人使用的时候.导出的函数 函数的地址 函数名称 序号 等等. ...一个进程是一组PE文件构成的. PE文件需要依赖那些模块.以及依赖这些模块中的那些函数.这个就是导入表需要做的. 确定PE依赖那个模块. 确定PE依赖的那个函数. 以及确定函数地址....PE加载前加载后的区别. 一样是一样的.但是需要分清 PE加载前.还有PE加载后.如果加载前,那么IAT跟INT一样.都可以找到依赖的函数名称....PE加载后如下图: ? IAT表保存的就是函数地址了. 从导入表中找到IAT表. ? IAT表的RVA 偏移为 0x1A098 VA == 41A098 ?...PE加载后INT 表同上. IAT表变成了存储函数地址的地址表了. 2. Name 民称表. 直接指向DLL名称文件名.
PE文件就是我们常说的EXE可执行文件,针对文件特征的识别可以清晰的知道该程序是使用何种编程语言实现的,前提是要有特征库,PE特征识别有多种形式,第一种是静态识别,此方法就是只针对磁盘中文件的特征码字段进行检测来判断编译器版本...打开PE文件映射: 在读取PE结构之前,首先要做的就是打开PE文件到内存,这里打开文件我们使用了CreateFile()函数该函数可以打开文件并返回文件句柄,接着使用CreateFileMapping(...include #include #include #pragma comment(lib,"Imagehlp.lib") // 读取PE...结构,然后判断其是否符合PE文件规范即可,这里需要注意32位于64位PE结构所使用的的结构定义略有不同,代码中已经对其进行了区分....(lpMapAddress, 0); printf("是否为PE文件: %d \n", ret); system("pause"); return 0; } 判断PE文件特征码: 判断程序使用了何种编译器编写
PE格式是 Windows下最常用的可执行文件格式,理解PE文件格式不仅可以了解操作系统的加载流程,还可以更好的理解操作系统对进程和内存相关的管理知识,而有些技术必须建立在了解PE文件格式的基础上,如文件加密与解密...,病毒分析,外挂技术等,在PE文件中我们最需要关注,PE结构,导入表,导出表,重定位表,下面将具体介绍PE的关键结构,并使用C语言编程获取到这些结构数据....我们需要编程实现读取PE结构,在读取PE文件中的数据的前提下,我们先来打开文件,然后才能读取。...file WORD e_crlc; // Relocations WORD e_cparhdr; // Size...定义如下: typedef struct _IMAGE_DATA_DIRECTORY { DWORD VirtualAddress; // 数据起始RVA DWORD Size
PE格式是 Windows下最常用的可执行文件格式,理解PE文件格式不仅可以了解操作系统的加载流程,还可以更好的理解操作系统对进程和内存相关的管理知识,而有些技术必须建立在了解PE文件格式的基础上,如文件加密与解密...,病毒分析,外挂技术等,在PE文件中我们最需要关注,PE结构,导入表,导出表,重定位表,下面将具体介绍PE的关键结构,并使用C语言编程获取到这些结构数据....Windows NT 系统中可执行文件使用微软设计的新的文件格式,也就是至今还在使用的PE格式,PE文件的基本结构如下图所示:图片在PE文件中,代码,已初始化的数据,资源和重定位信息等数据被按照属性分类放到不同的...file WORD e_crlc; // Relocations WORD e_cparhdr; // Size...个数据目录结构定义很简单仅仅指出了某种数据的位置和长度,定义如下:typedef struct _IMAGE_DATA_DIRECTORY { DWORD VirtualAddress; // 数据起始RVA DWORD Size
[TOC] 0x00 MultiBootUSB在U盘上安装 如何在一个 U 盘上安装多个 Linux 发行版,这样你可以在单个 U 盘上享受多个现场版Linux 发行版了。...我喜欢通过 U 盘尝试不同的 Linux 发行版,它让我可以在真实的硬件上测试操作系统,而不是虚拟化的环境中。...创建单个可启动的现场版 Linux USB[1] 很简单,你只需下载一个 ISO 文件并将其刻录到 U 盘。但是如果你想尝试多个 Linux 发行版呢?...你可以使用多个 U 盘,也可以覆盖同一个 U 盘以尝试其他 Linux 发行版,但这两种方法都不是很方便。...MultiBootUSB 真的很便于在 U 盘上安装多个 Linux 发行版。
0x00 MultiBootUSB在U盘上安装 如何在一个 U 盘上安装多个 Linux 发行版,这样你可以在单个 U 盘上享受多个现场版Linux 发行版了。...我喜欢通过 U 盘尝试不同的 Linux 发行版,它让我可以在真实的硬件上测试操作系统,而不是虚拟化的环境中。...创建单个可启动的现场版 Linux USB[1] 很简单,你只需下载一个 ISO 文件并将其刻录到 U 盘。但是如果你想尝试多个 Linux 发行版呢?...你可以使用多个 U 盘,也可以覆盖同一个 U 盘以尝试其他 Linux 发行版,但这两种方法都不是很方便。...MultiBootUSB 真的很便于在 U 盘上安装多个 Linux 发行版。
讲解 "string size must be a multiple of element size" 错误在编程过程中,尤其是在使用一些底层编程语言或库时,您可能会遇到各种错误消息。...其中之一是 "string size must be a multiple of element size"。本篇博客文章将向您解释这个错误消息的含义,并给出解决方案。...错误解读当您看到 "string size must be a multiple of element size" 错误消息时,它实际上是在指示字符串(string)的大小必须是元素大小的倍数。...解决方案以下是几种可能的解决方案,帮助您解决 "string size must be a multiple of element size" 错误。1....数据类型匹配另一个可能导致 "string size must be a multiple of element size" 错误的原因是数据类型不匹配。
PAGE_READWRITE, 0, 0, 0); HANDLE lpBase = MapViewOfFile(hMap, FILE_MAP_READ | FILE_SHARE_WRITE, 0, 0, 0); // 找到PE...PAGE_READWRITE, 0, 0, 0); HANDLE lpBase = MapViewOfFile(hMap, FILE_MAP_READ | FILE_SHARE_WRITE, 0, 0, 0); // 定位PE
PE知识复习之PE的导出表 一丶简介 在说明PE导出表之前.我们要理解.一个PE可执行程序.是由一个文件组成的吗....答案: 不是.是由很多PE文件组成.DLL也是PE文件.如果我们PE文件运行.那么就需要依赖DLL.系统DLL就是Kerner32.dll user32.dll等等.这些都是PE文件....什么是导出表: 导出表就是当前的PE文件提供了那些函数.给别人用. 举个例子: PE文件相当于一个饭店.那么菜单就是导出表....struct _IMAGE_DATA_DIRECTORY { DWORD VirtualAddress; 虚拟地址 DWORD Size...都是RVA PS: 数据目录中的 Size成员.保存的是导出表中以及导出表子表中的所有成员大小. 这个值不影响.编译器计算后填写好的.
领取专属 10元无门槛券
手把手带您无忧上云