1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | ######################################### #Ida batch mode test code by obaby #2012.03.13 #Mars Security #http://www.h4ck.org.cn #Email:root@h4ck.ws ######################################### import sys import os import subprocess # Fill these feilds with ur own ida file path and the idc file u want to execute! idcScriptFileName = "batchmode.idc" ida32qFilePath = '"F:\Crackl@b\Hex-Rays.IDA.Pro.Advanced.v6.1\ida61\idaq.exe"' ida64qFilePath = "F:\Crackl@b\Hex-Rays.IDA.Pro.Advanced.v6.1\ida61\idaq64.exe" ida32wFilePath ='"F:\Crackl@b\Hex-Rays.IDA.Pro.Advanced.v6.1\ida61\idaw.exe"' ida64wFilePath = "F:\Crackl@b\Hex-Rays.IDA.Pro.Advanced.v6.1\ida61\idaw64.exe" #The binary file list text TargetList = "F:/Python 2.6/_eric4project/idabatchmode/list.txt" TargetFile_object = open(TargetList, "r").readlines() for eachline in TargetFile_object: #print eachline, #print eachline eachline = eachline.replace('\n','').replace('\r', '') if os.path.exists(eachline): tmpExecStr = ida32wFilePath +" -A -c -S"+idcScriptFileName +" " + '"'+eachline+'"' #fixup the space in the file path print tmpExecStr, #os.system(tmpExecStr) #singl process with cmdwindow #os.popen(tmpExecStr) singl process without cmdwindow subprocess.Popen(tmpExecStr) #mulity process with cmd window print ("All Process have been started!") |
修正文件路径包含空格时找不到文件的问题,这个如果自己写的话应该是可以避免的。发现一个比较奇怪的问题,在win7下subprocess.Popen竟然不显示cmd窗口,但是在xp下显示。这是为什么? :8
原创文章,转载请注明: 转载自 obaby@mars
本文标题: 《IDA批量模式 Python Script[fix]》
本文链接地址: http://h4ck.org.cn/2012/03/ida-batch-mode-python-scriptfix/