相关文章

Java字节码技术javassist

一、Javassist入门 (一)Javassist是什么 Javassist是可以动态编辑Java字节码的类库。它可以在Java程序运行时定义一个新的类,并加载到JVM中;还可以在JVM加载时修改一个类文件。Javassist使用户不必关心字节码相关的规范也是可以编…

java安全必学之Javassist 学习

Javassist 学习 环境搭建 这个非常简单&#xff0c;只需要你自己加一个依赖 <!-- https://mvnrepository.com/artifact/javassist/javassist --><dependency><groupId>javassist</groupId><artifactId>javassist</artifactId><versi…

[Java基础]—Javassist

Javassist Javassist (JAVA programming ASSISTant) 是在 Java 中编辑字节码的类库;它使 Java 程序能够在运行时定义一个新类, 并在 JVM 加载时修改类文件。原理与反射类似&#xff0c;但开销相对较低。 常用API ClassPool getDefault : 返回默认的 ClassPool 是单例模式的&…

javassist使用指南

目录 一、快速入门1.1 创建class文件1.2 ClassPool的相关方法1.3 CtClass的相关方法1.4 CtMethod的相关方法1.5 调用生成的类对象1.5.1 通过反射调用1.5.2 通过接口调用 1.6 修改现有的类对象 二、将类冻结三、类搜索路径四、$开头的特殊字符五、ProxyFactory的使用 我们知道Ja…

第一章 QEMU虚拟机与ARM64平台搭建

系列文件目录 《ARM64体系结构结构编程与实践》学习与应用记录 第一章 QEMU虚拟机与ARM64平台搭建 文章目录 系列文件目录本章前言一、ubuntu虚拟机安装1.ubuntu20.04镜像下载2.镜像安装3.工具安装二、代码下载1.git配置2.runninglinuxkernel代码下载3.代码编译总结本章前言 为…

arm64交叉编译环境的搭建

1、简介 交叉编译&#xff0c;简单地说&#xff0c;就是在一个平台上生成另一个平台上的可执行代码。本文主要内容为在非ARM架构服务器环境下搭建ARM的GCC编译环境&#xff0c;编译基于ARM架构的应用软件。交叉编译工具链是为了编译、链接、处理和调试跨平台体系结构的程序代码…

搭建arm64的qemu环境

说明 qemu在调试内核方面还是比较方便、效率的。以前基本上多是用arm32的平台&#xff0c;网上大部分资源也是关于arm32的。现在arm64的也比较普遍了&#xff0c;最近刚好要看一些内核的东西&#xff0c;花了2天的时间搭建了这个环境&#xff0c;希望看到的朋友少走弯路&#…

ARM64内联汇编

文章目录 前言1 Registers in AArch64 state2 内联汇编2.1 dmeo2.2 内联汇编格式 总结参考资料 前言 由于在内核代码中经常看到内联汇编代码&#xff0c;便总结下来。 1 Registers in AArch64 state 在 AArch64 应用程序级别视图中&#xff0c;Arm 处理元素具有&#xff1a;…

安装包 amd,amd64, arm,arm64 都有什么区别

现在的安装包也不省心&#xff0c;有各种版本都不知道怎么选。 根据你安装的环境配置。 amd&#xff1a; 32位X86 amd64&#xff1a; 64位X86 arm&#xff1a; 32位ARM arm64&#xff1a; 64位ARM amd64是X86架构的CPU&#xff0c;64位版。amd64又叫X86_64。主流的桌面PC&am…

Arm64栈回溯

1.AArch64栈的结构 Arm64有4种栈&#xff0c;分别是空增栈(Empty Ascendant Stack,EA)、空减栈(Empty Descendant Stack,ED)、满增栈(Full Ascendant Stack,FA)、满减栈(Full Descendant Stack,FD)。常用的是满减栈&#xff0c;Linux内核也使用满减栈。 下图是一个满减栈的示意…

Windows使用QEMU搭建arm64 Linux环境

