Binary 二进制指令插入和字节码指令插入之间的区别是什么?

Binary 二进制指令插入和字节码指令插入之间的区别是什么?,binary,bytecode,instrumentation,Binary,Bytecode,Instrumentation,所以我在读一篇叫做“动态程序分析技术和工具概览”的文章,里面有一个不同的插装技术列表 根据那篇论文,我们有源代码,二进制和字节码指令。源代码1非常清晰,但我看不出字节码和二进制指令插入之间的区别: “二进制指令插入通过修改或 “重新编写编译代码” 以及: 字节码检测在编译代码中执行跟踪。[...] 静态[字节码]指令插入涉及更改已编译代码 执行前离线 有这样一个帖子: 说到“动态”插装,它非常接近“动态字节码插装”和“动态二进制插装” 动态二进制指令插入(作为实时编译器实现)在程序加载到内存后执

所以我在读一篇叫做“动态程序分析技术和工具概览”的文章,里面有一个不同的插装技术列表

根据那篇论文,我们有源代码,二进制和字节码指令。源代码1非常清晰,但我看不出字节码和二进制指令插入之间的区别:

“二进制指令插入通过修改或 “重新编写编译代码”

以及:

字节码检测在编译代码中执行跟踪。[...] 静态[字节码]指令插入涉及更改已编译代码 执行前离线

有这样一个帖子: 说到“动态”插装,它非常接近“动态字节码插装”和“动态二进制插装”

动态二进制指令插入(作为实时编译器实现)在程序加载到内存后执行

当应用程序已在运行时,动态[字节码]检测工作

如果有人能给我解释一下二进制和字节码插装之间的区别,那就太好了

多谢各位

Thibault

“二进制检测通过修改或重新编写编译代码来添加检测代码”


编译代码是由字节码组成的,所以我看到的情况也是如此。二进制插装可能只是意味着对二进制文件进行插装

哦,事实上,直到现在我还以为字节码和二进制是一回事。from:Java字节码是一种二进制数据格式,包括Java虚拟机的加载信息和执行指令。从这个意义上说,Java字节码是一种特殊的二进制代码。当您使用术语“二进制代码”来表示实际处理器体系结构(如IA-32或Sparc)的机器指令时,情况就不同了。从这个意义上讲,Java字节码不是二进制代码。这不是特定于处理器的。非常感谢您的回答,我现在明白了。