Python idc.AskFile() Examples
The following are 12 code examples for showing how to use idc.AskFile(). These examples are extracted from open source projects. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example.
You may check out the related API usage on the sidebar.
You may also want to check out all available functions/classes of the module
idc
, or try the search function
.
Example 1
Project: DIE Author: ynvb File: DIE.py License: MIT License | 6 votes |
def load_db(self): try: db_file = idc.AskFile(0, "*.ddb", "Load DIE Db File") if db_file is not None: self.die_db.load_db(db_file) if self.die_db is not None: self.show_db_details() except DbFileMismatch as mismatch: idaapi.msg("Error while loading DIE DB: %s\n" % mismatch) except Exception as ex: logging.exception("Error while loading DB: %s", ex) return False ########################################################################### # Function View
Example 2
Project: IDASynergy Author: CubicaLabs File: IDASynergy.py License: MIT License | 5 votes |
def on_export(self): Warning("This export option generates an .ivz file that you have to distribute manually.\nIDASynergy won't automatically synchronize unless a local repository is synched\nto a versioning server and the 'IDASynergy SVN Commit' menu option is used.") exp_file = idc.AskFile(1, "*.ivz", "Exported data filename") print time.time() self.remove_hooks() self.data_io.export_to_file(exp_file) self.insert_hooks() return 1
Example 3
Project: IDASynergy Author: CubicaLabs File: IDASynergy.py License: MIT License | 5 votes |
def on_import(self): imp_file = idc.AskFile(0, "*.ivz", "Select file to import") self.remove_hooks() self.data_io.import_from_file(imp_file, self.insert_hooks) return 1
Example 4
Project: DIE Author: ynvb File: DIE.py License: MIT License | 5 votes |
def save_db(self): db_file = idc.AskFile(1, "*.ddb", "Save DIE Db File") if db_file is None: return self.die_db.save_db(db_file)
Example 5
Project: IDAPython_Note Author: ExpLife0011 File: 16_输入与输出.py License: MIT License | 5 votes |
def importb(self): #将文件中的内容导入到buffer中 fileName = idc.AskFile(0, "*.*", 'Import File') try: self.buffer = open(fileName, 'rb').read() except: sys.stdout.write('ERROR:Cannot access file')
Example 6
Project: IDAPython_Note Author: ExpLife0011 File: 16_输入与输出.py License: MIT License | 5 votes |
def export(self): #将所选择的buffer保存到文件 exportFile = idc.AskFile(1, "*.*", "Export Buffer") f = open(exportFile, 'wb') f.write(self.buffer) f.close()
Example 7
Project: ida_pdb_loader Author: ax330d File: main.py License: MIT License | 5 votes |
def run(self): '''Public function.''' self.symbol_path = idc.AskFile(0, '*.pdb', 'Choose PDB file...') self.image_base = idaapi.get_imagebase() print "IPL: Loading PDB data, might take a while..." self.PDBLookup = pdbparse.symlookup.Lookup([(self.symbol_path, self.image_base)]) if not self.PDBLookup: print "IPL: PDBLookup failed to initialize, exiting." return self._rename_functions() return
Example 8
Project: IDAmetrics Author: mxmssh File: sorter.py License: BSD 2-Clause "Simplified" License | 5 votes |
def main(): message = "First of all you need to specify folder with test cases." idc.Warning(message) fname = idc.AskFile(0, "*.*", "Please specify first trace file in test cases folder \ to start prioritization") if fname == None: print "You need to specify any file in test cases folder to start prioritization" return 0 fname = os.path.dirname(fname) if fname == None: return 0 print "Starting prioritization of " + fname start_prior(fname) print "Done"
Example 9
Project: IDAmetrics Author: mxmssh File: IDAMetrics_dynamic.py License: BSD 2-Clause "Simplified" License | 5 votes |
def prepare(metrics_used): fname = idc.AskFile(0, ".out", "Choose a trace file") if fname == None: print "You need to specify trace to get dynamic metrics" return 0 print "Start trace analysis" metrics_dynamic = Metrics_dynamic() metrics_dynamic.get_dynamic_metrics(fname, metrics_used)
Example 10
Project: flare-ida Author: fireeye File: shellcode_hash_search.py License: Apache License 2.0 | 5 votes |
def run(self): try: logger.debug("Starting up") dbFile = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..', 'shellcode_hashes', 'sc_hashes.db')) logger.debug('Trying default db path: %s', dbFile) if not os.path.exists(dbFile): if using_ida7api: dbFile = idaapi.ask_file(False, "*.db", "Select shellcode hash database") else: dbFile = idc.AskFile(0, "*.db", "Select shellcode hash database") if (dbFile is None) or (not os.path.isfile(dbFile)): logger.debug("No file select. Stopping now") return self.dbstore = DbStore(dbFile) logger.debug("Loaded db file: %s", dbFile) if QT_AVAILABLE: self.launchGuiInput() else: self.launchManualPrompts() searcher = ShellcodeHashSearcher(self.dbstore, self.params) logger.debug('Starting to run the searcher now') searcher.run() logger.debug("Done") except RejectionException: logger.info('User canceled action') except Exception as err: logger.exception("Exception caught: %s", str(err))
Example 11
Project: flare-ida Author: fireeye File: jayutils.py License: Apache License 2.0 | 5 votes |
def getInputFilepath(): '''Returns None if the uesr cancels. Updates the filepath in the idb on success''' if using_ida7api: return getInputFilepath_ida7() filePath = idc.GetInputFilePath() if not os.path.exists(filePath): print ('IDB input file not found. Prompting for new one: %s' % filePath) filePath = idc.AskFile(False, '*.*', 'Enter path to idb input file') if filePath is not None: idc.SetInputFilePath(filePath) return filePath
Example 12
Project: dsc_fix Author: deepinstinct File: dsc_fix.py License: GNU General Public License v3.0 | 5 votes |
def main(): if _IN_IDA: # # get dyld_shared_cache path from IDA's openFile dialog print "[+] Please choose the original dyld_shared_cache_arm64" dsc_path = idc.AskFile(0, "*.*", "dyld shared cache file") else: dsc_path = sys.argv[1] if not dsc_path or not os.path.exists(dsc_path): raise RuntimeError("Couldn't find the dyld shared cache file..") print "[+] about to parse %s.." % (dsc_path) dsc_file = open(dsc_path, "rb") adrfind = AddrFinder(dsc_file, cache_symbols=False) map_shared_bridges(dsc_file, adrfind) if _IN_IDA: addresses = sorted(set(get_bad_addresses())) else: addresses = sorted(set(eval(open("addrs.txt", "rb").read()))) segments, exports = get_segments_and_exports_for_addresses(addresses, adrfind) # segments = join_neighbors(segments, threshold=0x1000) if _IN_IDA: map_segments(segments, dsc_file) map_exports(exports) idaapi.analyze_area(idc.MinEA(), idc.MaxEA())