位置无关码 即该段代码无论放在内存的哪个地址,都能正确运行。究其原因,是因为代码里没有使用绝对地址,都是相对地址。 位置相关码 即它的地址与代码处于的位置相关,是绝对地址 BL :带链接分支跳转指令,也是位置无关码(相对位置),用于调用函数用的。 B:分支跳转指令,指目标不能太远,一般用于同一个文件 ...
分类:
其他好文 时间:
2018-05-11 12:53:12
阅读次数:
200
函数是Python内建支持的一种封装, 通过把大段代码拆成函数, 通过一层一层的函数调用, 就可以把唐娟的任务分解成简单的任务. 这种分解可以称之为面向过程的程序设计. 函数就是面向过程的程序设计的基本单元. 在计算机的层次上, CPU执行的是加减乘除的指令代码, 以及各种条件判断和跳转指令. 所以 ...
分类:
其他好文 时间:
2018-04-20 20:43:02
阅读次数:
145
题目要求大意: 在数据段指定一组数据,对该组数据进行:正负分类,分别记下两类的绝对值之和与个数只和 参考代码: 跳转指令: (该部分来自:https://www.cnblogs.com/del/archive/2010/04/16/1713886.html) ...
分类:
其他好文 时间:
2018-04-05 22:31:10
阅读次数:
215
ARM 汇编程序的框架结构 .section .data <初始化的数据> .section.bss <未初始化的数据> .section .text .global _start _start: <汇编代码> 注意: 一般是将上面结构进行简化 .text .global _start _start ...
分类:
其他好文 时间:
2018-03-17 14:18:43
阅读次数:
215
环境: xp ps3 VS 2008 release版本, 禁用优化 IDA OD 参考: 跳板 : http://blog.csdn.net/chenchong_219/article/details/17973935 ebp+x030是什么: https://www.cnblogs.com/Li ...
分类:
其他好文 时间:
2018-03-10 21:55:52
阅读次数:
222
一、加载 装载类的第一阶段, 取得类的二进制流,并将它转换为方法区数据结构。 在Java堆中生成对应的java.lang.Class对象 二、链接 1、验证 目的:保证Class流的格式是正确的。 a) 文件格式的验证 是否以0xCAFEBABE开头 版本号是否合理 b) 元数... ...
分类:
其他好文 时间:
2018-03-02 18:46:06
阅读次数:
153
1.通用指令Cache MPC 因为访存类指令占据了存储器的接口,阻止了新的指令进入处理器。因此在冯诺依曼体系结构下,单存储器接口会产生冲突问题。 在RIB模式下(精简指令缓冲器),只保存在访存类指令执行时需要从存储器中取出的指令,将其存入Cache中。 通过这种方法,访存类指令执行的开销可以在Ca ...
分类:
系统相关 时间:
2018-02-01 00:20:36
阅读次数:
263
最近终于沉下心来对着书把hook跟注入方面的代码敲了一遍,打算写几个博客把它们记录下来。 第一次介绍一下我感觉难度最大的inline hook,实现代码参考了腾讯GAD的游戏安全入门。 inline hook的大致流程如下: 首先将目标指令替换为跳转指令,跳转地址为一段我们自己编写的汇编代码,这段汇 ...
分类:
移动开发 时间:
2018-01-07 00:43:34
阅读次数:
325
理论 jvm虚拟内存分布: 程序计数器是jvm执行程序的流水线,存放一些跳转指令。 本地方法栈是jvm调用操作系统方法所使用的栈。 虚拟机栈是jvm执行java代码所使用的栈。 方法区存放了一些常量、静态变量、类信息等,可以理解成class文件在内存中的存放位置。 虚拟机堆是jvm执行java代码所 ...
分类:
编程语言 时间:
2017-12-21 23:07:31
阅读次数:
197
先说内存存储区域分类: 代码区(text segment):主要包含操作代码和操作对象的地址,地址指向对象存放的区域(堆,栈,静态存储区等),具体的数值也包含在代码中。代码区的代码按照程序规则顺序执行,反复,则需要使用跳转指令,递归,需要借助栈来实现。 静态存储区(data segment):主要存 ...
分类:
其他好文 时间:
2017-09-12 16:53:09
阅读次数:
165