def udraw_connect (self, host, port):
        try:
            self.parent.udraw = utils.udraw_connector(host, port)
        except:
            self.parent.status_bar.SetStatusText("Failed connecting to uDraw(Graph) server.")
            return

        self.parent.status_bar.SetStatusText("Successfully connected to uDraw(Graph) server at %s." % host)
        self.parent.status_bar.SetStatusText("uDraw: %s" % host, 4)
Exemplo n.º 2
0
    def udraw_connect (self, host, port):
        try:
            self.parent.udraw = utils.udraw_connector(host, port)
        except:
            self.parent.status_bar.SetStatusText("Failed connecting to uDraw(Graph) server.")
            return

        self.parent.status_bar.SetStatusText("Successfully connected to uDraw(Graph) server at %s." % host)
        self.parent.status_bar.SetStatusText("uDraw: %s" % host, 4)
Exemplo n.º 3
0
    def on_connect(self,
                   event):  # wxGlade: udraw_connect_dialog.<event_handler>
        try:
            host = self.host.GetLineText(0)
            port = int(self.port.GetLineText(0))
        except:
            self.parent.status_bar.SetStatusText(
                "Invalid hostname / port combination")
            self.Destroy()
            return

        try:
            self.parent.udraw = utils.udraw_connector(host, port)
        except:
            self.parent.status_bar.SetStatusText(
                "Failed connecting to uDraw(Graph) server.")
            self.Destroy()
            return

        self.parent.status_bar.SetStatusText(
            "Successfully connected to uDraw(Graph) server at %s." % host)
        self.Destroy()
Exemplo n.º 4
0
        print "updating graph"
        proximity = vonage.graph_proximity(exception_address, 0, 1)
        proximity.graph_sub(last_graph)
        last_graph.graph_cat(proximity)
        udraw.graph_update(proximity)
        #udraw.change_element_color("node", last_center, 0xEEF7FF)
        #udraw.change_element_color("node", exception_address, 0xFF8000)

    # remove the breakpoint once we've hit it.
    pydbg.bp_del(exception_address)

    return DBG_CONTINUE

########################################################################################################################

udraw = utils.udraw_connector()
udraw.set_command_handler("node_double_click", udraw_node_double_click)

# thread out the udraw connector message loop.
thread.start_new_thread(udraw.message_loop, (None, None))

start = time.time()
print "loading vonage.exe.pida ...",
vonage = pida.load("vonage.exe.pida")
print "done. completed in %.02f seconds." % (time.time() - start)

dbg = pydbg()
dbg.set_callback(EXCEPTION_BREAKPOINT, breakpoint_handler)
for (pid, proc) in dbg.enumerate_processes():
    if proc.lower().startswith("x-pro-vonage"):
        break
Exemplo n.º 5
0
graph = pgraph.graph()
hooks = utils.hook_container()
monitor = False
allocs = {}

for opt, arg in opts:
    if opt in ("-g", "--graph"): udraw = True
    if opt in ("-h", "--host"): host = arg
    if opt in ("-o", "--port"): port = int(arg)
    if opt in ("-l", "--load"): filename = arg
    if opt in ("-p", "--pid"): pid = int(arg)
    if opt in ("-m", "--monitor"): monitor = True

if not pid and not filename:
    ERROR(USAGE)

if udraw:
    udraw = utils.udraw_connector(host, port)
    print "connection to udraw established..."

dbg = pydbg()

if pid:
    dbg.attach(pid)
else:
    dbg.load(filename)

dbg.set_callback(EXCEPTION_ACCESS_VIOLATION, access_violation)
dbg.set_callback(LOAD_DLL_DEBUG_EVENT, dll_load_handler)

dbg.run()
Exemplo n.º 6
0
graph    = pgraph.graph()
hooks    = utils.hook_container()
monitor  = False
allocs   = {}

for opt, arg in opts:
    if opt in ("-g", "--graph"):   udraw    = True
    if opt in ("-h", "--host"):    host     = arg
    if opt in ("-o", "--port"):    port     = int(arg)
    if opt in ("-l", "--load"):    filename = arg
    if opt in ("-p", "--pid"):     pid      = int(arg)
    if opt in ("-m", "--monitor"): monitor = True