1. 准备软件 QEMU安装包&#xff08;这里使用的是qemu-w64-setup-20240328.exe 的版本&#xff09;&#xff1a;https://qemu.weilnetz.de/w64/树莓派系统镜像&#xff1a;http://downloads.raspberrypi.org/raspbian/images/raspbian-2020-02-14/ 树莓派是基于Debian的Linux系…

ARM64 registers

参考文档&#xff1a;《ARM Cortex-A Series Programmers Guide for ARMv8-A》 一、通用寄存器 1、arm64一共有31个通用寄存器&#xff0c;X0~X30 其中X29&#xff0c;又称FP寄存器&#xff0c;而X30&#xff0c;又称LR寄存器 每一个通用寄存器都有两种表示&#xff1a;Xn 和 …

chromium arm64 新版

chrome官方并没有对外公布arm64的正式版本但debian已经适配&#xff0c;以下链接提取自debian可直接一条命令安装&#xff1a;sudo dpkg -i *.deb即可 https://www.aliyundrive.com/s/vVCpzTyFjH6

MAC如何判断是型号x64、ARM64

文章目录 前言如何操作解决办法&#xff1a; [MAC 知识](https://blog.csdn.net/qq_40374604/category_11129661.html) 前言 自从 MAC M1 出来后&#xff0c;MAC 分为英特尔芯片和苹果自家的芯片&#xff0c;导致很多软件安装也要区分版本。 比如&#xff0c;微信开发者工具 …

amd,amd64,arm,arm64区别

amd,amd64,arm,arm64区别 amd&#xff1a; 32位X86 amd64&#xff1a; 64位X86 arm&#xff1a; 32位ARM arm64&#xff1a; 64位ARM amd64是X86架构的CPU&#xff0c;64位版。amd64又叫X86_64。主流的桌面PC&#xff0c;笔记本电脑&#xff0c;服务器&#xff08;包括虚拟机&…

下载nacos 2.3 for arm64

客户组织安全测试&#xff0c;我们系统测出了好几个高危问题&#xff0c;其中大部分是关于nacos的。 原先的nacos版本太低了&#xff0c;是1.3的。现在&#xff08;2024.01&#xff09;已经是2.3了&#xff0c;应该装个新的。我们使用docker安装nacos&#xff0c;原本很简单的…

ARM64是什么意思?与x86有什么区别?

你知道ARM64是什么意思&#xff1f;与x86有什么区别&#xff1f;哪款堡垒机支持ARM64架构&#xff1f;且听我道来。 ARM64是什么意思&#xff1f; 【回答】&#xff1a;ARM64是CPU构架的一种&#xff0c;通常用于手机、平板等CPU&#xff0c;目前笔记本电脑也会采用ARM64构架…

x86_64和AMD64和ARM64?傻傻分不清楚?

什么是指令集 First of first&#xff0c;你要知道指令集(instruction set)是一个什么东西。指令集就像是计算机硬件和软件之间的桥梁,它定义了处理器可以执行的基本操作。操作系统和应用软件必须根据指令集来编写,才能在特定的处理器上运行。这意味着我们熟悉的操作系统和软件…

一文带你初探android的arm64汇编

1.arm64简介 ARM64系统中 共有31个通用寄存器和2个特殊寄存器。 31个通用寄存器用X0到X30表示&#xff0c;两个特殊寄存器是SP和ZR。SP是栈指针&#xff0c;其内容是栈底的地址&#xff0c;必须满足16字节对齐的条件&#xff0c;否则无法使用。ZR是0寄存器。当用作源寄存器的时…

ARM64架构栈帧以及帧指针FP

文章目录 前言一、arm64架构寄存器简介1.1 异常等级1.2 通用寄存器1.3 ARM64架构ABI 二、ARM64架构函数调用标准2.1 AArch64过程调用标准简介2.2 通用寄存器中的参数 三、demo分析3.1 main函数3.2 funb3.3 funa 四、栈帧总结五、demo演示参考资料 前言 这篇文章描述了 x86_64架…