Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Elemental Code en 21 Abril 2011, 16:46 pm



Título: mShred [Pseudo-Borrado Seguro desde VB6.0]
Publicado por: Elemental Code en 21 Abril 2011, 16:46 pm
Hola.
Estoy armando mi nueva App "Shredder" para poner en practica lo que aprendi de como funciona un hdd y como borra windows.
Asi que esto, no va a hacer que el archivo desaparezca del disco. Pero cando lo encuentres no va a servir ni para jugar con tierra :D

PD: Si alguien tiene idea de como ****** hago para verificar si un proceso tiene abierto mi querido archivo. Que se ponga en contacto :D

Código
  1. '---------------------------------------------------------------------------------------
  2. ' Module    : mShred
  3. ' Author    : Elemental Code
  4. ' Date      : 21/04/2011
  5. ' Purpose   : Delete a file safer than windows.
  6. '---------------------------------------------------------------------------------------
  7.  
  8. Option Explicit
  9.  
  10. Public Function Shred(ByRef sPath As String, Optional lLoops As Long = 1) As Boolean
  11. Dim Data()          As Byte
  12. Dim DataCero()      As Byte
  13. Dim DataRandom()    As Byte
  14. Dim i               As Long
  15. Dim fLen            As Long
  16.  
  17. On Error GoTo error_Sub
  18.    SetAttr sPath, vbNormal
  19.    fLen = FileLen(sPath)
  20.    ReDim Data(fLen) As Byte
  21.    ReDim DataCero(fLen) As Byte
  22.    ReDim DataRandom(fLen) As Byte
  23.  
  24.    For i = 0 To fLen - 1
  25.        Data(CInt(i)) = &HFF
  26.        DataCero(CInt(i)) = &H0
  27.        If i Mod 2 = 0 Then
  28.            DataRandom(CInt(i)) = &H0
  29.        Else
  30.            DataRandom(CInt(i)) = &HFF
  31.        End If
  32.    Next i
  33.  
  34.    For i = 0 To lLoops
  35.        Open sPath For Binary Access Write As 1
  36.            Put #1, , Data
  37.        Close #1
  38.        Open sPath For Binary Access Write As 2
  39.            Put #2, , DataCero
  40.        Close #2
  41.        Open sPath For Binary Access Write As 3
  42.            Put #3, , DataRandom
  43.        Close #3
  44.    Next i
  45.    Kill (sPath)
  46.    Shred = True
  47. Exit Function
  48.  
  49. error_Sub:
  50. Shred = False
  51. End Function
  52.  

PD: Si alguien me explica como funciona el comando Freefile para no tener que usar numeros, se lo agradezco :D