一、javap命令简述 javap是jdk自带的反解析工具。它的作用就是根据class字节码文件,反解析出当前类对应的code区(汇编指令)、本地变量表、异常表和代码行偏移量映射表、常量池等等信息。当然这些信息中,有些信息(如本地变量表、指令和代码行偏移量映射表、常量池中方法的参数名称等等)需要在使 ...
分类:
编程语言 时间:
2019-12-27 11:25:14
阅读次数:
100
"x86" / "amd64" 汇编指令的两大风格分别是 "Intel" 汇编与 "AT&T" 汇编,分别被 "Microsoft Windows" / "Visual C++" 与 "GNU" / "Gas" 采用(Gas也可使用Intel汇编风格): | 项目 | Intel风格 | AT&T风 ...
分类:
其他好文 时间:
2019-12-20 22:38:22
阅读次数:
107
断点介绍: shark恒老师说有四种说法,但是其实都是相同的 第一个读法:普通断点 第二个读法:F2断点 第三个读法:INT3断点( int3其实就是汇编指令 ) 第四个读法:CC断点 (CC其实就是断点时候的十六进制的数据) 断点的实现: 1、载入OD找到以下地址进行断点,然后进行运行,发现运行到 ...
分类:
其他好文 时间:
2019-12-17 22:24:27
阅读次数:
114
思路: 1、清空寄存器中的值(大家默认都是在ecx中操作) 2、给ecx初始化为6 3、自减 4、判断是否为0,如果为0则P标志位为1,则不跳转,往下走,否则进行循环 第一种实现的方法: 第二种实现的方法: ...
分类:
其他好文 时间:
2019-12-17 16:37:23
阅读次数:
190
2019-12-12 关键字:汇编指令基础 首先 ARM 是一家公司,它成立于 1990 年。ARM 公司主要是设计 ARM 系列的 RISC 处理器内核,并将这些内核授权给合作伙伴进行生产与销售。ARM 公司是一家只负责设计内核而不生产芯片的公司。 ARM 芯片的产品线主要分为三种: 1、应用级 ...
分类:
其他好文 时间:
2019-12-12 23:41:57
阅读次数:
99
1.汇编 2.API 3.内存 4.进程 5.窗口 必须熟悉的汇编指令: PUSH 入栈 MOV 赋值 JMP(JNZ JE) 跳转 CALL 调用函数 RET 返回 Cmp 比较 Test 比较 必须知道什么叫寄存器并且使用 EAX 累加寄存器(一般情况下,运算结果,call的结果) EBX 基址 ...
分类:
其他好文 时间:
2019-12-10 13:21:18
阅读次数:
102
参考文章: https://www.cnblogs.com/ylhwx/p/7834969.html 主要的命令说明: 1、 寄存器与内存的拷贝操作 ldr、str 2、 乘法指令 mvl、mla 4、 加法、减法指令 add, sub 5、 cpsr访问指令: mrs, msr 6、 跳转指令: ...
分类:
其他好文 时间:
2019-12-08 15:21:20
阅读次数:
146
reference: 原子操作、内存屏障、锁 :https://www.jianshu.com/p/1d90fe6627ad 哪些操作本身是原子的? 单核处理器下中断发生在指令之间,因此单指令操作都是原子的 多核处理器下进行零次或一次对齐内存访问的汇编指令是原子的 c++版读写锁 https://b ...
分类:
其他好文 时间:
2019-11-23 18:10:30
阅读次数:
75
今天稍微熟悉了一点汇编语法,并就一个案例试验了一下 VS里常见的汇编指令请见:https://blog.csdn.net/sinat_27382047/article/details/72810788 我就目前一个api做解释 CaptureStackBackTrace: 通过在堆栈上走动并记录每一 ...
分类:
其他好文 时间:
2019-11-20 15:32:29
阅读次数:
86
汇编 汇编语言包含两种指令: 1. 汇编指令 2. 伪指令 伪指令 没有对应的机器指令,最终不会被CPU执行。伪指令是编译器执行的指令。 segement和ends segement 表示一个段的开始,ends表示一个段的结束 end 表示一个汇编程序的结束标记,编译器在编译的时候如果碰到了end, ...
分类:
其他好文 时间:
2019-11-19 11:48:06
阅读次数:
115