Search code examples
idagdlibdisassembly

Ida pro gragh output batch mode


Can anyone let me know how we are going to output all the subroutine's graphs in batch mode suing IDC. i.e. I have 447 subroutine's and wanna be output them all and I would like to make sure I first retrieve all the routines address automatically, cuz by knowing the address I can simply use GenFuncCall. P.S: Is this the only cfg that I can get from Ida Pro given a binary dis-assembled file?


Solution

  • If you just want the address of all known functions in the IDB, you could use something like this using IDAPython (just an example):

    def main():
        for count, func_ea in enumerate(Functions()):
            if func_ea == BADADDR:
                break
            func_name = GetFunctionName(funcea)
            func_start = func_ea
    
            print("[{:4}] name: {}; start address: {:#x}".format(count, func_name, func_start))
    
    if __name__ == "__main__":
        main()