Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - test123

#1
Ingeniería Inversa / Re: OLLYDBG
13 Julio 2009, 11:41 AM
Y como hago para editar sección por sección?
#2
Ingeniería Inversa / OLLYDBG
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