IDA Pro > IDA Pro教程 > 技术问题 > IDA pro将操作数转换为偏移量(用户定义的基数)(Convert operand to offset (user-defined base))

IDA pro将操作数转换为偏移量(用户定义的基数)(Convert operand to offset (user-defined base))

发布时间:2023-04-25 14: 52: 34

 Action    name: OpUserOffset

This command converts the immediate operand of the current instruction/data to a complex offset expression.
Please click here to learn more about complex offsets.

If a range is selected using the anchor, IDA will perform 'en masse' conversion. It will convert immediate operands of all instructions in the selected range to offsets. However, IDA will ask you first the lower and upper limits of immediate operand value. If the an operand value is >= lower limit and <= upper limit then the operand will be converted to offset, otherwise it will be left unmodified.

If the cursor is on the first operand (the cursor is before ',') then the first operand will be affected; otherwise, all other operands will be affected.

If the offset base is specified as 0xFFFFFFFF, then IDA will create "an automatic offset". Automatic offsets mean that the actual value of the base will be calculated by IDA.

The following offset attributes are available:

 Treat the base address as a plain number
       if checked, IDA will treat the base address as a number.
       In this case, IDA will not create a cross-reference to it
       and the base address will be printed as a number,
       not as an offset expression.
 Offset points past the main object
       Offsets of this type point past an object end.
       They do not cause an object created/deletion.
 Use image base as offset base
       These offsets are based on the image base.
       There is no need to explicitly specify the offset base.
       These offsets are displayed in a concise form:
         rva func
       instead of
         offset func - imagebase
       If you intend to reassemble the output file, execute the
       following IDC statement:
       set_inf_attr(INF_GENFLAGS, get_inf_attr(INF_GENFLAGS) & ~INFFL_ALLASM);
 Subtract operand value
       Use this option when the operand value should be substracted
       from the base to get the target address. In this case the displayed
       expression will be displayed as
         offset base - target
       instead of the usual
         offset target - base
 Signed operand
       Use this option if the operand should be interpreted
       as a signed value. This option is only available for OFF_REF8,
       OFF_REF16, OFF_REF32 and OFF_REF64 offset types.
 Operand value of 0 is invalid
       If the operand value is 0, the value will be highlighted in red.
 Operand value of NOT 0 is invalid
       If the operand value is zero's complement (i.e. all bits are set),
       the value will be highlighted in red.
       For example a OFF_REF16 with an operand value of 0xFFFF would be invalid.
 Use the current address as the offset base
       The offset base is dynamically calculated and is equal to the address of
       the current element:
         - for standalone items: their start address
         - for arrays: the start of the array element
         - for structures: the start of the structure field
       The offset expression is displayed in the following concise form:
         offset target - $
       where "$" denotes the start of the element (and is assembler-dependent).

To create offsets to structure members use Convert to struct offset command.
See also:

         offset by data segment/no
         offset by current segment
         Edit|Operand types|Offset submenu.
         Enter #th operand manually commands.
         Set operand type
 

中文翻译:

操作名称:OpAnyOffset
此命令将当前指令/数据的立即数操作数转换为任意段的偏移量。

IDA将要求为偏移量选择一个基段。

如果使用锚点选择了一个范围,IDA将执行“整体”转换。它将把所
选范围内的所有指令的立即数转换为偏移。然而,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 Pro是一款常用的反汇编和反编译工具,可以帮助我们分析二进制文件的实现细节和执行过程,以便更好地理解程序的执行过程和逻辑。在进行逆向工程的过程中,我们经常需要将反汇编结果转换为伪代码,以便更好地进行分析和修改。本文将介绍如何使用IDA Pro转换为伪代码,并简单讲解ida伪代码怎么看。
2023-04-14
ida怎么查找字符串 ida字符串窗口快捷键
在数字化时代,逆向工程作为解密软件和分析程序的关键技术,正日益受到广泛关注。在逆向分析的过程中,IDA(Interactive DisAssembler)是一款备受推崇的工具,它为逆向工程师们提供了强大的功能和灵活的操作。本文将带您深入探讨如何在IDA中查找字符串,优化字符串窗口的使用,并探讨IDA如何将变量转换成字符串,帮助您更加熟练地驾驭这一工具,为逆向分析的世界增添一抹精彩。
2023-09-27
最新文章
IDA Pro中怎么添加注释和标记 还有哪些技巧可以提高代码的可读性
在反汇编与逆向工程的过程中,IDA Pro中怎么添加注释和标记 还有哪些技巧可以提高代码的可读性,是每个使用者都会遇到的关键问题。IDA Pro作为功能强大的反汇编工具,帮助我们分析程序、理解其工作原理。而在反汇编过程中,如何高效地注释、标记代码,提升代码可读性,显得尤为重要。今天,我们就来探讨一下,如何在IDA Pro中处理这些问题,并且分享一些提高代码可读性的技巧,帮助你在逆向分析过程中更加得心应手。
2025-01-10
IDA PRO floating版安装和连接许可服务器教程
Floating版IDA PRO安装后不需要导入许可文件,也没有专门的客户端许可文件。安装后打开软件连接 License Server获取许可,也可以借出许可脱离License Server使用。
2025-01-08
安装Lumina服务器和导入许可指南
安装Lumina服务器和导入许可指南
2025-01-08
安装Teams Server和导入许可指南
安装Teams Server和导入许可指南
2025-01-08
安装License Server和导入许可指南
安装License Server和导入许可指南
2025-01-08
IDA Pro Portal 许可和程序下载安装指南
Hex-rays IDA 现采用全新的Portal帐户中心交付方式,用户购买后登录Hex-rays Portal 获取许可和程序,不再邮件发送许可文件和程序。
2025-01-07

通过微信咨询我们

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

读者也喜欢这些内容: