行业解决方案查看所有行业解决方案
IDA 用于解决软件行业的关键问题。
发布时间:2023-05-29 10: 56: 11
This command changes the look of the disassembly.Here you can change the values of the following checkboxes/input fields:
Line prefixes
This checkbox enables or disables line prefixes display.
Line prefix is the address of the current byte:
3000:1000 mov ax,bx
^^^^^^^^^
IDA.CFG parameter:SHOW_LINEPREFIXES
Number of opcode bytes
Opcode bytes are shown below:
3000:1000 55 push bp
^^^^^^^^^
The opcode is the operation code of the current instruction.
For the data items,the opcodes are elements of data directives.
Sometimes there is not enough place to display all bytes of an item
(of a large array,for example).In this case,IDA will display just
the few first bytes of the item.For the code items,IDA will try
to display all bytes of the instruction,even if it requires adding
more lines just for the opcode bytes.If this behavior is not desired,
the number of opcode bytes can be specified as a negative value.
A negative value-N means to display N opcode bytes on a line but
never display empty lines just for the opcode bytes.
By default,IDA does not display the opcodes.
IDA.CFG parameter:OPCODE_BYTES
Use segment names
This option controls the appearance of the segment names in the
addresses.Example(codeseg has base 3000):
Enabled:codeseg:0034
Disabled:3000:0034
IDA.CFG parameter:USE_SEGMENT_NAMES
Segment addresses
Marking this checkbox,you can disable segment addresses in the
disassembly.IDA will show only offsets.Example:
Enabled:codeseg:0034
Disabled:0034
IDA.CFG parameter:SHOW_SEGMENTS
Function offsets
This option controls the appearance of the line prefixes.
If it is enabled,the addresses will be displayed as offsets
from a function beginning.Example:
Enabled:somefunc+0x44
Disabled:cseg:0x4544
Right margin
This option controls the length of disassembly lines for data
directives.
IDA.CFG parameter:MAX_DATALINE_LENGTH
Instruction indention
You can change indention of disassembled instructions:
mov ax,bx
<-------------->
indention
IDA.CFG parameter:INDENTION
Display bad instruction
Some assemblers do not understand some instructions even if they
must.For example,the Z80 processor has several undocumented
instructions and many assemblers fail to recognize them.IDA knows
about this fact and tries to produce an output that can be compiled
without errors,so it replaces such instructions with data bytes.
The problem is more severe with Intel 80x86 processors:the same
instruction can be coded differently.There are 2 operation codes
for ADD instruction,etc.The worst thing is that the different
operation codes have different lengths.If the assembler used to
compile a file and your assembler produce different operation codes,
you may obtain completely different output files.
That is why IDA can mark such instructions as
with data bytes.Example:
Enabled:
db 0Fh,86h,7Eh,0,0,0;
db 0Fh,82h,78h,0,0,0;
db 0Fh,83h,72h,0,0,0;
Disabled:
jbe loc_0_205
jb loc_0_205
jnb loc_0_205
IDA.CFG parameter:SHOW_BAD_INSTRUCTIONS
Use tabulations in output
You can disable the tab chars(0x09)in the output file if you do not
like them.By default,IDA produces output files with tab chars.
IDA.CFG parameter:USE_TABULATION
low suspicious limit high suspicious limit
Click here to get information about these fields.
Display stack pointer
If this option is set,IDA will display the value of
the stack pointer in the line prefix.
IDA.CFG parameter:SHOW_SP
以下为中文翻译:
此命令更改反汇编的外观。
您可以在此处更改以下复选框/输入字段的值:
行前缀
此复选框启用或禁用行前缀显示。
行前缀是当前字节的地址:
3000:1000 mov 轴,bx
^^^^^^^^^
IDA.CFG 参数:SHOW_LINEPREFIXES
操作码字节数
操作码字节如下所示:
3000:1000 55 推动基点
^^^^^^^^^
操作码是当前指令的操作码。
对于数据项,操作码是数据指令的元素。
有时没有足够的地方显示项目的所有字节
(例如,一个大数组) 。在这种情况下,IDA 将只显示
项目的前几个字节。对于代码项,IDA 会尝试
显示指令的所有字节,即使它需要添加
更多行仅用于操作码字节。如果不需要这种行为,
操作码字节数可以指定为负值。
负值 -N 表示在一行上显示 N 个操作码字节,但
永远不要只为操作码字节显示空行。
默认情况下,IDA 不显示操作码。
IDA.CFG 参数:OPCODE_BYTES
使用细分名称
此选项控制段名称在
地址。示例( codeseg 的基数为 3000):
已启用:代码段:0034
禁用:3000:0034
IDA.CFG 参数:USE_SEGMENT_NAMES
段地址
标记此复选框,您可以禁用段地址在
拆卸。 IDA 将仅显示偏移量。例子:
已启用:代码段:0034
禁用:0034
IDA.CFG 参数:SHOW_SEGMENTS
函数偏移量
此选项控制线前缀的外观。
如果启用,地址将显示为偏移量
从一个函数开始。例子:
启用:somefunc+0x44
禁用:cseg:0x4544
右边距
数据反汇编行的长度
指令。
IDA.CFG 参数:MAX_DATALINE_LENGTH
指令缩进
您可以更改反汇编指令的缩进:
移动 ax, bx
<---------------->
缩进
IDA.CFG 参数:INDENTION
显示错误指令
一些汇编器不理解某些指令,即使他们
必须。例如,Z80 处理器有几个未记录的
指令和许多汇编程序无法识别它们。 IDA知道
关于这个事实并试图产生一个可以编译的输出
没有错误,因此它将此类指令替换为数据字节。
Intel 80x86 处理器的问题更严重:同样
指令可以用不同的方式编码。有2个操作码
用于 ADD 指令等。最糟糕的是,不同的
操作码有不同的长度。如果汇编程序曾经
编译一个文件,你的汇编器产生不同的操作代码,
您可能会得到完全不同的输出文件。
这就是为什么 IDA 可以将此类指令标记为
与数据字节。例子:
启用:
分贝0Fh,86h,7Eh,0,0, 0 ; <坏> jbe loc_0_205
分贝0Fh,82h,78h,0,0, 0 ; <坏> jb loc_0_205
分贝0Fh,83h,72h,0,0, 0 ; <坏> jnb loc_0_205
禁用:
jbe loc_0_205
jb loc_0_205
jnb loc_0_205
IDA.CFG 参数:SHOW_BAD_INSTRUCTIONS
输出中使用表格
不这样做,您可以在输出文件中禁用制表符 (0x09)
像他们。默认情况下,IDA 生成带有制表符的输出文件。
IDA.CFG 参数:USE_TABULATION
低可疑限
高可疑限
单击此处获取有关这些字段的信息。
显示堆栈指针
如果设置了这个选项,IDA 将显示值
行前缀中的堆栈指针。
IDA.CFG 参数:SHOW_SP
展开阅读全文
︾
读者也喜欢这些内容:
软件加密难吗 如何通过IDA软件反编译功能对软件进行加密
在现代信息技术和软件开发中,保护软件的知识产权和数据安全变得尤为重要。软件加密作为一种保护手段,能够有效防止未经授权的使用和修改。然而,软件加密的复杂性和实现难度往往让开发者望而却步。本文将探讨“软件加密难吗 如何通过IDA软件反编译功能对软件进行加密”,并讨论使用IDA Pro时需要注意的风险。...
阅读全文 >
计算机逆向工程是什么概念?逆向工程技术怎么学?
随着技术的快速发展,逆向工程在软件和硬件开发中扮演着越来越重要的角色。了解和学习计算机逆向工程不仅可以帮助技术人员理解复杂系统的内部机制,还能增强他们应对安全威胁的能力。本文将详细介绍计算机逆向工程的基本概念和学习途径,为那些希望深入该领域的专业人士提供指导。...
阅读全文 >
ida怎么查找字符串 ida字符串窗口快捷键
在数字化时代,逆向工程作为解密软件和分析程序的关键技术,正日益受到广泛关注。在逆向分析的过程中,IDA(Interactive DisAssembler)是一款备受推崇的工具,它为逆向工程师们提供了强大的功能和灵活的操作。本文将带您深入探讨如何在IDA中查找字符串,优化字符串窗口的使用,并探讨IDA如何将变量转换成字符串,帮助您更加熟练地驾驭这一工具,为逆向分析的世界增添一抹精彩。...
阅读全文 >
IDA Pro重置隐藏消息(Reset desktop)
...
阅读全文 >