IDA Pro > IDA Pro教程 > 技术问题 > IDA Pro更改句段翻译(Change segment translation)

IDA Pro更改句段翻译(Change segment translation)

发布时间:2023-04-23 15: 32: 56

Action name:SegmentTranslation

A segment translation is a sequence of other segments to use when resolving the references to instructions from the current segment.Only code references are affected by the segment translation.Data references can be redirected to the desired addresses by modifying the data segment register.

This feature is available only for selected processors(it is not available for IBM PC processors).

We hope it is easier to give an example than to give a formal definition.Suppose we have 3 segments:

start end

A 0000 1000

B 1000 2000

C 3000 4000

The instruction

call 1000

in the segment C obviously refers to the segment B while the instruction

call 500

refers to the segment A.

However,IDA does not try to link these references unless you tell it to do so:include the segments A and B into a translation list of the segment C.It means that you have to create a translation list

A B

for the segment C.

Below is a more complicated example:

start end

A 0000 1000

B 1000 2000

C 1000 2000

D 3000 4000

E 3000 4000

translations

B:A

C:A

D:A B

E:A C

allow you to emulate overlays(the first set is A B D,the second A C E)

IMPORTANT NOTE1:If you use the segment translations,make sure that all segments have unique segment bases.If two segments are placed in the linear address space so that they must have the same segment base,you may assign different selectors with equal values to them.

IMPORTANT NOTE2:IDA supports only one translation list per segment.This translation is applied by default to all instruction in the segment.If the segment uses other mappings,then these individual mappings can be specified for each instruction separately by using the make offset commands.

IMPORTANT NOTE3:Since only code references are affected by the segment translations,try to create the RAM segment at its usual place(i.e.its linear address in IDA corresponds to its address in the processor memory).This will make all data references to it to be correct without any segment translation.For the data references to other segments you'll need to use the make offset command for each such reference.

以下为中文翻译:

name:SegmentTranslation

段翻译是在解析对当前段中指令的引用时使用的一系列其他段。只有代码引用受段翻译的影响。通过修改数据段寄存器,可以将数据引用重定向到所需的地址。

此功能仅适用于选定的处理器(不适用于IBM PC处理器)。

我们希望举个例子比给出正式定义更容易。

假设我们有3个段:起始端

A 0000 1000 

B 1000 2000 

C 30004000

段C中的

指令调用1000显然是指段B,而指令调用500是指段A,IDA不会试图链接这些引用,除非你告诉它这样做:将段A和B包含到段C的翻译列表中。这意味着你必须为段C创建一个翻译列表A B。

下面是一个更复杂的例子:起始端A 0000 1000 B 1000 2000 C 1000 2000 D 3000 4000E 3000 4000

翻译

B:A 

C:A 

D:A B 

E:A

Callow you to simulate overlay(第一组是A B D,第二组是A C E)

重要提示1:如果使用分段翻译,请确保所有

分段都有唯一的分段基础。如果两个段被放置在线性地址空间中,因此它们必须具有相同的段基,则可以为它们分配具有相等值的不同选择器。

重要注意2:IDA每个段仅支持一个转换列表。默认情况下,此转换应用于段中的所有指令。如果段使用其他映射,那么这些单独的映射可以通过使用make offset命令分别为每条指令指定。

重要提示3:由于只有代码引用受到段转换的影响,尝试在其通常的位置创建RAM段(即IDA中的线性地址与处理器内存中的地址相对应)。这将使对它的所有数据引用都是正确的,而无需任何段转换。

对于对其他段的数据引用,您需要对每个这样的引用使用make offset命令。

展开阅读全文

标签:IDA反编译软件

读者也访问过这里:
邀请您进入交流群 点击扫码
400-8765-888 kefu@makeding.com

专业销售为您服务