if not pid and not filename:
    ERROR(USAGE)

if udraw:
    udraw = utils.udraw_connector(host, port)
    print "connection to udraw established..."

dbg = pydbg()

if pid:
    dbg.attach(pid)
else:
    dbg.load(filename)

dbg.set_callback(EXCEPTION_ACCESS_VIOLATION, access_violation)
dbg.set_callback(LOAD_DLL_DEBUG_EVENT,       dll_load_handler)

dbg.run()
Exemplo n.º 7
0
        proximity = vonage.graph_proximity(exception_address, 0, 1)
        proximity.graph_sub(last_graph)
        last_graph.graph_cat(proximity)
        udraw.graph_update(proximity)
        #udraw.change_element_color("node", last_center, 0xEEF7FF)
        #udraw.change_element_color("node", exception_address, 0xFF8000)

    # remove the breakpoint once we've hit it.
    pydbg.bp_del(exception_address)

    return DBG_CONTINUE


########################################################################################################################

udraw = utils.udraw_connector()
udraw.set_command_handler("node_double_click", udraw_node_double_click)

# thread out the udraw connector message loop.
thread.start_new_thread(udraw.message_loop, (None, None))

start = time.time()
print "loading vonage.exe.pida ...",
vonage = pida.load("vonage.exe.pida")
print "done. completed in %.02f seconds." % (time.time() - start)

dbg = pydbg()
dbg.set_callback(EXCEPTION_BREAKPOINT, breakpoint_handler)
for (pid, proc) in dbg.enumerate_processes():
    if proc.lower().startswith("x-pro-vonage"):
        break
########################################################################################################################

# parse command line options.
try:
    opts, args = getopt.getopt(sys.argv[1:], "h:ip:", ["host=","ida_sync","port="])
except getopt.GetoptError:
    sys.stderr.write(USAGE + "\n\n")
    sys.exit(1)

for o, a in opts:
    if o in ("-h", "--host"):     udraw_host = a
    if o in ("-p", "--port"):     udraw_port = int(a)
    if o in ("-i", "--ida_sync"): ida_sync   = True

try:
    udraw = utils.udraw_connector(udraw_host, udraw_port)
    udraw.set_command_handler("node_double_click",      udraw_node_double_click)
    udraw.set_command_handler("node_selections_labels", udraw_node_selections_labels)

    # thread out the udraw connector message loop.
    thread.start_new_thread(udraw.message_loop, (None, None))
except socket.error, err:
    sys.stderr.write("Socket error: %s.\nIs uDraw(Graph) running on %s:%d?\n" % (err[1], udraw_host, udraw_port))
    udraw = None
    
    # nothing to do... exit.
    if not ida_sync:
        sys.exit(1)

try:
    server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
Exemplo n.º 9
0
# parse command line options.
try:
    opts, args = getopt.getopt(sys.argv[1:], "h:ip:",
                               ["host=", "ida_sync", "port="])
except getopt.GetoptError:
    sys.stderr.write(USAGE + "\n\n")
    sys.exit(1)

for o, a in opts:
    if o in ("-h", "--host"): udraw_host = a
    if o in ("-p", "--port"): udraw_port = int(a)
    if o in ("-i", "--ida_sync"): ida_sync = True

try:
    udraw = utils.udraw_connector(udraw_host, udraw_port)
    udraw.set_command_handler("node_double_click", udraw_node_double_click)
    udraw.set_command_handler("node_selections_labels",
                              udraw_node_selections_labels)

    # thread out the udraw connector message loop.
    thread.start_new_thread(udraw.message_loop, (None, None))
except socket.error, err:
    sys.stderr.write("Socket error: %s.\nIs uDraw(Graph) running on %s:%d?\n" %
                     (err[1], udraw_host, udraw_port))
    udraw = None

    # nothing to do... exit.
    if not ida_sync:
        sys.exit(1)