
汇编/C
文章平均质量分 95
嘻嘻兮
Stay hungry,Stay foolish
展开
-
ARM汇编基础下
这一篇主要就总结一下ARM汇编中一些指令相关的知识点,指令相关的东西还是挺多的,所以只能挑一些重点来记录。在上一篇中有说指令集相关的内容,这里的话主要是讨论arm指令集,也就是4字节的。首先,先来看一下指令的一般编码格式,固定占用四字节对于上图的符号以及参数说明如下:opcode : 指令操作符编码cond : 指令执行的条件编码S : 决定指令的操作是否影响CPSR的值(是否影响标志寄存器)Rd : 目标寄存器编码Rn : 包含第1个操作数的寄存器编原创 2021-04-12 09:25:16 · 939 阅读 · 0 评论 -
ARM汇编基础上
ARM是一个精简指令集处理器,其指令集的设计是定长的,也就是其汇编对应的机器码是定长的(2字节或者4字节)。那么对于定长而言,其优点就是更快的被执行,因为这样CPU取指令译码的速度相对x86的CPU会快一些,但是缺点也比较明显,毕竟定长,那么表示其指令有限(指令少),所以一定程度上会软件的复杂度(需要几条指令才能完成一个功能)。ARM的指令集一开始设计定长都是2字节的,随着时间的发展,会发现指令可能已经不够表达了,所以后面又出现了4字节的指令集。对于2字节的指令集称为thumb指令集,而4字节的称为ar原创 2020-08-09 13:24:41 · 1217 阅读 · 1 评论 -
64位汇编入门
忽然间想记录一下64位的汇编...这里的话主要就是记录一下和32位汇编的一些比较大的差别,主要就是寄存器和函数调用这两方面,指令什么的话我觉得就遇到查就可以了,有时间的话整理吧。首先先来看寄存器,如下图对于上图而言,白色背景部分表示兼容x86的寄存器,支持所有的模式,而对于灰色部分而言,表示扩展的寄存器,只支持64位模式。先来看通用寄存器,可以发现扩展了8个通用的寄存器,也就是R8-R15,并且由原先的32字节扩展为64个字节,总共16个寄存器EAX -> RAXEBX -&g原创 2020-06-20 17:49:27 · 6660 阅读 · 0 评论 -
C语言基本类型与其数据存储方式
好久没有更新博客了,最近对逆向十分着迷,信息安全的知识量是真的庞大,是时候该做一波笔记了,哈哈。看下图,C语言数据类型分为右边四大类型,这篇博客重点讲基本类型,因为其他类型还没学呢~~整数类型数据类型分为 char short int long 四种char 8BIT 1字节 -----宽度...原创 2017-11-24 23:37:16 · 4238 阅读 · 0 评论 -
C语言选择结构与循环结构逆向分析
首先,得先会正向开发的选择和循环结构,不会正向,如何逆向呢?收藏一句话:开发的水平决定了你逆向的高度,en....很有道理编译器:VC++ 6.0学习之前需要先了解几个汇编指令:JMP 指令:指令格式:MOV EIP,寄存器/立即数 简写为 JMP 寄存器/立即数无条件跳转,修改EIP的值。CMP指令:指令格式:CMP R/M,R/M/IMM...原创 2017-11-30 23:07:28 · 4637 阅读 · 0 评论 -
使用WinHex观察内存(C)
咳咳,好久没写博客了,主要太忙(懒)了,以后会坚持写博客,记录学习的一点一滴。1. 首先,编写个bat脚本,使用命令行进行C的编译链接,这里需配置环境变量@echo offset /p var=请输入源代码文件名:@echo oncl /c /W4 /WX %var%.clink %var%.obj@echo offpausecls@echo on%var%.ex...原创 2019-06-23 23:47:23 · 3085 阅读 · 2 评论