Tema destacado: [AIO elhacker.NET] Compilación herramientas análisis y desinfección malware
Autor
|
Tema: troyano en vb desde CERO, INDICE de contenidos en la primera pagina, GranManual (Leído 112,435 veces)
|
|
Simbelmynë
|
Volviendo al tema del administrador de archivos, en mi proyecto ya pude sortear las dificultades en el trafico de archivos grandes gracias a la idea de Scugat. Por el momento subir archivos al servidor no me ha dado problemas pero a la hora de descargar archivos siempre me encuentro con el mismo error de que no se puede encontrar la ruta, creo que el problema esta en el tratamiento del mid(datos, posicion), mas alla que tambien probe dividir los datos entrantes y dividirlos en variables de tipo variant, obteniendo el mismo error... Si alguien tiene o tuvo el mismo problema y puede darme una idea, le agradeceria, ya que todo cierra matematicamente pero a la hora de la ejecucion no se logra nada... Un gran saludo y gracias de antemano.
|
|
|
|
|
En línea
|
|
|
|
|
scugat
|
me alegro que te aya servido my codigo  jaja fulano gracias por el codigo pero la verdad no lo entiendo  y quiero entenderlo para aprender a usarlo  , no quiero hace copy paste  quiero aprender  llegando a la conclusion de: me podrias explicar el funcionamento de estas apis y para que sirve cada una de ellas?? gracias de antemano salu2 a toda la gente que participa en estos magnificos foros
|
|
|
|
|
En línea
|
NO digas que eres hacker si lamerias haces
|
|
|
|
scugat
|
hypnos yo lo que ago es enviar un comando de tal forma que cree el archivo pk si lo vas abriendo y cerrando cada vez que recibe datos al final da errores pones envias por ej \crearC:\programas\descargas\archivo.bmp if data = "\crear" then open mid(data,7) for binary as #1 creo que primero se tiene que poner un output para que lo cree, creo que en binary no lo crea directamente el archivo
|
|
|
|
|
En línea
|
NO digas que eres hacker si lamerias haces
|
|
|
|
Simbelmynë
|
Bueno, gracias antes que nada Scugat por tu respuesta. El problema ya lo detecte, era simplemente que dejaba la sentencia "put #1, ,datos" sin ninguna condicional, lo que hace que este siempre presente cuando no se cumpla ninguna condicion, dando errores por todas partes... Todavia no pude solucionar meter esta sentencia en alguna condicional ya que no se como puedo identificar lo que trae dentro la variable "datos" cuando me vayan llegando las partes del archivo... Intente que evalue: if len(datos) = 25000 then put #1, , datos end if pero la ultima parte que llega seguramente siempre < 25000 lo que hace que siempre pierda la ultima parte del archivo... El archivo lo abro en modo binario en una condicional arriba de el codigo que puse y solo se cierra cuando datos = "termino" que sera lo que dispare el cliente cuando la barra de progreso este al 100% Probare lo que me dijiste iwalmente, aunque tendria que modificar casi por completo mi codigo, y de poder darle solucion a este problema, mi filemanager ya estaria completo  Gracias nuevamente Scugat Un saludo
|
|
|
|
|
En línea
|
|
|
|
-Xenon-
Desconectado
Mensajes: 500
Spectrum 128k
|
lo de mi tutorial, no te ha servido?, vale qu estuviera ese error, pero esplica bien como recibir el archivo, o no?
ya diras algo, y aver si plasmo aqui el codigo modificado con el codigo de scugat!! gracias scugat por esa aclaracion, en cuanto tenga un minuto te digo lo de las apis, que tampoco tiene misterio , solo son funciones de windows, tu las llamas y te pasan el resultado...
de todas maneras te lo mirare aver como esplicartelo, dame tiempo
un saludo!!
pd: no entiendo tu prblema bien hypnoss, esplicalo un poco mejor con algo mas de el codigo de tu filemanaguer para ver como funciona y que es lo que ocurre!
|
|
|
|
|
En línea
|
Cuando el ingenio se queda pequeño, No basta con poner empeño, Solo el talento consigue el diseño
|
|
|
|
Simbelmynë
|
oks Fulano_ Tratare de ser lo mas claro posible evitando poner todo el codigo ya que es bastante extenso: Empezamos por el cliente: Open cd.FileName For Binary Access Read As #1 For i = 1 To fmtamanio / 25000 + 1 If fmtamanio - Loc(1) < 25000 Then parte(i) = Space$(fmtamanio - Loc(1)) Get #1, , parte(i) Else parte(i) = Space$(25000) Get #1, , parte(i) End If Next Close #1
fmtamanio / 25000 +1 ya que si ponemos solamente fmtamanio /25000 nunca se creara la ultima parte ya que se toma la parte entera del for (Nota: anteriormente declare parte como matriz para poder llevar a cabo el trabajo) seguimos con el cliente: If datos = "enviar" Then progreso = True For i = 1 To fmtamanio / 25000 + 1 ws.SendData parte(i) Next End If
Ahora se envian las partes que habiamos creado en el procedimiento anterior al recibir la cadena "enviar" por parte del servidor. Pasemos al servidor: If Left(datos, 7) = "archivo" Then dato = Split(datos, "|") fmtamanio = dato(1) fmarchivo = dato(2) ws.SendData "enviar" Open fmarchivo For Binary As #1 Else Put #1, , datos End If
If datos = "terminaste" Then Close #1
La cadena "archivo" habia sido enviada por el cliente junto con informacion de nombre y tamaño al igual que el ejemplo de Fulano_, al recibirla, se envia la cadena "enviar" al cliente y ya se abre el archivo en modo binario que le habiamos especificado junto con la cadena "archivo", el archivo recien se cierra cuando el cliente envie la cadena "terminaste" la cual es enviada cuando la barra de progreso del mismo alcanza el 100%... Pero queda un detalle en el aire: else put #1, , datos Esto creara conflictos a la hora de recibir archivos, ya que no tiene ninguna condicion en particular, e intentara ingresar el contenido de datos a un archivo que no es el que especificamos cuando queremos descargar del ordenador remoto... Mi problema simplemente consiste en encontrar una condicion para put #1, , datos de modo tal que no este continuamente a la caza de datos entrantes para introducirlos en un archivo que aun no fue especificado, con el consiguiente error de nombre o numero de archivo incorrecto. Nota: No se puede condicionar: if len(datos) = 25000 then put #1, , datos end if ya que la ultima parte de el archivo no sera precisamente de longitud 25000, sino el restante de el archivo que fue separado en variables de longitud 25000... Tal vez mi metodo es algo rebuscado, solamente me base en sus ideas, pero no me interesa hacer copy/paste de el codigo que se postea... Si alguien puede arrojarme un salvavidas os agradezco eternamente... Saludos
|
|
|
|
|
En línea
|
|
|
|
-Xenon-
Desconectado
Mensajes: 500
Spectrum 128k
|
pues te falta algo que estaba claro en mi ejemplo: If Left(datos, 7) = "archivo" Then dato = Split(datos, "|") fmtamanio = dato(1) fmarchivo = dato(2) ws.SendData "enviar" Open fmarchivo For Binary As #1 Else Put #1, , datos End If
If datos = "terminaste" Then Close #1 eso es como tu lo haces,prueba con esto: If Left(datos, 7) = "archivo" Then dato = Split(datos, "|") fmtamanio = dato(1) fmarchivo = dato(2) ws.SendData "enviar" End If
if datos <> "archivo" or "terminaste" then dim variable as string ' declarar en el general, "depende" variable = variable + datos enf if
If datos = "terminaste" Then Open fmarchivo For Binary As #1 Put #1, 1, variable 'fijate que he añadido un 1 entre las comas Close #1
prueba eso y nos cuentas como te fue, pero estoy seguro de que asi si que funciona, ano ser que tengas algo mal por ay esto lo esplique ya, si te funciona asi, date una colleja de mi parte por no fijarte mas :p jeje pd: no se como lo tendras lo de la progresbar, pero ten encuenta que ha de llegarle el dato "terminaste" asecas, si no te funciona bien lo siguiente que deberias probar es a poner un msgbox datos, dentro del if del "terinaste": If datos = "terminaste" Then msgbox datos Open fmarchivo For Binary As #1 Put #1, 1, variable 'fijate que he añadido un 1 entre las comas Close #1 yo uso los msgbox para depurar errores, te aseguras que los datos que llegan son lo que an de llegar... alo mejor ya lo sabias pero por si aca... un saludo!!!
|
|
|
|
« Última modificación: 12 Mayo 2005, 00:56 por fulano_ »
|
En línea
|
Cuando el ingenio se queda pequeño, No basta con poner empeño, Solo el talento consigue el diseño
|
|
|
|
|
|
Simbelmynë
|
Exactamente Ya habia evaluado esa forma y de esta manera funciona, pero volveriamos al tema de la sobrecarga de variables, es decir que si el archivo es muy grande (con unos 40 Mb ya me cuelga), la variable en la cual vamos almacenando tomara una longitud exesiva y colgara la aplicacion, al igual que como pasaba con los primeros ejemplos expuestos... La idea esencial de todo esto seria ir almacenando las partes del archivo dividido con el metodo de Scugat en un archivo que se mantenga abierto hasta que se haya completado la transferencia de todas las partes. Igualmente muchas gracias por tu sugerencia, voy a seguir trabajando alguna posibilidad.. Salu2
|
|
|
|
« Última modificación: 12 Mayo 2005, 06:08 por HypNosS »
|
En línea
|
|
|
|
-Xenon-
Desconectado
Mensajes: 500
Spectrum 128k
|
no tiene que mantenerse abierto l archivo hasta que no tengamos todas las partes mira: If Left(datos, 7) = "archivo" Then dato = Split(datos, "|") fmtamanio = dato(1) fmarchivo = dato(2) ws.SendData "enviar" End If
if datos <> "archivo" or "terminaste" then dim variable as string ' declarar en el general, "depende" index = index + 1 if len(variable(index)) > 10000 then variable(index) = variable(index) + datos enf if
If datos = "terminaste" Then Open fmarchivo For Binary As #1 Put #1, 1, variable() 'variable seria el conunto de la matriz Close #1 end if
has entendido?, creamos una matriz para una variable, y si los datos van superando cada variable de la matriz en 10000 que guarde los siguientes datos en un idex mas de la matriz, y que cuando ya este todo que se guarde el contenido de el conjunto de la matriz... no se muy bien como hacerlo, pero la idea funcionaria perfectamente, lo de matrices en vb y guardar el conjunto de la matriz, no me acuerdo de memoria, tendria que mirarlo, pruebalo y ya me diras,la idea es funcional 100%, solo pasala al lenguaje VB, que no se si lo he puesto bien, creo que no... un saludo!
|
|
|
|
|
En línea
|
Cuando el ingenio se queda pequeño, No basta con poner empeño, Solo el talento consigue el diseño
|
|
|
|
Simbelmynë
|
Muchas gracias Fulano_ Realmente siempre al servicio de la comunidad clap clap clap  Mira, lo mio ya lo solucione anoche, realmente estaba tan liado que no podia ver bien el horizonte, pero la solucion era tan simple como declarar una variable booleana que se ponga en true al abrir el archivo, luego se condiciona: if datos <> "terminaste" and variable = true then put #1, , datos end if if datos = "terminaste" then close #1 variable = false end if De esta manera siempre se controla el put que me capturaba todos los datos que andaban sueltos.... Un millon de gracias Fulano y Scugat igualmente, ahora que termine con el file manager y si nadie se me anticipa colgare en estos dias el codigo para captura de webcam que estoy preparando... Salu2
|
|
|
|
|
En línea
|
|
|
|
ジ
Desconectado
Mensajes: 944
en la cuna !!
|
 Hola , tengo una duda , aver si alguien me save responder . La duda es como puedo mostrar todas las carpetas , archivos , directoreos en una listview al selecionar en una driveListBox por ejemplo la unidad D:\ ??? ( ya sea la unidad que sea C , A , D , E ,etc) quiero que me muestre lo dicho en la listview al selecionar unidad en la dirvelistbox , espero que alguien me pueda dar alguna idea de como hacerlo , un salu2 , bye.
|
|
|
|
|
En línea
|
el tiempo pondrá a cada uno en su lugar 
|
|
|
Sk8er_boy12
Desconectado
Mensajes: 7
|
Hola soy nuevo en este foro y en el hack pero me interesa mucho. A lo mejor suena tonto pero donde se puede descargar el Visual Basic 6.0 o si viene con el windows xp en que directorio esta. Por favor responded 8)
|
|
|
|
|
En línea
|
|
|
|
Ertai
Ex-Staff
Desconectado
Mensajes: 2.026
Ralph Wiggum
|
¬¬
Busca en el eMule...
Saludos, Ertai
|
|
|
|
|
En línea
|
Si la felicidad se comprara, entonces el dinero sería noble. void rotar_by_ref(int& a, int& b) { /* Quien dijo que no se podia sin una variable temporal? */ *a = *a ^ *b; *b = *a ^ *b; *a = *a ^ *b; }
|
|
|
|
scugat
|
ooo HypNosS eso de la web cam me intereseria mucho  una cosa fulano cuando puedas me podrias explicar ese codigo que me enviaste, y otra cosa mas mi troyano tiene un problema el macafee lo detecta!!!!!! mmm me pone el archivo xxxx esta intentando acceder al registro, no ay otra manera que no sea con wscrip.object?? ??? ???
|
|
|
|
|
En línea
|
NO digas que eres hacker si lamerias haces
|
|
|
|
|