欢迎添加好友,了解更多IDA优惠信息,领逆向工程学习资料礼包1份!
热门文章
exe反编译工具哪个好?反编译能力强的工具盘点
随着软件技术的发展,exe(可执行文件)已经成为了电脑、手机等多个平台上的主要软件运行格式,而对于exe文件的反编译也成为了逆向工程中不可缺少的一个步骤。本文将介绍一些常用的exe反编译工具,并评价其优缺点,帮助读者选择合适的工具。
2023-04-12
idapro怎么改为中文
IDA Pro是一款功能强大的反汇编和反编译工具,广泛应用于逆向工程和软件开发领域。在使用IDA Pro时,如果我们不习惯英文界面,可以将其改为中文界面。本文将介绍IDA Pro怎么改为中文界面。IDA Pro界面改成中文主要有两种方法,下面是详细介绍。
2023-04-19
c++反编译工具有哪些
反编译C++代码的工具一般是针对可执行文件和库文件的反汇编和逆向分析工具。本文将给大家介绍c++反编译工具有哪些的内容。市面说的c++反编译工具有很多,下面介绍几款使用认识较多的软件。
2023-04-23
ida怎么查找字符串 ida字符串窗口快捷键
在数字化时代,逆向工程作为解密软件和分析程序的关键技术,正日益受到广泛关注。在逆向分析的过程中,IDA(Interactive DisAssembler)是一款备受推崇的工具,它为逆向工程师们提供了强大的功能和灵活的操作。本文将带您深入探讨如何在IDA中查找字符串,优化字符串窗口的使用,并探讨IDA如何将变量转换成字符串,帮助您更加熟练地驾驭这一工具,为逆向分析的世界增添一抹精彩。
2023-09-27
ida如何转伪代码 ida伪代码怎么看
IDA Pro是一款常用的反汇编和反编译工具,可以帮助我们分析二进制文件的实现细节和执行过程,以便更好地理解程序的执行过程和逻辑。在进行逆向工程的过程中,我们经常需要将反汇编结果转换为伪代码,以便更好地进行分析和修改。本文将介绍如何使用IDA Pro转换为伪代码,并简单讲解ida伪代码怎么看。
2023-04-14
最新文章
IDA逆向QT控件的获取方法 IDA逆向编译boot.img
在逆向工程的实际操作中,面对QT界面程序和Android系统中的boot.img文件,分析手段与工具的专业化程度决定了解析效率。IDA Pro作为行业常用的反汇编平台,能通过静态和动态手段快速捕捉程序结构,定位控件创建逻辑或内核加载过程。本篇文章将围绕“IDA逆向QT控件的获取方法,IDA逆向编译boot.img”为核心展开细节讲解,从QT界面逻辑提取、boot.img反汇编流程到扩展技巧,以便真正解决使用IDA Pro进行高效逆向的实际问题。
2025-07-28
IDA怎么变成伪代码 IDA伪代码插件怎么用
在逆向分析过程中,阅读原始汇编指令对大多数分析人员而言既耗时又容易出错。为了更直观理解程序逻辑,IDA Pro提供了将二进制代码转换为伪C代码的功能,辅以伪代码插件的使用,可以极大提升阅读效率和逻辑理解能力。围绕“IDA怎么变成伪代码,IDA伪代码插件怎么用”,本文将详细介绍IDA Pro伪代码生成的步骤、插件配置方法实用技巧,帮助用户从基本功能到高级使用实现高效逆向分析。
2025-07-28
IDA动态调试的使用方法 IDA动态调试后自动更新变量名
在分析复杂程序时,仅靠静态反汇编往往无法看到完整的运行逻辑,尤其是加壳、动态调用、异或加密等场景。此时,借助IDA Pro的动态调试功能,可以实时捕捉程序执行流程,监控变量值和调用栈变化,大大提高分析准确性。更进一步,IDA Pro还支持调试过程中自动更新变量名和函数名,提高代码可读性。本文围绕“IDA动态调试的使用方法IDA动态调试后自动更新变量名”进行详解,帮助你从基础操作入手,深入掌握IDA的高级用法。
2025-07-28
IDA怎么修改汇编指令 IDA修改汇编代码快捷键
在使用IDA Pro进行二进制逆向分析时,经常需要对反汇编得到的代码进行调整和编辑,例如修正误识别的指令、插入特定的跳转逻辑、或清除垃圾代码结构。由于IDA Pro本身具有强大的交互式反汇编能力,因此“IDA怎么修改汇编指令,IDA修改汇编代码快捷键”成为用户搜索频率较高的实操问题。本文将围绕这个话题,从修改步骤到操作技巧全面展开,帮助用户高效掌控IDA Pro的编辑能力。
2025-07-28
IDA Pro反汇编出现一大堆函数如何优化 IDA Pro的反汇编性能
在使用IDA Pro对可执行文件进行静态分析时,经常会遇到“函数爆炸”——IDA Pro自动识别出大量函数,而其中很多其实并不是真正的代码入口。这些伪函数不仅影响阅读效率,还严重拖慢IDA Pro的分析性能。要搞清楚“IDA Pro反汇编出现一大堆函数如何优化IDA Pro的反汇编性能”,就必须深入理解IDA的工作机制,并对常见问题有针对性地进行处理。
2025-07-28
IDA Pro调试过程中查看基址 IDA Pro调试多线程的解决方法
在逆向分析和漏洞挖掘的过程中,IDA Pro作为业界广泛使用的静态与动态分析工具,承担着极为关键的角色。尤其在调试环境中,程序基址的准确获取与线程调度的合理处理,将直接影响整个分析流程的准确性与效率。对于初中级用户而言,“IDA Pro调试过程中查看基址”与“IDA Pro调试多线程的解决方法”常常是易出错、高频卡顿的问题节点。本文将围绕这两个核心环节,进行实操级别的详细解析,并进一步延伸说明IDA Pro如何借助Trace功能还原函数调用路径,以帮助使用者构建完整调试体系,提升静动态结合分析的深度和广度。
2025-07-28

通过微信咨询我们

欢迎添加好友,了解更多IDA优惠信息,领取逆向工程学习资料礼包1份!