SetNameType
Description
Setup name representation. Dummy names are automatically generated by IDA. They are used to denote subroutines, program locations and data. Dummy names have various prefixes depending on the item type and value:
sub_
instruction, subroutine start
locret_
'return' instruction
loc_
instruction
off_
data, contains offset value
seg_
data, contains segment address value
asc_
data, string literal
byte_
data, byte
word_
data, 16-bit
dword_
data, 32-bit
qword_
data, 64-bit
byte3_
data, 3 bytes
xmmword_
data, 128-bit
ymmword_
data, 256-bit
packreal_
data, packed real
flt_
floating point data, 32-bit
dbl_
floating point data, 64-bit
tbyte_
floating point data, 80-bit
stru_
structure
custdata_
custom data type
algn_
alignment directive
unk_
unexplored byte
You can change representation of dummy names. IDA supports several types of dummy names:
0
loc_0_1234
segment base address relative to program base address & offset from the segment base
1
loc_1000_1234
segment base address & offset from the segment base
2
loc_dseg_1234
segment name & offset from the segment base
3
loc_0_11234
segment relative to base address & full address
4
loc_1000_11234
segment base address & full address
5
loc_dseg_11234
segment name & full address
6
loc_12
full address
7
loc_0012
full address (at least 4 digits)
8
loc_00000012
full address (at least 8 digits)
9
dseg_1234
the same as 2, but without data type specifier
10
loc_1
enumerated names (loc_1,loc_2,loc_3...)
If you have selected names type 10 (enumerated names), you may renumber them using a checkbox. The process is relatively fast, surprisingly.
The best representation for MS DOS programs is #0, for 16-bit processors - #7, and for 32-bit processors - #8. You can change dummy names type any time you want.
You can also set up types of names included in the name list (Jump by name... command, action JumpName). IDA knows about the following types of names:
normal names
public names
weak public or extern names
autogenerated (meaningful) names.
dummy (meaningless) names.
Dummy names may be public or weak, but they never appear in the list of names. You can specify the type of a name when you create or rename it.
You can also set maximal length of new names. Old names will not be affected by this parameter.
Names in backticks
Names from Rust, Go, Swift or C++ binaries often hold characters that are also used by the code around them, such as (, *, < or spaces. In a listing, such a name could merge with that code: jmp short fmt.(*ss).skipSpace. IDA puts these names in backticks, so you can see where each name starts and ends:

A name stays bare (without backticks) if:
it has only letters, digits, the characters the processor allows in names (for example
_,$,?and@on x86),., and::between its parts; orit has the shape of a C++ name: template arguments, operators, destructors, MSVC names such as
`anonymous namespace'; orit is an Objective-C method name, such as
-[NSString stringWithFormat:].
The backticks are only a display convention. They are not part of the name, and lists such as the Names and Functions windows show names without them. Inside the backticks, a backtick or a backslash in the name is preceded by a backslash. You can type a name in backticks where IDA asks for an address, for example in Jump to address.
The disassembly, the type listings and the pseudocode put names in backticks. To show names as they are, use Options → Name representation...:

and clear Quote unusual names with backticks:

The same function, with the option cleared:

The option is saved in the database. For new databases, its default comes from BARE_NAMES in IDA.CFG: NO (the default) puts unusual names in backticks.
See also: the Rename command.
Last updated
Was this helpful?
