常见的汇编指令

常见的汇编指令:

stack(栈)是由于函数运行而临时占用的内存区域。
push指令用于将运算放入stack(栈)中
call指令用来调用函数
mov指令用于将一个值写入某个寄存器(把后面值写到前面)
add指令用于将两个运算子相加,并将结果写入第一个运算子
pop指令用于取出stack最近写入的值,并将这个值写入运算子指定的位置
ret指令用于终止当前函数的执行,将运行权交换给上层函数
jmp指令无条件转移
test测试,互相做与运算,仅修改标志位,不回送结果
lea装入有效地址

1、32位程序提供汇编转C语言伪代码功能,64位程序提供64位汇编解析功能。

2、打开动态库(DLL,SO)、exe、静态库(.lib后缀.a后缀)、中间文件(.obj后缀.o后缀)、APK等二进制文件。

3、New是反汇编一个新的文件,Go是不打开任何文件,现在正在执行的程序进行实时调试,Previous调试上次打开的文件,下面是历史任务,下面的勾不勾的话就是默认进入Go,勾上可以自己进行选择。

4、打开IDA导入文件会有一些选项,分别是:作为一个可移植的执行在80386上的程序,MS-DOS的可执行程序,二进制解析。

5、关闭IDA,也有三个选项(因为分析程序后会自动生产一些文件)分别是:不打包、打包删除、打包不删除,下面两个是清理垃圾文件、不保存操作。

6、文件菜单如何做快照,会生成一个新的数据库文件

7、编辑里面export data

8、按空格切换文本和图示模式

9、导航条不同颜色代表不同的块,蓝色:代码段,红色:内核,棕色:数据段

10、不同窗口类型

11、程序执行其实就是硬编码执行的过程,硬编码也就是编译后的CPU指令,
在options-general-disassembly里number of opcode bytes可以设置硬编码显示长度,最多16字节,因为一行硬编码最多16个字节。

12、EXE程序在指令部分就是由硬编码组成,IDA替我们把硬编码转换位汇编代码。

13、shift+f12可以打开string窗口,一键找出所有的字符串,右击setup,还能对窗口的属性进行设置。

14、ACDU指令:A是指令显示成字符串、C是指令显示成代码、D是指令显示成数据、U不去定义以原始字节显示。(90其实就是nub,在函数和函数之间为了字节对其会进行填充)

15、跳转指令G(go)

16、搜索指令ALT+T,case sensitive区分大小写、regular expression正则表达式、identifier标识符,find all occurences是把搜索到的结果列表出来。

17、F5,将汇编翻译成C语言,不过不建议这么做,因为识别不准确,代码会有残缺,可读性很差。

18、改名指令N,分析清楚一个函数就改一个名字,本地名称、名称列表(全局名称(不能重名))、公用名称(不能重名)、自动生成的名称、弱名称、无论如何都创建这个名称(不符合命名规则可以强制创建)

19、创建结构体,点structure窗口左上角edit-add进行添加,新增成员点D添加,成员名字按N改,类型按D切换db、dw、dd,如果是数组类型右键选择array修改长度即可,如果类型是结构体那么ALT+Q可以选择当前识别的结构体。

20、源代码里面引用结构体,有两种情况。一种是全局变量,双击后跳转到IDA识别全局变量的类型,ALT+Q即可修改,名字按N修改。(找MOV后面带全局变量的)

还有一种是局部变量,按T可以引用结构体。

21、注释有三种方式,一是按分号键,任何跳进来的人都会显示副本;

二是按shift+分号,就不会有副本;

三是函数注释,选择函数按分号,可以注释函数返回类型函数名参数等,会在函数上方显示

22、交叉引用,函数或者全局变量被其他哪里引用了,view-open subviews-cross references,或者按X可以列出所有

23、ALT+A打开ASCII string style窗口,点击set default encodings 在弹出框中选择8-bit的change 选择utf-8后点击ok回到c语言界面按f5刷新一下界面,乱码问题解决

24、c语言切换数据显示格式,H可以将其他格式转换回数字,R将常量转型为‘A’格式

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值