Título: OLLYDBG Publicado por: test123 en 12 Julio 2009, 20:12 pm Buenos días , bueno a lo que voy , me gustaría asistencia con el programa OLLYDBG , se como usarlo pero me gustaria saber si despues te haber atacado un proceso y editado se puede con al algun plugin guardar esa nueva .exe . Yo uso el plugin uhooker para editar la conexion de un programa y con un archivo de conf de phyton edito la conexion de xxxxxxx a yyyyy .
Este el comando que usa : #int connect( # __in SOCKET s, # __in const struct sockaddr* name, # __in int namelen #); def connect_handler_before(hookcall): uhookerAPI = hookcall.proxy _SOCKET = hookcall.params[0] _SOCKADDR = hookcall.params[1] _SOCKADDRLEN = hookcall.params[2] if _SOCKET == 0: print "Socket is null!" hookcall.sendack() return if _SOCKADDR == 0: print "SockAddr is NULL!" hookcall.sendack() return #print "SOCKET: %X" % (_SOCKET) #print "SOCKADDR: %X" % (_SOCKADDR) #print "SOCKADDRLEN: %d" % (_SOCKADDRLEN) data = uhookerAPI.readmemory( _SOCKADDR, _SOCKADDRLEN ) #for x in data: # print hex(ord(x)) IPaddr_str = "" IPaddr_num = "" Port_num = sin_port = struct.unpack("!H", data[2:4] )[0] sin_family = struct.unpack("H", data[0:2] )[0] sin_port = struct.unpack("!H", data[2:4] )[0] ipv4_addr = struct.unpack("!L", data[4:8])[0] if sin_family == 2: print "Coordinate di connessione -> %d.%d.%d.%d:%d" % ( ord(data[4]), ord(data[5]), ord(data[6]), ord(data[7]), sin_port) else: print "family: %X " % sin_family print "familiy not supported!" hookcall.sendack() return if "%d.%d.%d.%d" % ( ord(data[4]), ord(data[5]), ord(data[6]), ord(data[7]) ) != IPaddr_str: if Port_num == 11000: Port_num = 11002 elif Port_num == 12000: Port_num = 13000 elif Port_num == 22000: Port_num = 13000 else: Port_num = 13001 print "Cambio le coordinate della connessione in: %s:%d" % (IPaddr_str, Port_num) newport = struct.pack("!H", Port_num) newip = socket.inet_aton( IPaddr_num ) uhookerAPI.writememory( _SOCKADDR+2, 2, newport) uhookerAPI.writememory( _SOCKADDR+4, 4, newip) hookcall.sendack() return else: hookcall.sendack() return El problema que tengo es que cada vez que voy a usar este programa tengo que hacer lo mismo Título: Re: OLLYDBG Publicado por: karmany en 12 Julio 2009, 21:08 pm Cuando hagas modificaciones en un ejecutable con OllyDbg puedes guardar los cambios del siguiente modo:
pulsas botón derecho ratón --> copy to executable --> all modifications Sale una nueva ventana y pulsas el botón: copy all Después te sale otra ventana y simplemente pulsas: botón derecho ratón --> save file Esto es para OllyDbg 1.10. También te comento que a veces si haces modificaciones en una sección y realizas la copia desde otra sección es posible que no se modifique. Yo modifico sección por sección. Título: Re: OLLYDBG Publicado por: test123 en 13 Julio 2009, 11:41 am Y como hago para editar sección por sección?
|