Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: jacohawk en 12 Enero 2011, 05:49 am



Título: ¿Pueden ayudarme? u.u
Publicado por: jacohawk en 12 Enero 2011, 05:49 am
Buenas!
Verán, tengo un texto, con muchas contraseñas, y necesito borrar cierta parte del texto para que quede sólamente "usuario:contraseña" en cada línea.

Tenía pensado ayudarme con VisualBasic pero no sé cómo hacer... :/

Esta es una parte del texto:
Código:
<tr style="background-color:#222222">
   <td>3COM</td>
   <td>CoreBuilder</td>
   <td>7000/6000/3500/2500</td>
   <td>Telnet</td>
   <td>debug</td>
   <td>synnet</td>
   <td></td>
   <td></td>
  </tr>
Necesito borrar todo menos el usuario y la contraseña...
Con lo cual, el usuario y la contraseña serían los antepenúltimos siempre, Usuario=debug y Contraseña=synnet
lo que tendría que sacar de esa parte es "debug:synnet"
Pero tengo miles de partes como esa en un archivo de texto... por eso necesito ayuda con algún código en VisualBasic para que me vaya borrando cierta parte.

Otro ejemplo:
Código:
<tr style="background-color:#222222">
   <td>3COM</td>
   <td>CoreBuilder</td>
   <td>7000/6000/3500/2500</td>
   <td>Telnet</td>
   <td>debug</td>
   <td>synnet</td>
   <td></td>
   <td></td>
  </tr>
  <tr style="background-color:#000000">
   <td>3COM</td>
   <td>CoreBuilder</td>
   <td>7000/6000/3500/2500</td>
   <td>Telnet</td>
   <td>tech</td>
   <td>tech</td>
   <td></td>
   <td></td>
  </tr>
  <tr style="background-color:#222222">
   <td>3COM</td>
   <td>HiPerARC</td>
   <td>v4.1.x</td>
   <td>Telnet</td>
   <td>adm</td>
   <td>(none)</td>
   <td></td>
   <td></td>
  </tr>
(Están todos seguidos hacia abajo en un archivo de texto)
Se convertiría en...
Código:
debug:synnet
tech:tech
adm:
(Hay algunos que pone "(none)" significa que no hay contraseña, sólo usuario, necesitaría también sustituir el "(none)" por "" osea (Nada).

Ojalá puedan ayudarme... u.u


Título: Re: ¿Pueden ayudarme? u.u
Publicado por: Psyke1 en 12 Enero 2011, 12:16 pm
¡Bienvenido al foro! ;)

Usa RegExp para sacar todo lo que hay entre <td> y </td>. (usa el buscador, hay códigos míos por el foro)
El texto siempre seguirá esta serie? :huh:

Fijate:
Código
  1. '<tr style="background-color:#222222">
  2. '   <td>3COM</td>
  3. '   <td>CoreBuilder</td>
  4. '   <td>7000/6000/3500/2500</td>
  5. '   <td>Telnet</td>
  6. '   <td>debug</td>
  7. '   <td>synnet</td>
  8. '   <td></td>
  9. '   <td></td>
  10. '  </tr>
  11. '  <tr style="background-color:#000000">
  12. '   <td>3COM</td>
  13. '   <td>CoreBuilder</td>
  14. '   <td>7000/6000/3500/2500</td>
  15. '   <td>Telnet</td>
  16. '   <td>tech</td>
  17. '   <td>tech</td>
  18. '   <td></td>
  19. '   <td></td>
  20. '  </tr>
  21. '  <tr style="background-color:#222222">
  22. '   <td>3COM</td>
  23. '   <td>HiPerARC</td>
  24. '   <td>v4.1.x</td>
  25. '   <td>Telnet</td>
  26. '   <td>adm</td>
  27. '   <td>(none)</td>
  28. '   <td></td>
  29. '   <td></td>
  30. '  </tr>
  31.  

A las 6 lineas te encontrarás con el usuario y la línea sig. es la contraseña; cada 8 lineas te los volverás a encontrar. :rolleyes:

DoEvents! :P


Título: Re: ¿Pueden ayudarme? u.u
Publicado por: Psyke1 en 12 Enero 2011, 12:43 pm
O otra opción para hacerlo sin RegExp sería algo similar a esto:

Código
  1. 'Añade un TextBox, con el texto
  2. Option Explicit
  3.  
  4. Private Sub Form_Load()
  5. Dim sArr()          As String
  6. Dim lLimit          As Long
  7. Dim Q               As Long
  8.  
  9.    sArr = Split(Text1.Text, "<td>")
  10.    lLimit = UBound(sArr)
  11.    Q = 5
  12.  
  13.    Do While Q < lLimit
  14.        MsgBox ParseString(sArr(Q)) _
  15.               & vbNewLine _
  16.               & ParseString(sArr(Q + 1))
  17.        Q = Q + 8
  18.    Loop
  19. End Sub
  20.  
  21. Private Function ParseString(ByVal sText As String) As String
  22.    ParseString = Split(sText, "</td>", 2)(0)
  23. End Function

DoEvents! :P


Título: Re: ¿Pueden ayudarme? u.u
Publicado por: Novlucker en 12 Enero 2011, 12:44 pm
http://office.microsoft.com/es-hn/excel-help/obtener-datos-externos-de-una-pagina-web-HA010218472.aspx

Ya se que no es una respuesta sobre VB exactamente, pero apuesto a que estas extrayendo esos datos viendo el código fuente de una web.

Desde excel puedes importar los datos directamente desde una tabla web, con lo cual tendrás todos tus datos en una tabla que podras recortar a tu gusto (los usuarios en una columna y las contraseñas en otra)

Saludos