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.
Private Sub btnCreate_Click()
On Error Resume Next
Dim lines_file As String
Dim fopen As Integer
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
'bucle.load
fopen = InStr(1, txtSource.Text, "bucle.load")
If fopen <> 0 Then
txtSource = Mid(txtSource.Text, 1, fopen - 1) & "goto" & Mid(txtSource, fopen + 10, Len(txtSource) - fopen - 10)
End If
Si alguien me dice cómo arreglar éso, se lo agradecería demasiado !
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)
txtSource = Mid(txtSource.Text, 1, fopen - 1) & "goto" & Mid(txtSource, fopen + 10, Len(txtSource) - fopen - 10)
Cita de: raul338 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)
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í:
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 !