for语句的构成 初始语句 条件跳转语句 变条语句 执行语句 c源码 for(i=0;i<5;i++){ int a =2; } 汇编 1 movl $0, -8(%rbp) 2 jmp .L4 3.L5: 4 movl $2, -4(%rbp) 5 addl $1, -8(%rbp) 6.L4: ...
分类:
其他好文 时间:
2020-11-27 11:45:18
阅读次数:
9
服务端程序要求,7*24小时不断服,所以,热升级或者热补丁是常见的非功能性需求。 业界常见方法,采用在jmp跳转的方法,比较容易实现。具体实现方法就是,老的函数(被替换的函数),新的函数(替换函数)。 替换的原理,在老的函数第一个条指令前,加入一个无条件跳转指令,跳转到新的函数,当新的函数retur ...
分类:
其他好文 时间:
2020-06-30 20:44:41
阅读次数:
68
跳转指令 (1)无条件跳转 JMP (2)根据 CX、ECX 寄存器的值跳转 JCXZ:CX 为 0 则跳转) JECXZ:ECX 为 0 则跳转) (3)根据 EFLAGS标志位跳转 JE: 等于则跳转 JNE: 不等于则跳转 JZ:为 0 则跳转 JNZ:不为 0 则跳转 JS:为负则跳转 JN ...
分类:
其他好文 时间:
2020-06-18 10:56:10
阅读次数:
68
步骤: 加载函数所在的模块,获取要Hook的函数地址 根据要hook函数的原型创建自己的函数 计算偏移 = 自己创建的函数的地址 - 要Hook的函数地址 - 5,第一个字节为0xE9,构成无条件跳转指令 修改目标页属性,是其可读可写可执行 将前面构造的无条件跳转写入Hook函数地址处,大小为5字节 ...
分类:
其他好文 时间:
2020-04-22 14:50:24
阅读次数:
64
1 流程控制程序设计语言的流程控制语句,用于设定计算执行的次序,建立程序的逻辑结构。可以说,流程控制语句是整个程序的骨架。从根本上讲,流程控制只是为了控制程序语句的执行顺序,一般需要与各种条件配合,因此, 在各种流程中,会加入条件判断语句。流程控制语句一般起以下3个作用: 选择,即根据条件跳转到不同 ...
分类:
编程语言 时间:
2020-04-09 21:38:14
阅读次数:
93
JVM指令码表 常量入栈指令 指令码 操作码(助记符) 操作数 描述(栈指操作数栈) 0x01 aconst_null null值入栈。 0x02 iconst_m1 -1(int)值入栈。 0x03 iconst_0 0(int)值入栈。 0x04 iconst_1 1(int)值入栈。 0x05 ...
分类:
其他好文 时间:
2020-04-04 22:42:11
阅读次数:
86
1、abstract abstract修饰类,表示抽象的意思,抽象类可以含有非抽象变量和成员变量,也可以有普通方法和构造方法,但是不能被实例化(接口),但是可以被子类继承。 public abstract class AbstractList<E> extends AbstractCollectio ...
分类:
编程语言 时间:
2020-04-04 11:12:40
阅读次数:
95
条件跳转表 汇编语言-条件跳转指令 直接转移指令 指令格式机器码测试标志条件说明符号 JO OPR 70 OF=1 结果有溢出 JNO OPR 71 OF=0 结果无溢出 JC OPR 72 CF=1 小于 < JNC OPR 73 CF=0 大于或等于 >= JZ/JE OPR 74 ZF=1 结 ...
分类:
其他好文 时间:
2020-01-04 22:02:14
阅读次数:
341
限定符 变量 加上const会变成常量,不可更改值,相当于Java中的final 引用 在C++中引用属于复合类型 引用别名 类型别名 无条件跳转 类 ...
分类:
编程语言 时间:
2019-11-16 23:35:06
阅读次数:
91
转至猫猫大侠的博客 参考资料 PHP的 yield 关键字是php5.5版本推出的一个特性,算是比较古老的了,其他很多语言中也有类似的特性存在。但是在实际的项目中,目前用到还比较少。网上相关的文章最出名的就是鸟哥的那篇了,但是都不够细致理解起来较为困难,今天我来给大家超详细的介绍一下这个特性。 如果 ...
分类:
Web程序 时间:
2019-09-24 23:00:07
阅读次数:
183