Customize Demangled Names

All your changes will be saved in the current database. If you want to change the form of demangled names for all new databases, then you need to edit the configuration file, variables 'ShortNameForm' and 'LongNameForm'. Below is the list of all checkboxes with examples (spaces are inserted only for the ease of understanding):

Only main name

        on:     func;
        off:    static void __pascal func(void) const;
No underscores in calling conventions
        on:     void   pascal func(void);
        off:    void __pascal func(void);
No calling conventions for parameters and __based()
        on:  void         func(int (*          f2)(void));
        off: void __cdecl func(int (* __pascal f2)(void));
No return type of functions
        on:         func(void);
        off:    int func(void);
No "based()" specifier
        on:   int                            a;
        off:  int __based(__segname("DATA")) a;
        on:   void __based(void) *b;
        off:  void               *b;
        on:   int __based(__self) (*p)(void);
        off:  int                 (*p)(void);
No calling conventions
        on:     void          func(void);
        off:    void __pascal func(void);
No postfix const
        on:     void aclass::func(void);
        off:    void aclass::func(void) const;
No access keywords
        on:             void func(void);
        off:    private void func(void);
No throw descriptions
        on:     void func(void);
        off:    void func(void) throw(Class::Member);
No static and virtual keywords
        on:                    void aclass::func(void);
        off:    static virtual void aclass::func(void);
No UDT keywords
        on:            A & func(      A *,      B *);
        off:     class A & func(class A *, enum B *);
No const and volatile keywords
        on:     char       * func(void);
        off:    char const * func(void);
No __closure keyword
        Do not display '__closure'
No __unaligned keyword
        Do not display '__unaligned'
No __pin/__box/__gc
        Do not display '__pin', '__box', '_gc'
Suppress pointer modifiers
     Selection    16Names     Description
     ---------    -------     -----------
     near           Yes     Do not display 'near'
     near/__ptr64           Do not display 'near' and '__ptr64'
     far            Yes     Do not display 'far'
     all, 16bit     Yes     Do not display any modifiers
     huge           Yes     Do not display 'huge'
     __ptr64                Do not display '__ptr64'
     Display all    Yes     Display all modifiers
     Display none   Auto    Do not display any modifiers
     16bit means that the demangler will assume that
     names were generated by 16bit compilers. Otherwise,
     it will assume names generated by 32/64 bit compilers.
Quash j_
        This option allows IDA to demangle a name even if it was formed
        by adding j_ prefix to a mangled name. The prefix j_ will simply
        be thrown away.
Transfer j_
        This option also allows IDA to demangle names with prefix j_.
        Unlike the previous option, this one will show the prefix
        in the demangled name.
Ignore postfix _nn
        This option allows IDA to demangle names formed by adding
        postfix _nn to a mangled name (n is any digit).
Index | Previous topic | Next topic