mirror of https://github.com/geohot/qira
ida can be slow, so don't make it the default
This commit is contained in:
parent
b2d9ee8411
commit
14dd127312
|
@ -28,6 +28,7 @@ if __name__ == '__main__':
|
|||
parser.add_argument("--host", metavar="HOST", help="listen address for web interface and socat. 127.0.0.1 by default", default=qira_config.HOST)
|
||||
parser.add_argument("--web-port", metavar="PORT", help="listen port for web interface. 3002 by default", type=int, default=qira_config.WEB_PORT)
|
||||
parser.add_argument("--socat-port", metavar="PORT", help="listen port for socat. 4000 by default", type=int, default=qira_config.SOCAT_PORT)
|
||||
parser.add_argument("--ida", help="use ida to generate static data", action="store_true")
|
||||
#parser.add_argument("--with-capstone", metavar="WITH_CAPSTONE", help="enable capstone for smarter disassembly", action="store_true")
|
||||
#capstone flag in qira_config for now
|
||||
|
||||
|
@ -82,6 +83,8 @@ if __name__ == '__main__':
|
|||
if args.cda:
|
||||
qira_config.WITH_CDA = True
|
||||
qira_config.WITH_DWARF = True
|
||||
if args.ida:
|
||||
qira_config.WITH_IDA = True
|
||||
if args.flush_cache:
|
||||
print "*** flushing caches"
|
||||
os.system("rm -rfv /tmp/qira*")
|
||||
|
|
|
@ -287,6 +287,9 @@ def get_instruction_flow(trace, program, minclnum, maxclnum):
|
|||
time.sleep(0.1)
|
||||
|
||||
ins = program.tags[r[0]['address']]['instruction']
|
||||
|
||||
# set the lengths of the instructions
|
||||
program.tags[r[0]['address']]['len'] = r[0]['data']
|
||||
ret.append((r[0]['address'], r[0]['data'], r[0]['clnum'], ins))
|
||||
if (time.time() - start) > 0.01:
|
||||
time.sleep(0.01)
|
||||
|
|
|
@ -23,4 +23,6 @@ CALLED_AS_CDA = False
|
|||
WITH_STATIC = True
|
||||
WITH_CAPSTONE = WITH_STATIC
|
||||
|
||||
WITH_IDA = False
|
||||
|
||||
|
||||
|
|
|
@ -209,7 +209,7 @@ class Program:
|
|||
else:
|
||||
raise Exception("unknown binary type")
|
||||
|
||||
if qira_config.WITH_STATIC:
|
||||
if qira_config.WITH_STATIC and qira_config.WITH_IDA:
|
||||
# call out to ida
|
||||
print "*** running the ida parser"
|
||||
ret = os.system(qira_config.BASEDIR+"/static/python32/Python/python "+qira_config.BASEDIR+"/static/ida_parser.py /tmp/qira_binary > /tmp/qida_log")
|
||||
|
@ -233,7 +233,6 @@ class Program:
|
|||
dat = open(self.program, "rb").read()
|
||||
load_addr = 0x8048000
|
||||
|
||||
|
||||
# generate the static data for the instruction
|
||||
print "** running static"
|
||||
for addr in self.tags:
|
||||
|
|
|
@ -97,7 +97,7 @@ $(document).ready(function() {
|
|||
$('#staticpanel').on('mouseout', '#outergbox', function(e) {
|
||||
/*p(e.target);
|
||||
p(e.target.id);*/
|
||||
if (e.target.id === "outergbox") {
|
||||
if (e.target.id === "outergbox" || e.target.id === "gcanvas") {
|
||||
endDrag(e.screenX, e.screenY, true);
|
||||
}
|
||||
});
|
||||
|
|
|
@ -144,6 +144,7 @@ Graph.prototype.render = function() {
|
|||
var canvas = document.createElement("canvas");
|
||||
canvas.width = fnum(gdata[2])+10;
|
||||
canvas.height = fnum(gdata[3])+10;
|
||||
canvas.id = "gcanvas";
|
||||
gbox.appendChild(canvas);
|
||||
var ctx = canvas.getContext("2d");
|
||||
|
||||
|
|
Loading…
Reference in New Issue