elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Problema con un código para reemplazar caracteres
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema con un código para reemplazar caracteres  (Leído 2,209 veces)
zikotik

Desconectado Desconectado

Mensajes: 59



Ver Perfil
Problema con un código para reemplazar caracteres
« en: 11 Mayo 2012, 20:46 pm »

Hola gente, qué tal, soy nuevo en el foro. Gracias a éste pude encontrar muchas soluciones a muchas de mis dudas pasadas, pero me surgió una duda, y busqué en muchos lugares ya, inclusive en éste, pero no encontré la solución.

Aquí mi duda...

Estoy haciendo un programa que permite programar ataques con "lenguaje propio" para utilizarlos con Botnets HTTP o Botnets FTP (no usa IRC) que en realidad lo que hace es guardar todo el código en un archivo llamado file.zpk y luego es leido en otro textBox, traduce palabras en especial y las remplaza a batch, luego compila todo a exe para poder meterlo a un servidor (éso lo tengo resuelto)

Cuando haya la palabra, la remplaza correctamente.
Por ejemplo:

open.file = start
bucle.load = goto
!script() = @echo off
#: = rem

El problema es que si pongo el objeto que recibe la acción, es decir, por ejemplo:

open.file archivoejemplo.exe
bucle.make memoria
bucle.load memoria

Al traducirlo, lo deja como

start archivoejemplo.ex
:memori
goto memori

Osea, me elimina el último caracter de lo que no tiene que modificar...
POR QUÉ !!!!!!!!!!????
Aquí les dejo el código que estoy utilizando para ésto.
Uso 2 txtBox y un cmdButton. Se escribe en txtConsole y se traduce en txtSource.

Código
  1. Private Sub btnCreate_Click()
  2. On Error Resume Next
  3. Dim lines_file As String
  4. Dim fopen As Integer
  5.  
  6. Open App.Path & "\file.zpk" For Output As #1
  7. Print #1, txtConsole.Text
  8. Close #1
  9.  
  10. Open App.Path & "\file.zpk" For Input As #1
  11. Do While Not EOF(1)
  12. Line Input #1, lines_file
  13. txtSource.Text = txtSource.Text + "&" + lines_file
  14.  
  15. 'bucle.load
  16. fopen = InStr(1, txtSource.Text, "bucle.load")
  17. If fopen <> 0 Then
  18. txtSource = Mid(txtSource.Text, 1, fopen - 1) & "goto" & Mid(txtSource, fopen + 10, Len(txtSource) - fopen - 10)
  19.  
  20. End If

Si alguien me dice cómo arreglar éso, se lo agradecería demasiado !



« Última modificación: 11 Mayo 2012, 21:09 pm por raul338 » En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Problema con un código para reemplazar caracteres
« Respuesta #1 en: 11 Mayo 2012, 21:11 pm »

Creo que no hacia falta poner toda la explicación :P pero bueno
Creo que tienes un problema de cálculos, ademas de que estas poniendo pedazos de códigos incoherentes (no termina el loop :P)

Fijate bien esto, depuralo bien (usa Debug.Print o alguna otra cosa)

Código
  1. txtSource = Mid(txtSource.Text, 1, fopen - 1) & "goto" & Mid(txtSource, fopen + 10, Len(txtSource) - fopen - 10)


En línea

zikotik

Desconectado Desconectado

Mensajes: 59



Ver Perfil
Re: Problema con un código para reemplazar caracteres
« Respuesta #2 en: 11 Mayo 2012, 21:58 pm »

Creo que no hacia falta poner toda la explicación :P pero bueno
Creo que tienes un problema de cálculos, ademas de que estas poniendo pedazos de códigos incoherentes (no termina el loop :P)

Fijate bien esto, depuralo bien (usa Debug.Print o alguna otra cosa)

Código
  1. txtSource = Mid(txtSource.Text, 1, fopen - 1) & "goto" & Mid(txtSource, fopen + 10, Len(txtSource) - fopen - 10)

MUCHAS GRACIAS ! ME RE SIRVIÓ TU CONSEJO !!!!!!!!
(lo del loop no lo ví, porque lo escribí directamente en el foro, no hice copy paste desde el proyecto).

Cuando me dijiste que usara el Debug.Print, me puse a buscar formas de utilizar debug, y en una decía replace()

Entonces se me ocurrió poner

txtSource = Replace(txtSource.text, "bucle.load", "goto")

y me funcionó a la perfección !
y además me ahorré un montón de código.

me quedó así:

Código:
Private Sub btnCreate_Click()
On Error Resume Next
Dim lines_file As String

Open App.Path & "\file.zpk" For Output As #1
Print #1, txtConsole.Text
Close #1
Open App.Path & "\file.zpk" For Input As #1
Do While Not EOF(1)
Line Input #1, lines_file
txtSource.Text = txtSource.Text + "&" + lines_file
Loop
Close #1

'bucle.load
txtSource = Replace(txtSource.Text, "bucle.load", "goto")

End Sub

Muchas gracias nuevamente !
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines