Flag: Tornado! Hurricane!

OpenRCE IDA SDK >> ua_mnem

ua_mnem
Category: Instructions

idaman const char *ida_export
ua_mnem(ea_t ea, char *buf, size_t bufsize)
Fills *buf, limited by bufsize, with the mnemonic used in the instruction at ea and updates the IDA database with the instruction if it isn't already defined. Returns the *buf pointer or NULL if there is no instruction at ea.

Examples:
#include <segment.hpp> // For segment functions
#include <ua.hpp>

// Loop through each executable segment, displaying the mnemonic used in each instruction
for (int s = 0; s < get_segm_qty(); s++)
{
    segment_t *seg = getnseg(s);
    
    if (seg->type == SEG_CODE)
    {
        int bytes = 0;
        
        // a should always be the address of an instruction, which is why bytes is dynamic
        // depending on the result of ua_mnem()
        for (ea_t a = seg->startEA; a < seg->endEA; a += bytes)
        {
            char mnem[MAXSTR];
            const char *res;
            
            // Get the mnemonic at a, store it in mnem
            res = ua_mnem(a, mnem, sizeof(mnem)-1);
            
            // If this was an instruction, display the mnemonic, set the bytes counter
            // to cmd.size, so that the next address processed by ua_mnem() is the next instruction.
            if (res != NULL)
            {
                msg("Mnemonic at %a: %s\n", a, mnem);
                bytes = cmd.size;
            }
            else
            {
                msg ("No code\n");
                
                // If there was no code at this address, increment the byte counter by 1 so that
                // ua_mnem() works off the next address.
                bytes = 1;
            }
        }
    }
}


Related: generate_disasm_line, get_item_end, ua_ana0, ua_code, ua_mnem, ua_outop

Note: You must be logged in to add notes to the IDA SDK reference manual.

There are 28,658 total registered users.


Recently Created Topics
Reverse Engineer sof...
May/24
plugin_bochs_user
May/23
Cracking Mbot With a...
May/22
I have started a new...
May/22
windbg - olly/immunity
May/14
Reverse a WinRAR pac...
May/13
Add comments to resu...
May/10
can we code script ...
May/09
Type Casting Structu...
May/07
How to Reverse Engin...
May/03


Recent Forum Posts
windbg - olly/immunity
blowcheck
Help me guys
Olivier
Reverse a WinRAR pac...
NirIzr
windbg - olly/immunity
anonymouse
Reverse a WinRAR pac...
DriEm
Add comments to resu...
phn1x
IDA Resource Viewer ...
DriEm
Add comments to resu...
qiuhan
IDA Resource Viewer ...
waleeda...
IDA Resource Viewer ...
DriEm


Recent Blog Entries
bopwt568
May/27


waleedassar
Apr/20
OllyDbg NumberOfSections Crash

icegood
Apr/13
Advanced labels plugin for ...

waleedassar
Mar/31
GetModuleFileNameEx And Inf...

waleedassar
Mar/31
OllyDbg v1.10 And Wow64

More ...


Recent Blog Comments
michaelkorshandbags on:
May/24
OllyDbg v1.10 And Hardware ...

michaelkorshandbags on:
May/24
Ariadne framework and deobf...

michaelkorshandbags on:
May/24
Portable Executable Format ...

michaelkorshandbags on:
May/24
BIOS Disassembly Ninjutsu (...

michaelkorshandbags on:
May/24
Very comfortable to enjoy g...

More ...


Imagery
SoySauce Blueprint
Jun 6, 2008

[+] expand

View Gallery (11) / Submit