汇编语言+IDA安装问题解决汇总

2023-11-15

利用汇编语言计算机和人类链接更为便捷如下图所示:
在这里插入图片描述

寄存器:
简单讲就是CPU可以存储数据的器件,一个CPU可以有多个寄存器。AX、BX是两个不同的寄存器。

16位处理器有14个寄存器:AX、BX、CX、DX、SI、DI、SP、BP、IP、CS、SS、DS、ES、PSW。

32位处理器有16个寄存器:EAX、EBX、ECX、EDX、ESI、EDI、EBP、ESP、EIP、ES、CS、SS、DS、FS、GS、EFLAGS。

64位处理器有15个寄存器:RAX、RBX、RCX、RDX、RSI、RDI、RBP、RSP、R8、R9、R10、R11、R12、R13、R14、R15

寄存器的作用

  • 可以用来读写数据到电脑的周边设备
  • 可将寄存器内的数据执行算术及逻辑运算
  • 存于寄存器内的地址可用来指向内存的某个位置,即寻址

数学运算的汇编指令 mov、add、sub、xor

汇编指令 控制CPU完成的操作 用高级语言的语法描述
mov ax ,18 将18送入寄存器AX AX=18
mov ah ,78 将18送入寄存器AH AH=78
mov ax ,bx 将寄存器BX中的数据送入寄存器AX AX=BX+18
add ax ,8 将寄存器AX中的数值加上8 AX=AX+8
sub ax ,18 将寄存器AX中的数值减去18 AX=AX-18
xor ax ,18 将寄存器AX中的数值与18异或 AX=AX^18
函数跳转指令
  1. 无条件转移指令 (长转移)
    JMP-- 无条件转移指令
    CALL-- 过程调用
    RET/RETF-- 过程返回.
  2. 条件转移指令-- (短转移,-128到+127的距离内)( 当且仅当(SF XOR OF)=1时,OP1<OP2 )
    JA/JNBE – 不小于或不等于时转移.
    JAE/JNB – 大于或等于转移.
    JB/JNAE – 小于转移.
    JBE/JNA – 小于或等于转移.
    以上四条,测试无符号整数运算的结果(标志C和Z).
    JG/JNLE --大于转移.
    JGE/JNL --大于或等于转移.
    JL/JNGE --小于转移.
    JLE/JNG – 小于或等于转移.
    以上四条,测试带符号整数运算的结果(标志S,O和Z).
    JE/JZ --等于转移.
    JNE/JNZ – 不等于时转移.
    JC – 有进位时转移.
    JNC – 无进位时转移.
    JNO – 不溢出时转移.
    JNP/JPO – 奇偶性为奇数时转移.
    JNS --符号位为 “0” 时转移.
    JO – 溢出转移.
    JP/JPE – 奇偶性为偶数时转移.
    JS – 符号位为 “1” 时转移.
  3. 循环控制指令(短转移)
    LOOP – CX不为零时循环.
    LOOPE/LOOPZ – CX不为零且标志Z=1时循环.
    LOOPNE/LOOPNZ – CX不为零且标志Z=0时循环.
    JCXZ – CX为零时转移.
    JECXZ – ECX为零时转移.
  4. 中断指令
    INT – 中断指令
    INTO – 溢出中断
    IRET – 中断返回
  5. 处理器控制指令
    HLT — 处理器暂停, 直到出现中断或复位信号才继续.
    WAIT --当芯片引线TEST为高电平时使CPU进入等待状态.
    ESC – 转换到外处理器.
    LOCK — 封锁总线.
    NOP – 空操作.
    STC --置进位标志位.
    CLC --清进位标志位.
    CMC – 进位标志取反.
    STD --置方向标志位.
    CLD – 清方向标志位.
    STI --置中断允许位.
    CLI --清中断允许位.

IDA安装问题解决汇总:
1、打开的时候出现:Oops! internal error 40343 occured.
Further work is not possible and IDA will close.
Would you like to create a crash dump for a bug report?

在这里插入图片描述仔细检查一下安装路径,必要要求:安装路径下不能出现汉字。重装一下即可

2、另一个是按F5查看代码的时候总是出现错误或者不能使用的: 仔细看下文件,好多文件需要32位的IDA打开才能正常使用,可以用kali 输入命令file + 文件名查看文件位数。
但有的不是这种问题,可以试一下如下解决方法:

