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