嘉定网站设计公司/seo技术培训课程
CentOS,Redhat和Fedora 都是Red Hat体系,采用yum管理器,不同于Debian、Ubuntu作为Debian体系使用apt
本文以CentOS为例,采用avml制作内存镜像,并利用volatility官方所给工具制作profile符号文件,进行简单的内存取证实验
虚拟机安装
本次实验测试了centos7和centos8版本,其他同理
https://mirrors.aliyun.com/centos/8.5.2111/isos/x86_64/CentOS-8.5.2111-x86_64-dvd1.iso
https://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/CentOS-7-x86_64-DVD-2009.iso
安装过程不过多赘述了,安装时建议直接选最小安装,centos一般用ssh连,图形化界面不太好用
其他都默认就行
安装好后查看一下ip 发现net没分配到ip
配置一下网卡,ifcfg后跟的ens网卡名称和上面对应
vi /etc/sysconfig/network-scripts/ifcfg-ens160
重启一下服务
# CentOS7
service network restart
# CentOS8
service NetworkManager restart
有内网ip了就可以ssh连了
制作内存镜像(建议可以放到最后)
下载avmlReleases · microsoft/avml (github.com)
然后用ssh传到centos里,给予运行权限
chmod 711 avml
打内存镜像
./avml out.lime
制作profile
将vol的tools目录下的linux文件夹传到centos里,并尝试编译
make
遇到致命错误
make -C //lib/modules/3.10.0-1160.el7.x86_64/build CONFIG_DEBUG_INFO=y M="/root/linux" modules
make: *** //lib/modules/3.10.0-1160.el7.x86_64/build: 没有那个文件或目录。 停止。
make: *** [dwarf] 错误 2
提示/lib/modules/3.10.0-1160.el7.x86_64/build
目录不存在
查看了一下发现build符号链接指向/usr/src/kernels/3.10.0-1160.el7.x86_64
这符合通常的情况,因为在许多Linux发行版中,内核源码通常位于
/usr/src/kernels/
目录下。这种设置是为了让开发人员方便地访问内核源码,特别是用于编译内核模块时。
进一步发现kernels
目录下没有对应内核开发包
[root@localhost 3.10.0-1160.el7.x86_64]# cd /usr/src/kernels/3.10.0-1160.el7.x86_64
-bash: cd: /usr/src/kernels/3.10.0-1160.el7.x86_64: 没有那个文件或目录
[root@localhost 3.10.0-1160.el7.x86_64]# ls -a /usr/src/kernels
. ..
安装内核开发包,全部选yes就可以
sudo yum install kernel-devel
再查看,发现已经有了
但是发现名字跟之前的软连接对不上,之前软连接指向的是/usr/src/kernels/3.10.0-1160.el7.x86_64
重新构造软连接
sudo rm /lib/modules/3.10.0-1160.el7.x86_64/build
sudo ln -s /usr/src/kernels/3.10.0-1160.108.1.el7.x86_64 /lib/modules/3.10.0-1160.el7.x86_64/build
ps:在这里可以看到其实内核的kernel已经做了一部分修改了,建议在这一步先reboot一下
如果内存镜像在这一步之前打的,后面做下去会提示报错
ArmAddressSpace: Failed valid Address Space check
所以建议内存镜像放在最后去制作
再进行make,又遇到致命错误
[root@localhost linux]# make
make -C //lib/modules/3.10.0-1160.el7.x86_64/build CONFIG_DEBUG_INFO=y M="/root/linux" modules
make[1]: 进入目录“/usr/src/kernels/3.10.0-1160.108.1.el7.x86_64”
arch/x86/Makefile:96: stack-protector enabled but compiler support broken
arch/x86/Makefile:169: *** CONFIG_RETPOLINE=y, but not supported by the compiler. Compiler update recommended.。 停止。
make[1]: 离开目录“/usr/src/kernels/3.10.0-1160.108.1.el7.x86_64”
make: *** [dwarf] 错误 2
指出编译器不支持所需的特性。特别地,指出启用了 RETPOLINE(一种用于缓解Spectre漏洞的技术),但是编译器不支持。
centos默认编译器是gcc,重新安装一下
# 安装软件源
sudo yum install epel-release
# 安装gcc
sudo yum install gcc
再make,这次提示报错没有dwarfdump
[root@localhost linux]# make
make -C //lib/modules/3.10.0-1160.el7.x86_64/build CONFIG_DEBUG_INFO=y M="/root/linux" modules
make[1]: 进入目录“/usr/src/kernels/3.10.0-1160.108.1.el7.x86_64”Building modules, stage 2.MODPOST 1 modules
make[1]: 离开目录“/usr/src/kernels/3.10.0-1160.108.1.el7.x86_64”
dwarfdump -di module.ko > module.dwarf
/bin/sh: dwarfdump: 未找到命令
make: *** [dwarf] 错误 127
[root@localhost linux]# dwarfdump
-bash: dwarfdump: 未找到命令
安装dwarfdump
这里不建议安装最新版本的dwarfdump,在后面继续做会产生报错ValueError: invalid literal for int() with base 16: ‘128 (-128)’ · Issue #866 · volatilityfoundation/volatility (github.com)
但是暂未有前辈给出修改方案,所以建议安装了较新版本的dwarfdump或者产生如下所述报错的,重新卸载并装老版本的dwarfdump
ValueError: invalid literal for int() with base 16: '168 (-88)'
# 下载并解压包
wget https://www.prevanders.net/libdwarf-20201201.tar.gztar -xf libdwarf-20201201.tar.gz
cd libdwarf-20201201# 配置并编译
sudo ./configure
sudo make install
继续回到linux
目录下编译,成功得到dwarf内核调试文件
[root@localhost linux]# make
make -C //lib/modules/3.10.0-1160.el7.x86_64/build CONFIG_DEBUG_INFO=y M="/root/linux" modules
make[1]: 进入目录“/usr/src/kernels/3.10.0-1160.108.1.el7.x86_64”Building modules, stage 2.MODPOST 1 modules
make[1]: 离开目录“/usr/src/kernels/3.10.0-1160.108.1.el7.x86_64”
dwarfdump -di module.ko > module.dwarf
make -C //lib/modules/3.10.0-1160.el7.x86_64/build M="/root/linux" clean
make[1]: 进入目录“/usr/src/kernels/3.10.0-1160.108.1.el7.x86_64”CLEAN /root/linux/.tmp_versionsCLEAN /root/linux/Module.symvers
make[1]: 离开目录“/usr/src/kernels/3.10.0-1160.108.1.el7.x86_64”
[root@localhost linux]# ls
kcore libdwarf-0.9.1.tar.xz Makefile Makefile.enterprise module.c module.cile module.dwarf
[root@localhost linux]# ls -lh
总用量 5.0M
drwxr-xr-x. 2 root root 71 2月 5 20:14 kcore
-rw-r--r--. 1 root root 2.6M 1月 28 03:27 libdwarf-0.9.1.tar.xz
-rw-r--r--. 1 root root 384 2月 5 20:14 Makefile
-rw-r--r--. 1 root root 314 2月 5 20:14 Makefile.enterprise
-rw-r--r--. 1 root root 18K 2月 5 20:14 module.c
-rw-r--r--. 1 root root 46 2月 5 20:20 module.cile
-rw-r--r--. 1 root root 2.4M 2月 5 21:12 module.dwarf
获取system.map内存表文件
ls -lh /boot/System.map-$(uname -r)
[root@localhost linux]# ls -lh /boot/System.map-$(uname -r)
-rw-------. 1 root root 3.5M 10月 20 2020 /boot/System.map-3.10.0-1160.el7.x86_64
打包
sudo zip $(lsb_release -i -s)_$(uname -r)_profile.zip module.dwarf /boot/System.map-$(uname -r)# 如果没有lsb_release命令
yum install redhat-lsb-core
[root@localhost linux]# sudo zip $(lsb_release -i -s)_$(uname -r)_profile.zip module.dwarf /boot/System.map-$(uname -r)adding: module.dwarf (deflated 91%)adding: boot/System.map-3.10.0-1160.108.1.el7.x86_64 (deflated 79%)
[root@localhost linux]# ls
CentOS_3.10.0-1160.108.1.el7.x86_64_profile.zip kcore Makefile Makefile.enterprise module.c module.cile module.dwarf
将zip移到volatility2\volatility\plugins\overlays\linux
目录下
# linux下用grep,我volatility2装在windows里
python2 vol.py --info | findstr "Linux"
python2 vol.py -f out.lime --profile=LinuxCentOS_3_10_0-1160_108_1_el7_x86_64_profilex64 linux_banner
成功解析
相关文章:

