汇编学习笔记:对抗反汇编实验2019092801
汇编学习笔记:对抗反汇编实验2019092801
- 实验描述
- 实验环境
- 实验过程
- 实验结论
实验描述
使用相连的jz和jnz指令跳转到紧接着jnz指令的call指令的第二个字节。call指令实际上无效。验证ida在反汇编时会识别出call指令。
实验环境
操作系统:windows 7(安装于virtualbox中的虚拟机)
代码编辑器:sublime text 3
编译器:masm32
调试、反汇编工具:ollydbg,ida pro 6.8
实验过程
实验用的汇编代码如下(其中e8h即为call指令的机器码):
使用masm32编译器进行编译、链接:
使用ollydbg调试编译所得的可执行文件,发现od将伪call指令识别位字节数据e8h,也即od不受此迷惑:
使用ida进行反汇编,可看到ida将紧随jnz指令的数据反汇编为call指令,call的操作数被标为红色:
在ida中使用d键将00401004h的位置显示为字节数据,再用c键将跳转目标位置的数据解析为汇编指令:
实验结论
虽然实验中使用的这种对抗反汇编方法会让ida误解析(od则不会),但好在ida用特异颜色在有疑问处做了标记(为什么e8h后面的双字数据会被标红,原因还待解),可以依次判断反汇编代码存在的问题。
汇编学习笔记:对抗反汇编实验2019092801相关推荐
- STM32学习笔记:按键实验
STM32学习笔记:按键实验 一.所使用的函数 1.时钟使能函数 RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState New ...
- 汇编学习笔记——汇编指令
目录 汇编指令 nop指令 mov.add.sub指令 adc.sbb指令 and.or指令 移位指令 逻辑左/右移指令 循环左/右移指令 算术左/右移指令 带进位循环左/右移指令 inc指令 pus ...
- 汇编学习笔记——伪指令
目录 伪指令 段定义 结束标记 段关联标记 数据定义 标号 offset指令 seg指令 地址标号 数据标号 代码分段 程序标识 多文件系统 字符输入 重复定义 注释 重复汇编伪指令 伪指令汇总 伪指 ...
- 寄存器---汇编学习笔记
第二章 寄存器 2.0 寄存器的绪论 一个典型的CPU由运算器.控制器.寄存器(CPU工作原理)等器件构成.内部总线实现 CPU 内部各个器件之间的联系,外部总线实现CPU和主板其他器件的联系. 在C ...
- GNU C内嵌汇编学习笔记
前文所述,只是针对汇编格式的整理,本文将使用coreboot项目代码对其进行实例化.以方便.清晰了解到如何在C语言里使用内嵌汇编的方法.同样地,网络上也有众多文章涉及到这方面,所以本文更多是归纳总结. ...
- 使用BIOS进行键盘输入和磁盘读写---汇编学习笔记
汇编笔记 使用BIOS进行键盘输入和磁盘读写 17.1 int 9中断例程对键盘输入的处理 17.2 使用int 16h中断例程读取键盘缓冲区 17.3 字符串的输入 17.4 应用int 13h中断 ...
- 第一个程序---汇编学习笔记
第四章 第一个程序 4.1 一个源程序从写出到执行的过程 一个汇编语言程序从写到最终执行的简要过程. 编写汇编源程序 对源程序进行编译连接 执行可执行文件中的程序 如图所示: 4.2 源程序 程序代码 ...
- 寄存器(内存访问)---汇编学习笔记
寄存器(内存访问) 序言 第二章,我们主要从CPU如何执行指令的角度讲解了8086CPU的逻辑结构.形成物理地址的方法.相关的寄存器以及一些指令. 这一章,我们从访问内存的角度继续学习几个寄存器. 3 ...
- linux中reap用法,ATT汇编学习笔记(一)
file命令使用介绍 file最常用的场景就是用来查看可执行文件的运行环境,是arm呢,还是x86呢,还是mips呢?一看便知$ file a.out a.out: ELF 64-bit LSB ex ...
最新文章
- 中国顶级 AI 研究者数量仅为美国 1/5:美国智库最新全球 AI 实力报告
- 微软亚洲研究院周明:从语言智能到代码智能
- 关于Task类处理多线程简单示例
- jcifs java_Java 使用JCIFS访问网络文件共享的工具类
- 02-c#基础之01-基础语法(一)
- 6年级下册计算机教案,六年级下册信息技术教案 (6).doc
- 成都Uber优步司机奖励政策(3月31日)
- 3个概念,入门 Vue 组件开发
- 如何在macOS Big Sur系统中隐藏菜单栏?
- Ubuntu平台采用Qemu搭建ARM虚拟机环境
- Red5流媒体服务器的搭建
- Photoshop插件--创建暗调通道--脚本开发--PS插件
- 阿里云盘——新的屠龙勇士?
- 阿里电话面试(算法工程师)
- insert append需要注意的一个小问题
- 1. Emacs使用本地elpa镜像
- 一些电脑使用的技巧和软件分享(电脑初学者必备)
- [ACTF2020 新生赛]Exec1命令注入
- leetcode阶段总结——分割字符串类型
- 改后缀名不能导致图片格式的转换,以.png后缀名的图片不一定是png图片
热门文章
- 三星s9更新android9.0,国行三星Galaxy S9系列更新Android 9.0 界面更漂亮
- vue 通过银行卡号查询银行类型和银行卡类型
- (数据库-MySQL)修改表——添加列、修改列、删除列(名)
- 顾问个人成长的体会与建议
- 设计模式-6大设计原则
- fp-growth理解及应用
- android和web扫描枪开发
- [c++]随机生成四个数字,计算24点,并输出算式
- 【入侵检测】5.27quiz
- 三年级下拼音输入计算机课件,拼音输入法(三年级下册信息技术)ppt课件