在这里插入图片描述
在这里插入图片描述圈着的Stack pointer 前边勾选即可。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

汇编语言+IDA安装问题解决汇总 的相关文章

  • 汇编基础(1)--ARM32

    简介 ARM32 也称为ARM Architecture v7 是一种32位的指令集架构 ISA 由ARM公司开发并广泛应用于嵌入式系统和移动设备 ARM32是ARM体系结构中较早的版本 被许多处理器核使用 包括Cortex A Corte
  • 函数调用约定(整理稿)

    函数调用约定 整理稿 Function calling convention 在C语言中 假设我们有这样的一个函数 int function int a int b 调用时只要用result function 1 2 这样的方式就可以使用这
  • 安天逆向教程——常用汇编语句

    一 汇编基础 二 条件分支 反汇编时更多关注这些条件分支 如果看懂这些条件分支 会对程序的大体逻辑有一个整体的了解 至于程序里面的细节 有时会省略掉 往往关键的跳转理解了甚至进行一点点的改动 就会使得程序发生翻天覆地的变化 三 栈和函数调用
  • 王爽汇编语言课程设计1

    一 实验要求 在屏幕输出实验七中的数据 二 设计思路 1 将实验七的程序编写成一个子过程finishing 在主程序中调用 可以获得实验七种指定格式的table段数据 设置es bx指向table段中第一行 2 创建一个数据缓存区buffe
  • xorl %eax, %eax

    这是GNU的汇编 xorl eax eax 这句起什么作用 按位异或 相同的位置为0 不同的位置为1 eax和eax的每一位都相同 所以相当于清零 movl 8 ebp ecx testl ecx ecx 这句起什么作用 jle L3 8
  • 【编译原理】课程一:编译原理入门

    目录 1 为什么要学习编译原理 2 什么是编译原理 3 编译与计算机程序设计语言的关系 3 1 程序设计语言的转换方式 3 2 编译的转换过程 3 3 编译器在语言处理系统中的位置 3 4 编译系统的结构 3 4 1 词法分析 扫描 3 4
  • 函数的引用返回

    引用是给变量取一个别名 所以引用传递会直接进行变量本身的传递 它的最大好处是可以把别处对变量的改变保留下来 第二好处是它提高了性能 如果函数的返回值是一个引用 那么 如上文所说 它会节约一组构造 赋值和析构过程 但是 函数返回引用往往会带来
  • 链接、装载与库——编译与链接

    从第二章开始不再按照目录的顺序总结 而是将大块知识点总结在一起 第二章 编译和链接 集成开发环境 IDE 一般都将编译和链接的过程一步完成 此过程成为构建 Bulid 但其掩盖了系统软件运行机制 gcc hello c a out 一个可执
  • windgb调试

    reference http hi baidu com lewutian blog item 191047882b9c399fa5c27261 html 调试前的必备工作 在开始调试前首先要做的工作是设置好符号 Symbols 路径 没有符
  • ARM中的程序状态寄存器(CPSR)

    31 30 29 28 27 8 7 6 5 4 3 2 1 0 N Z C V 保留 I F T M4 M3 M2 M1 M0 N Negative Less Than I IRQ disable Z Zero F FIQ disable
  • 汇编小作业(3) 十进制数的平方根

    用子程序结构编程 从键盘输入一个十进制数 对其开平方后分别将其平方根和余数以十进制数的形式显示 DATA SEGMENT SUM DW 2 DUP BUF DB 7 DUP DATA ENDS stack segment 定义栈段 保存di
  • 汇编——寄存器的分类和功能

    在汇编中 个人感觉最重要的部分其实就是寄存器了 这次我们了解一下寄存器的分类和功能 先说一下寄存器是什么吧 其实就是一部分的空间 我们可以使用这些空间来存储内容 寄存器的空间都是16位的 80x86中 后来有增长 也就是1个字的空间 堆栈则
  • IDM 6.4.1逆向分析笔记

    环境准备 安装过程不做说明 1 x64dbg 官网地址 https x64dbg com 2 火绒剑 官网地址 https www huorong cn SPY 下载地址 https github com westoncampbell Sp
  • dosbox+masm汇编环境的安装和使用 + dosbox进行debug调试教程

    1 dosbox masm汇编环境的安装和使用 https blog csdn net yuzuruhanyu article details 80287419 2 dosbox进行debug调试教程 https blog csdn net
  • 汇编宏伪指令介绍

    1 汇编宏伪指令介绍 macro macname macargs endm 1 macro 和 endm 表示宏定义的开始和结束 2 macro 后面接着宏定义的名字 然后是参数 参数后面的宏定义的实现 3 在宏定义中使用参数 需要添加前缀
  • 机器语言->汇编语言->高级语言

    在硬件层面来看 计算机的运行就是高底电压的变化 这种高低电压的变化在早期是通过开关或插拔电线来控制的 计算机中用0和1来表示低电压和高电压 这些0和1的序列就可以控制计算机CPU进行各种动作 一组一组的0 1序列就是一个一个的指令 这些指令
  • 8259初始化命令字(ICW1-ICW4)

    8259A的中断操作功能很强 包括中断的请求 屏蔽 排队 结束 级联以及提供中断类型号和查询等操作 并且其操作的方式又有不同 它既能实现向量中断 又能进行中断查询 它可以用于16位机 也可用于8位机 因此 使用起来感到复杂且不好掌握 为此
  • 汇编语言11之中断和int指令以及端口

    中断第处理外部突发事件的一个重要技术 硬件中断 外部中断 一般是外设发出的中断 内部中断 硬件出错或运算出错引起的中断 不可被屏蔽 软件中断 中断处理程序 CPU必须建立中断信息和中断处理程序之间的联系 中断信息中包含 1byte 中断类型
  • C语言深入学习--checklist4:宏、枚举、switch

    宏 1 宏的本质是什么 函数 语句 类型定义 或者其它 预编译器的文本替换 1 你知道语言设计者为什么设计宏吗 这些原因目前是否成立 在 C程序中 可以用宏代码提高执行效率 宏代码本身不是函数 但使用起来象函数 预处理器用复制宏代码的方式代
  • 【go语言】AST抽象语法树详解&实践之扫描代码生成错误码文档

    背景 为了能识别出代码中抛出错误码的地址和具体的错误码值 再根据错误码文件获取到错误码的具体值和注释 方便后续的排错 这里使用AST进行语法分析获取到代码中的目标对象 一 编译过程 在开始解析代码之前先补充了解一下编译过程 编译过程是将高级

