程序就会在ARM与Simpled-x86上有不同的表现,根据计算结果便可以知道究竟是还在ARM平台上运行,为什么说模拟器采用的是Simpled-x86架构,拿QEMU来说,它采用了一些手段,主动保证了Self-Modifying Code的同步性,看QEMU对于Self-Modifying Code的处理: On RISC targets, correctly written software uses memory barriers
Backpropamine:训练具有可微分神经调节可塑性的自我修饰神经网络 题目:Backpropamine: training self-modifying neural networks with 由此产生的大脑自我修饰能力(self-modifying ability)在动物的学习和适应中起着重要的作用,并且是生物强化学习的主要基础。
HOPE 的核心杀手锏是其自我指涉的动态修正能力(Self-Modifying)。
结合自我修改(Self-Modifying)与连续记忆系统(Continuum Memory System),谷歌提出了嵌套学习范式下的HOPE架构。
所以对于自修改的代码(Self-Modifying Code)而言,比如我们修改了内存p这个位置的代码(典型多见于JIT compiler),这个时候我们是通过store的方式去写的p,所以新的指令会进入
采用的哈弗架构将指令存储跟数据存储分开,分为I-Cache(指令缓存)与D-Cahce(数据缓存),CPU无法直接修改I-Cache【同步延迟导致不一致】,但Simpled X86架构的模拟器只有一块缓存,这一点导致两者在运行Self-Modifying
所以对于自修改的代码(Self-Modifying Code)而言,比如我们修改了内存p这个位置的代码(典型多见于JIT compiler),这个时候我们是通过store的方式去写的p,所以新的指令会进入
所以对于自修改的代码(Self-Modifying Code)而言,比如我们修改了内存p这个位置的代码(典型多见于JIT compiler),这个时候我们是通过store的方式去写的p,所以新的指令会进入
github地址: https://yellowbyte.github.io/hiding-call-to-ptrace.html 反转(防): 引用“Self-Modifying Code“技术,顾名思义
Metaprogramming, code and data in one representation, self-modifying programs, domain specific mini-languages