最近想写一篇关于Intel开机上电执行Reset Vector指令的文章,遂提取了公司笔记本芯片上的Bootloader,并用UEFITool提取其中BootBlock部分(Reset Vector位于BootBlock内部):

[图1,UEFITool加载提取的Bios image]

[图2,从Bios Image中提取BootBlock]

BootBlock的任务之一是将CPU从实模式切换到保护模式(16Bit Mode切换到32Bit Mode)。因此,BootBlock最开始部分是16Bit程序。然而,当我将提取的BootBlock拖进IDA Pro后发现,IDA Pro竟然将.text段解析为32Bit程序:

[图3,从IDA加载SecCore.bin]

和EDKII project中SecCore模块的源码(IntelFsp2WrapperPkg\Library\SecFspWrapperPlatformSecLibSample\Ia32\SecEntry.nasm)对比,感觉IDA将代码变异了:

研究了一下,可能是要将IDA切换到16Bit Mode:

1.IDA Pro--View--"Open subviews"--Segments打开段寄存器:

记下.text段起止地址/Base/Class值

2.IDA Pro--"Edit"--Segments--"Create Segment",在弹出的Create a new segment对话框中,根据前一步记录的Segment的值修改新.text段的值:

3.勾选"Create a new segment"对话框中"16-bit segment"

4.创建新Segment后,".text"段更加不堪入目,此时需要重新分析代码段

5.重新分析代码段:框选需要分析的code--"Analyze seleced are"--在弹出的"Please Confirm"对话框中点击Force按钮.IDA将重新分析代码段,并生成下列代码:

IDA Pro切换到16bit模式,分析BootLoader相关推荐

  1. linux静态反汇编工具,源码恢复反汇编静态分析工具IDA pro

    DataRescue IDA Pro Disassembler and Debugger 是目前最棒的一个静态反编译软件,为众多0day世界的成员和ShellCode安全分析人士不可缺少的利器!IDA ...

  2. CTF逆向-IDA Pro攻防世界Hello CTF

    文章目录 前言 Hello CTF IDA反汇编 Flag值计算 总结 前言 交互式反汇编器专业版(Interactive Disassembler Professional),人们常称其为 IDA ...

  3. 安卓逆向_16 --- ARM 静态分析( 使用 IDA Pro 分析 ARM 汇编【java_ 和 JNI_OnLoad】 )

    菜鸟总结 so 分析,arm 汇编,IDA 静态分析:https://www.52pojie.cn/thread-695063-1-1.html JNI 静态注册 so 和 IDA 导入的 JNI.h ...

  4. IDA Pro ARM指令集和Thumb指令集的切换

    在动态调试android的ndk程序的时候,发现很多程序都会反汇编错误,原来是ARM反汇编的模式没搞对.因为在动态调试的时候,ida Pro并没有去解析elf模块中的一些信息,造成了模块信息丢失,有时 ...

  5. 路由器逆向分析------在Linux上安装IDA Pro

    本文博客地址:http://blog.csdn.net/qq1084283172/article/details/69665905 01.在Linux系统上安装Linux版本的IDA Pro Linu ...

  6. 反汇编分析工具IDA Pro的可视化插件使用方法

    IDA Pro是非常优秀的反汇编工具,今天简单介绍一下其可视化插件qwingraph.exe的使用方法. 当建立一个二进制工程后,选择View--Graphs--Function Calls,会报如图 ...

  7. [系统安全] 三.IDA Pro反汇编工具初识及逆向工程解密实战

    您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列.因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全.逆向分 ...

  8. Android之使用IDA Pro静态分析so文件

    安卓应用程序的开发语言是java,但是由于java层的代码很容易被反编译,而反编译c/c++程序的难度比较大,所以现在很多安卓应用程序的核心部分都使用NDK进行开发.关于NDK的开发知识点,请看这篇博 ...

  9. 计算机病毒实践汇总六:IDA Pro基础

    在尝试学习分析的过程中,判断结论不一定准确,只是一些我自己的思考和探索.敬请批评指正! 1. IDA使用 (1)搜索.下载并执行IDA Pro,对可执行程序lab05-01.dll进行装载,分别以图形 ...

最新文章

  1. Mybatis中的模糊查询
  2. linux io测试陈旭,陈旭方案论证及器件选择.doc
  3. 通过配置文件避免硬编码的一个例子
  4. [导入]Gentoo版Linux操作系统的前世今生 (3)
  5. Android SQLite用法
  6. [ubuntu] ubuntu20.04 卸载 firefox 下载 chrome
  7. Wannafly挑战赛27: C. 蓝魔法师(树形DP)
  8. cad导出pdf_CAD手机看图软件中dwg格式图纸导出为PDF格式后没有颜色怎么办?
  9. java收割者模式,王牌战士收割者怎么玩 海拉技巧玩法介绍
  10. 两群羊和一只狼,两只狮子
  11. 第二十二章 opengl之高级OpenGL(几何着色器)
  12. 沈阳学计算机Excel,沈阳excel培训点
  13. 出生年月日的html语句,出生年月日五行查询表
  14. 苏宁大数据怎么运营_苏宁的数据超市带你认识大数据这个营销利器
  15. 04 数学软件与建模---最优化模型
  16. MFC中,如何获得对话框控件相对于父窗口(对话框窗口)的位置
  17. 武汉工程大学第三届ACM程序设计选拔赛
  18. windows无盘工作站技术
  19. 智慧文旅解决方案-最新全套合集
  20. 达梦数据库DM8之删除归档日志文件

热门文章

  1. 微服务(分布式架构)
  2. 1169:大整数减法
  3. 2018年不可错过的创意404报错设计
  4. 【SQLAlchemy】基于Pycharm完成SQLlchemy实验
  5. 菜市场摆摊转行程序员,被嘲笑.........
  6. 将 .eml 格式的文件批量发送给指定用户
  7. ITC国际资格认证项目简介
  8. 高中毕业,要选专业,有什么好的专业推荐吗?
  9. SpringBoot-Swapper的使用
  10. poj1091跳蚤(容斥定理)