随机推荐

  • 判断是否为数字的两种办法

    今天在写angular的ts中碰到一个问题 就是需要判断用户id是否是number类型还是uuid 在这里我采用了两种办法 1 使用typeof 判断是什么类型 if typeof res userInfo id number alert
  • sar 命令

    NAME sar Collect report or save system activity information SYNOPSIS sar A b B C d h i interval m p q r R S t u ALL v V
  • 2.2 SSD之地址映射

    LBA Logical Block Address 表示用户操作 读写 数据的位置 PBA Physics Block Address 表示数据在硬盘的真实位置 在HDD时代 数据可以覆盖写 LBA和PBA直接对应不会更改 但是SSD时代
  • leetcode-453. 最小操作次数使数组元素相等-js

    题目 代码 关键 每次操作使 n 1 个元素增加 1 相当于使1个元素减小 1 所以算出每个元素减小到最小元素的次数即可 var minMoves function nums const minNum Math min nums retur
  • BootStrap-table 复选框默认选中(checkbox)

    BootStrap table 复选框默认选中 checkbox bootstrap table colums 写法 var columns field checked checkbox true formatter stateFormat
  • 基于深度学习的人脸识别综述

    本文转载自 https xraft github io 2018 03 21 FaceRecognition 作者 Caleb Ge 葛政 如有侵权请告知删除 下文中的 我 均为原文作者 另附有查找的其他参考链接 论文介绍方面链接 1 ht
  • 第三章-Python中的数据类型

    欢迎来到python的世界 博客主页 卿云阁 欢迎关注 点赞 收藏 留言 本文由卿云阁原创 本阶段属于练气阶段 希望各位仙友顺利完成突破 首发时间 2021年3月14日 希望可以和大家一起完成进阶之路 作者水平很有限 如果发现错误 请留言轰
  • ubuntu下编译问题集锦

    1 DSO missing from command line 一般是库链接顺序不对 将依赖于其他库的lib放在前面 库放在后面就行 2 fatal error ceres ceres h No such file or directory
  • CTF中那些脑洞大开的编码和加密

    0x00 前言 正文开始之前先闲扯几句吧 玩CTF的小伙伴也许会遇到类似这样的问题 表哥 你知道这是什么加密吗 其实CTF中脑洞密码题 非现代加密方式 一般都是各种古典密码的变形 一般出题者会对密文进行一些处理 但是会给留一些线索 所以写此
  • vant使用时覆盖默认样式

    在我们使用vant的时候 有时候一些组件的默认样式并不能满足我们项目的需求 这个时候我们可以使用下面的办法 覆盖掉默认样式 亲测有效 vant覆盖默认样式的写法 v deep van cell not last child after le
  • transform的scale属性实现对大屏的适配

    最近公司做的大屏用到了transform的scale属性来对大屏网页 进行缩放 缺点 需要给项目大屏 设定固定的宽高 当使用的屏幕分辨率和项目不一致时 会出现左右或者上下的留白 如果设计稿是1920 1080的尺寸 项目中用px来写宽高的话
  • QT 自学内容 day06 文件的打开,读取,写入,输出内容的时候编码方式的修改,文件的创建日期,和最后的修改时间

    1 打开文件 头文件 include
  • 在图像间进行特征匹配

    特征匹配 目标 我们将要学习在图像间进行特征匹配 使用 OpenCV 中的蛮力 Brute Force 匹配和 FLANN 匹配 Brute Force 匹配的基础 蛮力匹配器是很简单的 首先在第一幅图像中选取一个关键点然后依次与第二幅图像
  • python自(2)切片 字典 遍历删除添加修改查询定义函数函数返回值作用域序列化异常报错urllib使用一个类型六个方法下载 视频音频图片

    切片 切片 s hello word 下标索引为0的 print s 0 h 左闭右开 左是下标开始的 右是几个索引值 例如从0开始算 4个索引值 print s 0 4 hell 更改起始值的开始位置 print s 1 ello wor
  • 产品经理的思考-概括

    思考 断断续续从技术转产品已经两年时间 从2021年的按部就班 到2022年的兵荒马乱 从技术到产品会有优势 但也有自身的枷锁 如何发挥优势 跳出枷锁 是一个不断思考和突破的过程 比较转岗会有蜜月期 但是漫长的痛苦才是现实 从技术到产品是需
  • 再谈Qt实现Rasdial拨号问题(说说项目中遇到的问题和解决方案)

    上一篇 Qt实现Rasdial宽带拨号 讲解了下最简单的宽带拨号方式 但是在实际项目开发中 发现 这种做法是不好的 效率低 有时拨号失败 而且上一回 我们是采用异步拨号来实现 这个做法是不行的 我们需要实现同步拨号 那么我们应该借助api函
  • unity3d读取Excel小白教程

    1 课前准备准备三个文件 Excel dll ICSharpCode SharpZipLib dll System Data dll 如图 下载地址 链接 https pan baidu com s 1B2Sue9iw4qWzwjb1uJ6
  • vue3中使用vueQuill富文本编辑器详细教程,图片上传-图片压缩

    vueQuill是支持vue3的富文本编辑器组件 使用简单方便 官方网址 https vueup github io vue quill 效果图 1 安装 在官网有详细的安装教程 npm或者yran下载 npm install vueup
  • OSPF学习总结

    对于OSPF的学习重点总结 一个DR 三个表 五种包 七种状态 路径寻优 实时更新 OSPF介绍 一种链路状态和内部网关协议 所谓链路状态就是指 链路上的路由器与哪些路由器相邻以及它们之间的距离 度量值 是多少 来确定一条最短路径 内部网关
  • 汇编语言+IDA安装问题解决汇总

    利用汇编语言计算机和人类链接更为便捷如下图所示 寄存器 简单讲就是CPU可以存储数据的器件 一个CPU可以有多个寄存器 AX BX是两个不同的寄存器 16位处理器有14个寄存器 AX BX CX DX SI DI SP BP IP CS S