CentOS基于volatility2的内存取证实验
CentOS,Redhat和Fedora 都是Red Hat体系,采用yum管理器,不同于Debian、Ubuntu作为Debian体系使用apt 本文以CentOS为例,采用avml制作内存镜像,并利用volatility官方所给工具制作profile符号文件,进行简单的…...

HLS 三角函数报错:undefined reference to ‘cordic_apfixed::circ_table_arctan_128‘
最近在通过HLS实现一些算法,其中用到了hls::cos函数,写完代码编译报错: ../Vitis_HLS/hls_cordic_apfixed.h:229: undefined reference to cordic_apfixed::circ_table_arctan_128 build/xf_computePhaseMap_accel.o: In function void cord…...

【汇编】简单的linux汇编语言程序
一、Linux系统汇编语言 Linux系统上的汇编语言可以使用不同的语法风格,主要包括Intel语法和AT&T语法。这两种语法有各自的特点和风格区别,尽管它们表示的底层机器指令相同。下面分别对两种语法进行简要说明: Intel语法 Intel语法是由I…...

Fink CDC数据同步(四)Mysql数据同步到Kafka
依赖项 将下列依赖包放在flink/lib flink-sql-connector-kafka-1.16.2 创建映射表 创建MySQL映射表 CREATE TABLE if not exists mysql_user (id int,name STRING,birth STRING,gender STRING,PRIMARY KEY (id) NOT ENFORCED ) WITH (connector mysql-cdc,hostn…...

Adb offline疑难杂症解决方案大全记录
无线/有线Adb offline依次尝试下面步骤: adb kill-server && adb start-server adb reconnect offline 多次 adb tcpip 5555 后重试 检查有线端口5037、无线5555占用,排除改名的adb或其他应用占用 换USB线和USB口拔插、确保同一WiFi下࿰…...

详述FlinkSql Join操作
FlinkSql 的 Join Flink 官网将其分为了 Joins 和 Window Joins两个大类,其中里面又分了很多 Join 方式 参考文档: Joins | Apache Flink Window JOIN | Apache Flink Joins 官网介绍共有6种方式: Regular Join:流与流的 Joi…...

Ajax+JSON学习二
AjaxJSON学习二 文章目录 前言三、前后端数据交互3.1. GET请求3.2. POST请求3.3. jQuery 中的 Ajax3.4. Ajax 的替代品:fetch3.5. 小结 四、JSON4.1. JSON简介4.2. JSON 语法规则4.3. JSON的解析和序列化 总结 前言 三、前后端数据交互 3.1. GET请求 GET 请求一般用…...

STM32单片机的基本原理与应用(六)
串口测试实验 基本原理 在串口实验中,是通过mini_USB线搭建终端与电脑端(也可称终端,为做区分称电脑端)的“桥梁”,电脑端的串口调试助手通过mini_USB线向终端发送信息,由CH340芯片将USB接口进行转换&…...

《MySQL 简易速速上手小册》第4章:数据安全性管理(2024 最新版)
文章目录 4.1 用户认证和权限控制4.1.1 基础知识4.1.2 重点案例:使用 Python 管理 MySQL 用户权限4.1.3 拓展案例 4.2 防止 SQL 注入和其他安全威胁4.2.1 基础知识4.2.2 重点案例:使用 Python 和 MySQL 进行安全的数据查询4.2.3 拓展案例 4.3 数据加密和…...

VUE学习之路——列表渲染
<p v-for"item in items">{{ item }}</p>使用v-for进行列表的渲染。 这仅仅是一个简单的demo,使用v-for可以用来遍历数组和对象,具体如下: 注意:遍历数组或对象的时候,()…...

CentOS 安装 redis 7.2
nginx官网 https://redis.io/download/ 把鼠标放到这里,复制下载地址 在服务器找个文件夹执行命令 wget https://github.com/redis/redis/archive/7.2.4.tar.gz tar -zxvf 7.2.4.tar.gz make make install 看到这几行就说明安装成功了 不放心的话再查看下b…...

运维自动化bingo前端
项目目录结构介绍 项目创建完成之后,我们会看到bingo_web项目其实是一个文件夹,我们进入到文件夹内部就会发现一些目录和文件,我们简单回顾一下里面的部分核心目录与文件。 ├─node_modules/ # node的包目录,项目运行的依赖包…...

Project2013下载安装教程,保姆级教程,附安装包和工具
前言 Project是一款项目管理软件,不仅可以快速、准确地创建项目计划,而且可以帮助项目经理实现项目进度、成本的控制、分析和预测,使项目工期大大缩短,资源得到有效利用,提高经济效益。软件设计目的在于协助专案经理发…...

【机器学习与自然语言处理】预训练 Pre-Training 各种经典方法的概念汇总
【机器学习与自然语言处理】预训练 Pre-Training 各种经典方法的概念汇总 前言请看此正文预训练 Pre-Training无监督学习 unsupervised learning概念:标签PCA 主成分分析(Principal Component Analysis)降维算法LSA 潜在语义分析(…...

Mac电脑如何通过终端隐藏应用程序?
在我们使用Mac电脑的时候难免会遇到想要不想看到某个应用程序又不想卸载它们。值得庆幸的是,macOS具有一些强大的文件管理功能,允许用户轻松隐藏(以及稍后显示)文件甚至应用程序。 那么,Mac电脑如何通过终端隐藏应用程…...

linker list
linker list是利用lds 描述符实现同类型数据连续排布的一种机制。 下面是uboot里面的应用说明 lds文件里面需要增加section描述: . ALIGN(4);.u_boot_list : {KEEP(*(SORT(.u_boot_list*)));}linker_list.h: /* SPDX-License-Identifier: GPL-2.0 */ /** include…...

[CUDA手搓]从零开始用C++ CUDA搭建一个卷积神经网络(LeNet),了解神经网络各个层背后算法原理
文章目录 前言一、所需环境二、实现思路2.1. 定义了LeNet网络模型结构,并训练了20次2.2 以txt格式导出训练结果(模型的各个层权重偏置等参数)2.3 (可选)以pth格式导出训练结果,以方便后期调试2.4 C CUDA要做的事 三、C CUDA具体实现3.1 新建.cu文件并填好…...

【开源】基于JAVA+Vue+SpringBoot的数据可视化的智慧河南大屏
目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、系统展示四、核心代码4.1 数据模块 A4.2 数据模块 B4.3 数据模块 C4.4 数据模块 D4.5 数据模块 E 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpringBootMySQL的数据可视化的智慧河南大屏,包含了GDP、…...

页面单跳转换率统计案例分析
需求说明 页面单跳转化率 计算页面单跳转化率,什么是页面单跳转换率,比如一个用户在一次 Session 过程中访问的页面路径 3,5,7,9,10,21,那么页面 3 跳到页面 5 叫一次单跳,7-9 也叫一次单跳, 那么单跳转化率就是要统计…...

眸思MouSi:“听见世界” — 用多模态大模型点亮盲人生活
文章目录 1. Introduction1.1 APP细节展示2. Demo2.1 论文链接2.2 联系方式3. Experiment3.1 多专家的结合是否有效?3.2 如何更好的将多专家整合在一起?Reference让盲人听见世界,复旦眸思大模型打破视觉界限,用科技点亮新生活 1. Introduction 在这个世界上,视力是探索万…...

电商小程序05用户注册
目录 1 搭建页面2 设置默认跳转总结 我们上一篇拆解了登录功能,如果用户没有账号就需要注册了。本篇我们介绍一下注册功能的实现。 1 搭建页面 打开应用,点击左上角的新建页面 输入页面的名称,用户注册 删掉网格布局,添加表单容…...

什么是UI设计?
用户界面(UI)它是人与机器互动的载体,也是用户体验(UX)一个组成部分。用户界面由视觉设计 (即传达产品的外观和感觉) 和交互设计 (即元素的功能和逻辑组织) 两部分组成。用户界面设计的目标是创建一个用户界面…...

React 实现表单组件
表单是html的基础元素,接下来我会用React实现一个表单组件。支持包括输入状态管理,表单验证,错误信息展示,表单提交,动态表单元素等功能。 数据状态 表单元素的输入状态管理,可以基于react state 实现。 …...

PlantUML绘制UML图教程
UML(Unified Modeling Language)是一种通用的建模语言,广泛用于软件开发中对系统进行可视化建模。PlantUML是一款强大的工具,通过简单的文本描述,能够生成UML图,包括类图、时序图、用例图等。PlantUML是一款…...

自学Python第二十二天- Django框架(六) django的实用插件:cron、APScheduler
django-crontab 和 django-cron 有时候需要django在后台不断的执行一个任务,简单的可以通过中间件来实现,但是中间件是根据请求触发的。如果需要定时执行任务,则需要使用到一些插件。 django-crontab 和 django-cron 是常用的用于处理定时任…...

医院挂号预约|医院挂号预约小程序|基于微信小程序的医院挂号预约系统设计与实现(源码+数据库+文档)
医院挂号预约小程序目录 目录 基于微信小程序的医院挂号预约系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、小程序用户端 2、系统服务端 (1) 用户管理 (2)医院管理 (3)医生管理 &…...

网络选择流程分析(首选网络类型切换流程)
首先是界面,我在此平台的界面如下: 对应的入口源码位置在Settings的UniEnabledNetworkModePreferenceController中,当然其他平台可能在PreferredNetworkModePreferenceController中,流程上都是大同小异 然后点击切换按钮会调用到UniEnabledNetworkModePreferenceControlle…...

AutoSAR(基础入门篇)6.1-Vector的汽车电子开发工具链简介
目录 前言 一、PREEvision 二、vVIRTUALtarget 三、DaVinci 四、CANoe 五、CANape 其他 前言 因为国内用...

TI的电量计驱动在卸载时导致Linux卡死
背景 最近移植TI电量计芯片bq40z50的驱动,移植完毕后,能正常读取电池信息了,但是无意中发现驱动卸载会导致Linux卡死,死前终端闪过大量打印,将putty的缓冲区都耗尽了,必须启用syslog转发并用visual syslog…...

使用yolo训练自己的模型
YOLO(You Only Look Once)是一种用于目标检测的深度学习模型,旨在实时检测图像或视频中的多个对象。与传统的目标检测方法不同,YOLO一次性处理整个图像,而不是通过滑动窗口或区域提议进行多次检测。这种方法使得YOLO在…...