mrbond007 Posted March 8, 2007 Share Posted March 8, 2007 (edited) AU3-SD(Secure Delete) is a File Shredder that lets you choose a secure method to delete the file so it cannot be recovered any more. When you delete a file, Windows doesn't actually remove the contents of the file from your hard drive. Windows only deletes a reference to the file from a table that lists all files on your computer. Windows says that the file is deleted, but the content of the file still exists so anybody who uses undelete programs can recover the file and expose your secrets. Your hard drive might appear clean but still be full of 'sensitive material'. AU3-SD allows you to choose one of these shredding mehods:Zero : Overwrites each deleted file with Zero's.Random-Character : Overwrites each deleted file with one random Generated character.Random-Chunk Overwrites each portion of each deleted file with random generated characters.Each of the above methods will scramble the file size for better results.And allows you to choose how many times to overwrite the target files.Normally looping from 1 to 7 times will stop software recovery tools, while looping from 13 to 37 will stop both hardware and software recovery tools.An extra option is "Scramble File Attributes" that changes the file date to make it even harder to recover it.I've tried many programs like "GetDataBack-NTFS", "Active@ Undelete" and "Restoration" but they all failed to recover the file back. Even supreme programs like "F.R.E.D" and "Encace" won't make any difference.And if that wasn't enough i've included the Disk Free Space Washer option to overwrite the empty space on your drive and to shutdown your PC when done(cause the bigger your drive the longer it will take). I recommend using this twice a week.Notes :Press "F4" anytime to stop and close AU3-SD.When using the "Wash Disk Empty Space" option windows will worn you about insuffisent disk space.Make sure the file you want to delete is unlocked(example if you want to delete index.dat you have to kill explorer.exe, delete index.dat and then run explorer.exe again).I'm still waiting for more cool functions to come like "FileRename" in order to improve AU3-SD ** FileMove isn't good enough **Note : on some versions like 98/ME the pc might appear frozen but not to worry cause it works fine.About "Wash Empty Disk Sapce" can be best used before going to sleepGood Luck protecting your privacy. expandcollapse popup;======================================================================================== ; Description: AU3-SD ; Author(s): MrBond007 ; Comments: Kills sensitive data and makes it unrecoverable ; ; Credits also goes to the authors of GuiListView.au3 and File.au3 ; Remember if you like AutoIt Donate to the AutoIt Project: ; http://www.autoitscript.com/donate.php ;======================================================================================== #include <GUIConstants.au3> #include <GuiListView.au3> #include <File.au3> #RequireAdmin Opt("TrayIconHide", 1) GLobal $fop, $m, $i, $s, $r, $ra1, $ra2, $ra3, $contain, $siz, $tHandle, $Button[8], $gChr, $split Global $WM_DROPFILES = 0x233 Global $gaDropFiles[1] If StringInStr(@AutoItVersion, "3.2.2.") Or StringInStr(@AutoItVersion, "3.2.1.") Or StringInStr(@AutoItVersion, "3.1.") Then $tHandle = "2" Else $tHandle = "18" EndIf $HomeDrive = @HomeDrive If StringRight($HomeDrive, 1) == "\" Then $HomeDrive = StringLeft($HomeDrive, 2) If $HomeDrive = "" Then $HomeDrive = StringLeft(@WindowsDir, 2) HotKeySet("!x", "_Close") $version = "AU3-SD [ One Fast File Shredder ]" If WinExists($version) Then Exit AutoItWinSetTitle($version) $gui_handle = GUICreate("AU3-SD [ One Fast File Shredder ]", 445, 450, -1, -1, -1, $WS_EX_ACCEPTFILES) GUICtrlCreateGroup("Choose the File(s) + The Deletion Method", 5, 2, 435, 240) GUICtrlSetBkColor(-1, 0x20B7FF) $List_V = GUICtrlCreateListView("Name | Size", 10, 20, 325, 180) GUICtrlSetState(-1, $GUI_DROPACCEPTED) GUICtrlSendMsg($List_V, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_GRIDLINES, $LVS_EX_GRIDLINES) _GUICtrlListView_SetColumnWidth($List_V, 0, 240) _GUICtrlListView_SetColumnWidth($List_V, 1, 60) $List_handle = ControlGetHandle($gui_handle, "", $list_V) $Button[0] = GUICtrlCreateButton("Choose", 340, 20, 95, 25) $Button[1] = GUICtrlCreateButton("Remove From List", 340, 58, 95, 25) $Button[2] = GUICtrlCreateButton("Remove All", 340, 97, 95, 25) $Button[7] = GUICtrlCreateButton("Let's Rock", 340, 137, 95, 25) $Button[3] = GUICtrlCreateButton("Clean Recycle Bin", 340, 175, 95, 25) $Combo = GUICtrlCreateCombo("Zero", 10, 210, 150, 120, $CBS_DROPDOWNLIST) GUICtrlSetData(-1, "Random Character") GUICtrlSetData(-1, "Random-Chunk") $inp2 = GUICtrlCreateInput("1", 170, 210, 40, 20, $ES_READONLY) GUICtrlCreateLabel("X Loop Times", 215, 213, 80, 20) $updown = GUICtrlSetLimit(GUICtrlCreateUpdown($inp2), 99, 1) $Checkpl = GUICtrlCreateCheckbox("Scramble File Attributes", 305, 210) GUICtrlCreateGroup("Wash Disk Empty Space", 5, 245, 435, 175) GUICtrlSetBkColor(-1, 0x20B7FF) $list = GUICtrlCreateListView("Drive | Used Space | Free Space | Type", 10, 265, 425, 95) GUICtrlSendMsg($list, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_GRIDLINES, $LVS_EX_GRIDLINES) GUICtrlSendMsg($list, $LVM_SETEXTENDEDLISTVIEWSTYLE, $LVS_EX_CHECKBOXES, $LVS_EX_CHECKBOXES) _GUICtrlListView_SetColumnWidth($list, 0, 100) _GUICtrlListView_SetColumnWidth($list, 1, 125) _GUICtrlListView_SetColumnWidth($list, 2, 125) _GUICtrlListView_SetColumnWidth($list, 3, 70) $List_hwnd = ControlGetHandle($gui_handle, "", $list) $drives = DriveGetDrive("Fixed") For $i = 1 To $drives[0] $totals = Round(DriveSpaceTotal($drives[$i]) / 1024, 1) $spacef = Round(DriveSpaceFree($drives[$i]) / 1024, 1) $spaceu = $totals - $spacef GUICtrlCreateListViewItem(StringUpper($drives[$i]) & "|" & $spaceu & " GB" & "|" & $spacef & " GB" & "|" & DriveGetFileSystem($drives[$i]), $list) Next $Button[4] = GUICtrlCreateButton("Wash", 175, 365, 100, 25) $Checkp2 = GUICtrlCreateCheckbox("Shutdown PC when done washing", 10, 395) $Button[5] = GUICtrlCreateButton("Exit", 335, 365, 100, 25) $Button[6] = GUICtrlCreateButton("Refresh", 10, 365, 100, 25) $prog = GUICtrlCreateProgress(6, 429, 250, 15) $label = GUICtrlCreateLabel("", 115, 430, 35, 15) GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT) $label2 = GUICtrlCreateLabel("", 300, 428, 150, 20) $break = 1 GUISetState() GUIRegisterMsg($WM_DROPFILES, "WM_DROPFILES_FUNC") While 1 $msg = GUIGetMsg() Select Case $msg = $GUI_EVENT_CLOSE ExitLoop Case $msg = $GUI_EVENT_DROPPED _FilesDropped() Case $msg = $Button[0] _Dialog() Case $msg = $Button[1] _GUICtrlListView_DeleteItemsSelected($List_handle) Case $msg = $Button[2] _GUICtrlListView_DeleteAllItems($List_handle) Case $msg = $Button[7] _StartShredding() Case $msg = $Button[3] _PrepareBin() Case $msg = $Button[4] Progress_On() _Wash() Progress_Off() Case $msg = $Button[5] _Close() Case $msg = $Button[6] _RefreshList() EndSelect WEnd Func _FilesDropped() For $i = 0 To UBound($gaDropFiles) - 1 If StringInStr(FileGetAttrib($gaDropFiles[$i]), "D") Then ContinueLoop Else If _GUICtrlListView_FindText($List_V, $gaDropFiles[$i], -1, False, True) = -1 Then GUICtrlCreateListViewItem($gaDropFiles[$i] & "|" & Round(FileGetSize($gaDropFiles[$i]) / 1024, 2), $List_V) EndIf Next EndFunc Func _Dialog() $diag = FileOpenDialog("choose the file(s)", "", "(*.*)", 4) If $diag <> "" Then If StringInStr($diag, "|") > 0 Then $strip = StringSplit($diag, "|") For $i = 2 To $strip[0] If StringRight($strip[1], 1) == "\" Then If _GUICtrlListView_FindText($List_V, $strip[1] & $strip[$i], -1, False, True) = -1 Then GUICtrlCreateListViewItem($strip[1] & $strip[$i] & "|" & Round(FileGetSize($strip[1] & $strip[$i]) / 1024, 1) & " KB", $List_V) Else If _GUICtrlListView_FindText($List_V, $strip[1] & "\" & $strip[$i], -1, False, True) = -1 Then GUICtrlCreateListViewItem($strip[1] & "\" & $strip[$i] & "|" & Round(FileGetSize($strip[1] & "\" & $strip[$i]) / 1024, 1) & " KB", $List_V) EndIf Next Else If _GUICtrlListView_FindText($List_V, $diag, -1, False, True) = -1 Then GUICtrlCreateListViewItem($diag & "|" & Round(FileGetSize($diag) / 1024, 1) & "KB", $List_V) EndIf EndIf EndFunc Func _StartShredding() GUICtrlSetData($label, "") GUICtrlSetData($prog, 0) GUICtrlSetState($Button[4], $GUI_DISABLE) GUICtrlSetData($Button[7], "Stop") Progress_On() GetChr() $begin = TimerInit() Opt("GUIOnEventMode", 1) GUICtrlSetOnEvent($Button[7], "_Stpp") Local $loop = 0 $oriG = _GUICtrlListView_GetItemCount($List_handle) If $oriG >= 1 Then For $z = 0 To _GUICtrlListView_GetItemCount($List_handle) If $oriG > 1 Then $loop += 1 GUICtrlSetData($prog, $loop * 100 / $oriG) GUICtrlSetData($label, Round($loop * 100 / $oriG) & "%") GUICtrlSetData($label2, "Killing File " & $loop) EndIf $split = StringSplit(_GUICtrlListView_GetItemText($List_handle, $z), "|") If FileGetSize($split[1]) <= 1000 Then $siz = 1 Else $siz = Round(FileGetSize($split[1]) / 1000) EndIf For $m = 1 To GUICtrlRead($inp2) If $oriG = 1 Then GUICtrlSetData($prog, Round($m * 100 / GUICtrlRead($inp2))) GUICtrlSetData($label, Round($m * 100 / GUICtrlRead($inp2)) & "%") GUICtrlSetData($label2, "Killing File(s)") EndIf $fop = FileOpen($split[1], $tHandle) For $x = 1 To $siz FileWrite($fop, $gChr) If $break = 2 Then FileClose($fop) ExitLoop EndIf Next FileClose($fop) If GUICtrlRead($Checkpl) = $GUI_CHECKED Then momo() If $break = 2 Then $z = _GUICtrlListView_GetItemCount($List_handle) + 1 $m = 0 $break = 3 ExitLoop EndIf Next If $break = 1 Then $split = StringSplit(_GUICtrlListView_GetItemText($List_handle, $z), "|") FileDelete($split[1]) _GUICtrlListView_DeleteItem($List_handle, $z) $z = $z - 1 If _GUICtrlListView_GetItemCount($List_handle) = 0 Then ExitLoop EndIf Next EndIf $break = 1 Opt("GUIOnEventMode", 0) GUICtrlSetData($Button[7], "Let's Rock") $dif = Round(TimerDiff($begin) / 1000) GUICtrlSetData($label2, "Done In " & $dif & " seconds :)") Progress_Off() EndFunc Func GetChr() $gChr = "" $ReadComb = GUICtrlRead($Combo) If $ReadComb = "Zero" Then For $x = 0 To 1024 $gChr = $gChr & Chr(48) Next ElseIf $ReadComb = "Random Character" Then $rChr = Random(0, 255, 1) For $x = 0 To 1024 $gChr &= Chr($rChr) Next ElseIf $ReadComb = "Random-Chunk" Then $rChr = Random(0, 255, 1) For $x = 0 To 1024 $gChr &= Chr(Random(0, 255, 1)) Next EndIf Return $gChr EndFunc Func mom() $ra1 = Random(1960, 2070, 1) $ra2 = Random(1, 12, 1) $ra3 = Random(1, 31, 1) If $ra2 < 10 Then $ra2 = "0" & $ra2 If $ra3 < 10 Then $ra3 = "0" & $ra3 EndFunc Func momo() $o = 0 $t = 0 For $o = 0 To 20 For $t = 0 To 2 mom() FileSetTime($split[1], $ra1 & $ra2 & $ra3, $t) Next Next EndFunc Func _PrepareBin() Progress_On() If @OSVersion == "WIN_VISTA" Then If StringInStr(FileGetAttrib($HomeDrive & "\$RECYCLE.BIN"), "D") Then $contain = "\$RECYCLE.BIN" Else If StringInStr(FileGetAttrib($HomeDrive & "\recycler"), "D") Then $contain = "\recycler" ElseIf StringInStr(FileGetAttrib($HomeDrive & "\recycled"), "D") Then $contain = "\recycled" EndIf EndIf If $contain <> "" Then _ShredBin() Progress_Off() EndIf EndFunc Func _Wash() GUICtrlSetData($Button[4], "Stop Washing") GUICtrlSetState($Button[4], $GUI_ENABLE) GUICtrlSetState($Button[7], $GUI_DISABLE) If StringInStr(@AutoItVersion, "3.2.2.") Or StringInStr(@AutoItVersion, "3.2.1.") Or StringInStr(@AutoItVersion, "3.1.") Then $ver = "0" Else $ver = "16" EndIf $fname = "\temp" If @Compiled = 0 Then $fJunk = FileOpen(@AutoItExe, $ver) Else $fJunk = FileOpen(@ScriptFullPath, $ver) EndIf $readshot = FileRead($fJunk) GUICtrlSetData($label2, "Washing Drive") For $p = 0 To $drives[0] - 1 $drvindx = _GUICtrlListView_GetItemChecked($List_hwnd, $p) If $drvindx = 1 Then $string1 = _GUICtrlListView_GetItemText($List_hwnd, $p);C: F: If DriveGetFileSystem($string1) = "FAT32" Then $fop = FileOpen($string1 & $fname & ".txt", $tHandle) $spaceu = Round(DriveSpaceTotal($string1), 1) - Round(DriveSpaceFree($string1), 1) $calc = Round(DriveSpaceFree($string1)) Opt("GUIOnEventMode", 1) GUICtrlSetOnEvent($Button[4], "_Stpp") Local $rt = "", $yy = "" While Round(DriveSpaceFree($string1)) >= 10 $rt = $rt + 1 FileWrite($string1 & $fname & ".txt", $readshot) If $rt = 8000 Then $yy = $yy + 1 $fname &= $yy $rt = "" EndIf If Round(DriveSpaceFree($string1)) >= 10 Then $spaceu2 = (Round(DriveSpaceTotal($string1), 1) - Round(DriveSpaceFree($string1), 1)) - Round($spaceu) GUICtrlSetData($prog, ($spaceu2 / $calc * 100)) GUICtrlSetData($label, Round($spaceu2 / $calc * 100, 2) & "%") Else GUICtrlSetData($prog, 100) GUICtrlSetData($label, "100%") ExitLoop EndIf If $break = 2 Then $break = 1 GUICtrlSetData($label, "") $p = $drives[0] + 1 ExitLoop EndIf WEnd FileClose($fop) Opt("GUIOnEventMode", 0) _KillTemp() Else $fop = FileOpen($string1 & $fname & ".txt", $tHandle) $spaceu = Round(DriveSpaceTotal($string1), 1) - Round(DriveSpaceFree($string1), 1) $calc = Round(DriveSpaceFree($string1)) Opt("GUIOnEventMode", 1) GUICtrlSetOnEvent($Button[4], "_Stpp") Local $rt = "", $yy = "" While Round(DriveSpaceFree($string1)) >= 10 FileWrite($string1 & $fname & ".txt", $readshot) If Round(DriveSpaceFree($string1)) >= 10 Then $spaceu2 = (Round(DriveSpaceTotal($string1), 1) - Round(DriveSpaceFree($string1), 1)) - Round($spaceu) GUICtrlSetData($prog, ($spaceu2 / $calc * 100)) GUICtrlSetData($label, Round($spaceu2 / $calc * 100, 2) & "%") Else GUICtrlSetData($prog, 100) GUICtrlSetData($label, "100%") ExitLoop EndIf If $break = 2 Then $break = 1 GUICtrlSetData($label, "") $p = $drives[0] + 1 ExitLoop EndIf WEnd FileClose($fop) Opt("GUIOnEventMode", 0) _KillTemp() EndIf EndIf Next FileClose($fJunk) GUICtrlSetData($label2, "") GUICtrlSetData($Button[4], "Wash") GUICtrlSetState($Button[7], $GUI_ENABLE) If GUICtrlRead($Checkp2) = $GUI_CHECKED And StringInStr(GUICtrlRead($label), "100%") Then Shutdown(9) Else GUICtrlSetData($label, "") EndIf EndFunc Func _KillTemp() For $p = 1 To $drives[0] FileDelete($drives[$p] & "\temp*.*") Next EndFunc Func _ShredBin() $begin = TimerInit() GUICtrlSetState($Button[7], $GUI_DISABLE) GUICtrlSetState($Button[4], $GUI_DISABLE) GUICtrlSetData($prog, 0) GUICtrlSetData($label2, "Shredding Recycle Bin") RunWait('"' & @ComSpec & '" /c dir /a /b /s "' & $HomeDrive & $contain & '"\*.* > temp.txt"', '', @SW_HIDE) For $i = 0 To _FileCountLines("temp.txt") $s = 0 $t = 0 Local $gChr = "" $sRead = FileReadLine("temp.txt", $i) If FileGetSize($sRead) <= 1000 Then $siz = 1 Else $siz = Round(FileGetSize($sRead) / 1000) EndIf FileSetAttrib($sRead, "-RSH") $sOpen = FileOpen($sRead, $tHandle) For $x = 0 To 1024 $gChr = $gChr & Chr(Random(0, 255, 1)) Next For $s = 1 To Round($siz) FileWrite($sOpen, $gChr) Next FileClose($sOpen) GUICtrlSetData($prog, Round($i / _FileCountLines("temp.txt") * 100)) GUICtrlSetData($label, Round($i / _FileCountLines("temp.txt") * 100) & "%") Next FileRecycleEmpty($HomeDrive) FileDelete("temp.txt") $dif = Round(TimerDiff($begin) / 1000) GUICtrlSetData($label2, "Done In " & $dif & " seconds :)") GUICtrlSetState($Button[7], $GUI_ENABLE) GUICtrlSetState($Button[4], $GUI_ENABLE) EndFunc Func Progress_On() For $i = 0 To UBound($Button)-2 GUICtrlSetState($Button[$i], $GUI_DISABLE) Next EndFunc Func Progress_Off() For $i = 0 To UBound($Button)-1 GUICtrlSetState($Button[$i], $GUI_ENABLE) Next EndFunc Func WM_DROPFILES_FUNC($hWnd, $msgID, $wParam, $lParam) Local $nSize, $pFileName Local $nAmt = DllCall("shell32.dll", "int", "DragQueryFile", "hwnd", $wParam, "int", 0xFFFFFFFF, "ptr", 0, "int", 255) For $i = 0 To $nAmt[0] - 1 $nSize = DllCall("shell32.dll", "int", "DragQueryFile", "hwnd", $wParam, "int", $i, "ptr", 0, "int", 0) $nSize = $nSize[0] + 1 $pFileName = DllStructCreate("char[" & $nSize & "]") DllCall("shell32.dll", "int", "DragQueryFile", "hwnd", $wParam, "int", $i, "ptr", DllStructGetPtr($pFileName), "int", $nSize) ReDim $gaDropFiles[$i + 1] $gaDropFiles[$i] = DllStructGetData($pFileName, 1) $pFileName = 0 Next EndFunc Func _RefreshList() _GUICtrlListView_DeleteAllItems($List_hwnd) $drives = DriveGetDrive("Fixed") For $i = 1 To $drives[0] $totals = Round(DriveSpaceTotal($drives[$i]) / 1024, 1) $spacef = Round(DriveSpaceFree($drives[$i]) / 1024, 1) $spaceu = $totals - $spacef GUICtrlCreateListViewItem(StringUpper($drives[$i]) & "|" & $spaceu & " GB" & "|" & $spacef & " GB" & "|" & DriveGetFileSystem($drives[$i]), $list) Next EndFunc Func _Stpp() Opt("GUIOnEventMode", 0) $break = 2 EndFunc Func _Close() If WinActive($version) Then FileClose($fop) _KillTemp() Exit EndIf EndFunc Edited December 18, 2007 by mrbond007 Projects : Space Regain - Memory Fusion - PWGT - Chip-ITGames : BrainPain - BrainPain Director's Cut - ProSpeed Games Pack (New)Vista vs XP : the forbidden fight Link to comment Share on other sites More sharing options...
Pakku Posted March 8, 2007 Share Posted March 8, 2007 (edited) Hi, I took a look at your script and it wasn't that big at all, though it can be very effective, so... I like it and keep it up! EDIT: what exactly does the "Wash Disk Empty Space" option? Edited November 16, 2010 by Pakku How can someone use Windows without using AutoIt?That one would properly don't know how to handle a computer!My scripts:Send files over internetKind of RSS reader3Draw ProUDF: convert a character string to a binary one and backCalculate PiCommand line downloader (Youtube/Google video)Set the transparency of a window just by hitting a key!Secure your pcOther things:My filemanMy profilePM me Link to comment Share on other sites More sharing options...
mrbond007 Posted March 8, 2007 Author Share Posted March 8, 2007 (edited) Hi,I took a look at your script and it wasn't that big at all, though it can be very effective, so...I like it and keep it up!ArjanEDIT: what exactly does the "Wash Disk Empty Space" option?I'm glad to hear that , i got the idea from "Evidence Eliminator" and "window washer" Wash Disk empty space fills the empty space of your homedrive (C:) with crap to make already deleted files unrecoverable (ex: already deleted internet cache). Edited March 8, 2007 by mrbond007 Projects : Space Regain - Memory Fusion - PWGT - Chip-ITGames : BrainPain - BrainPain Director's Cut - ProSpeed Games Pack (New)Vista vs XP : the forbidden fight Link to comment Share on other sites More sharing options...
A. Percy Posted March 8, 2007 Share Posted March 8, 2007 Nice idea. Excelent. Só o que posso lhe dizer, bom é quando faz mal!My work:Au3Irrlicht - Irrlicht for AutoItMsAgentLib - An UDF for MSAgentAu3GlPlugin T2 - A 3D plugin for AutoIt...OpenGl Plugin - The old version of Au3GlPlugin.MAC Address Changer - Changes the MAC AddressItCopter - A dragonfly R/C helicopter simulator VW Bug user Pinheiral (Pinewood) city: http://pt.wikipedia.org/wiki/Pinheiral Link to comment Share on other sites More sharing options...
Pakku Posted March 8, 2007 Share Posted March 8, 2007 (edited) I'm glad to hear that , i got the idea from "Evidence Eliminator" and "window washer" Wash Disk empty space fills the empty space of your homedrive (C:) with crap to make already deleted files unrecoverable (ex: already deleted internet cache).Oke, i will use that once a month or so! Edited November 16, 2010 by Pakku How can someone use Windows without using AutoIt?That one would properly don't know how to handle a computer!My scripts:Send files over internetKind of RSS reader3Draw ProUDF: convert a character string to a binary one and backCalculate PiCommand line downloader (Youtube/Google video)Set the transparency of a window just by hitting a key!Secure your pcOther things:My filemanMy profilePM me Link to comment Share on other sites More sharing options...
mikiutama Posted March 8, 2007 Share Posted March 8, 2007 damn... this one rocks... and really works... thanks a whole lot mrbond007!! Link to comment Share on other sites More sharing options...
WeMartiansAreFriendly Posted March 8, 2007 Share Posted March 8, 2007 damn... this one rocks... and really works... thanks a whole lot mrbond007!!i wrote one of these before. i tried the fileatt scramble but it pissed me off.. looks like the mom() function is working..nice script Don't bother, It's inside your monitor!------GUISetOnEvent should behave more like HotKeySet() Link to comment Share on other sites More sharing options...
mrbond007 Posted March 12, 2007 Author Share Posted March 12, 2007 Updated to version 2 Projects : Space Regain - Memory Fusion - PWGT - Chip-ITGames : BrainPain - BrainPain Director's Cut - ProSpeed Games Pack (New)Vista vs XP : the forbidden fight Link to comment Share on other sites More sharing options...
GEOSoft Posted March 12, 2007 Share Posted March 12, 2007 Good script and works well. Just a hint..........If you run it against files in the recycle bin, Google for "Recycle Bin" Repair. Every file scrubber I've ever seen destroyed the RB George Question about decompiling code? Read the decompiling FAQ and don't bother posting the question in the forums.Be sure to read and follow the forum rules. -AKA the AutoIt Reading and Comprehension Skills test.*** The PCRE (Regular Expression) ToolKit for AutoIT - (Updated Oct 20, 2011 ver:3.0.1.13) - Please update your current version before filing any bug reports. The installer now includes both 32 and 64 bit versions. No change in version number. Visit my Blog .. currently not active but it will soon be resplendent with news and views. Also please remove any links you may have to my website. it is soon to be closed and replaced with something else. "Old age and treachery will always overcome youth and skill!" Link to comment Share on other sites More sharing options...
mrbond007 Posted March 13, 2007 Author Share Posted March 13, 2007 Good script and works well. Just a hint..........If you run it against files in the recycle bin, Google for "Recycle Bin" Repair. Every file scrubber I've ever seen destroyed the RBI'll add this function in the next version Projects : Space Regain - Memory Fusion - PWGT - Chip-ITGames : BrainPain - BrainPain Director's Cut - ProSpeed Games Pack (New)Vista vs XP : the forbidden fight Link to comment Share on other sites More sharing options...
mrbond007 Posted April 23, 2007 Author Share Posted April 23, 2007 (edited) Updated to version 3 (see first post) Note: About the recycle bin cleaning, it was tested with XP and 98, so maybe it will work on different versions as well. Edited April 23, 2007 by mrbond007 Projects : Space Regain - Memory Fusion - PWGT - Chip-ITGames : BrainPain - BrainPain Director's Cut - ProSpeed Games Pack (New)Vista vs XP : the forbidden fight Link to comment Share on other sites More sharing options...
RazerM Posted April 23, 2007 Share Posted April 23, 2007 Great idea. This script is very good. My Programs:AInstall - Create a standalone installer for your programUnit Converter - Converts Length, Area, Volume, Weight, Temperature and Pressure to different unitsBinary Clock - Hours, minutes and seconds have 10 columns each to display timeAutoIt Editor - Code Editor with Syntax Highlighting.Laserix Editor & Player - Create, Edit and Play Laserix LevelsLyric Syncer - Create and use Synchronised Lyrics.Connect 4 - 2 Player Connect 4 Game (Local or Online!, Formatted Chat!!)MD5, SHA-1, SHA-256, Tiger and Whirlpool Hash Finder - Dictionary and Brute Force FindCool Text Client - Create Rendered ImageMy UDF's:GUI Enhance - Enhance your GUIs visually.IDEA File Encryption - Encrypt and decrypt files easily! File Rename - Rename files easilyRC4 Text Encryption - Encrypt text using the RC4 AlgorithmPrime Number - Check if a number is primeString Remove - remove lots of strings at onceProgress Bar - made easySound UDF - Play, Pause, Resume, Seek and Stop. Link to comment Share on other sites More sharing options...
mikiutama Posted April 26, 2007 Share Posted April 26, 2007 (edited) edited and add a few more functions...-add scramble filename for better security-add drive name and drive type column-add about button expandcollapse popup#include <GUIConstants.au3> #include <GuiListView.au3> #include <GuiList.au3> #include <File.au3> Opt("TrayIconHide", 1) Dim $fop, $m, $i, $s, $r, $ra1, $ra2, $ra3, $contain, $container, $boheim HotKeySet("{F4}", "stp") $version = "AU3-Secure Deleter" If WinExists($version) Then Exit AutoItWinSetTitle($version) GUICreate($version, 445, 440, -1, -1, -1) GUICtrlSetBkColor(-1, 0xAEC0FF) GUICtrlCreateGroup("Select File(s) to ERASE...", 5, 2, 435, 175) GUICtrlSetBkColor(-1, 0xAEC0FF) $inp1 = GUICtrlCreateListView("File(s) Name | Size", 10, 20, 325, 150) _GUICtrlListViewSetColumnWidth($inp1, 0, 250) _GUICtrlListViewSetColumnWidth($inp1, 1, 70) $ok1 = GUICtrlCreateButton("Browse For Files", 340, 30, 95, 40) $ok2 = GUICtrlCreateButton("Remove From List", 340, 75, 95, 40) $ok3 = GUICtrlCreateButton("Remove All Files", 340, 120, 95, 40) GUICtrlCreateGroup("Select ERASER Method... ( Rewriting files with... )", 5, 180, 435, 50) GUICtrlSetBkColor(-1, 0xAEC0FF) $comb = GUICtrlCreateCombo("Zeroes", 10, 200, 150, 20) GUICtrlSetData(-1, "Random Character") GUICtrlSetData(-1, "Random-Reverse") GUICtrlSetData(-1, "ROCLE") GUICtrlSetData(-1, "AU3 Pass 1") GUICtrlSetData(-1, "AU3 Random Pass") $inp2 = GUICtrlCreateInput("1", 170, 200, 40, 20, $ES_READONLY) GUICtrlCreateLabel("X Rewrite Times", 215, 203, 80, 20) $updown = GUICtrlSetLimit(GUICtrlCreateUpdown($inp2), 99, 1) $Checkpm = GUICtrlCreateCheckbox("Scramble File Name", 305, 188) $Checkpl = GUICtrlCreateCheckbox("Scramble File Attributes", 305, 207) GUICtrlCreateGroup("Destroy the File(s)", 5, 235, 115, 50) GUICtrlSetBkColor(-1, 0xAEC0FF) $ok4 = GUICtrlCreateButton("Start", 30, 255, 70, 20) GUICtrlCreateGroup("Recycle Bin Option", 140, 235, 150, 50) GUICtrlSetBkColor(-1, 0xAEC0FF) $ok5 = GUICtrlCreateButton("Clean Recycle Bin", 165, 255, 100, 20) GUICtrlCreateGroup("About The Program", 310, 235, 130, 50) GUICtrlSetBkColor(-1, 0xAEC0FF) $ok8 = GUICtrlCreateButton("About", 340, 255, 70, 20) GUICtrlCreateGroup("Secure Empty Disk Space ( This process is time consuming... )", 5, 290, 435, 130) GUICtrlSetBkColor(-1, 0xAEC0FF) $list = GUICtrlCreateListView("Drive | Drive Type | Total Space | Used Space | Free Space", 10, 310, 425, 80) _GUICtrlListViewSetColumnWidth($list, 0, 100) _GUICtrlListViewSetColumnWidth($list, 1, 80) _GUICtrlListViewSetColumnWidth($list, 2, 80) _GUICtrlListViewSetColumnWidth($list, 3, 80) _GUICtrlListViewSetColumnWidth($list, 4, 80) $ok6 = GUICtrlCreateButton("Secure", 290, 395, 75, 20) $ok9 = GUICtrlCreateButton("Refresh List", 204, 395, 80, 20) $Checkp2 = GUICtrlCreateCheckbox("Shutdown PC when done securing", 10, 395) $ok7 = GUICtrlCreateButton("Exit", 371, 395, 60, 20) $labla = GUICtrlCreateLabel("Deleting File(s)... Please Wait...", 7, 425, 150, 50) GUICtrlSetState(-1, $GUI_HIDE) $lablb = GUICtrlCreateLabel("Securing Free Space... Please Wait...", 7, 425, 200, 50) GUICtrlSetState(-1, $GUI_HIDE) GUISetState() driv() While 1 $msg = GUIGetMsg() Select Case $msg = $GUI_EVENT_CLOSE ExitLoop Case $msg = $ok1 $diag = FileOpenDialog("Select file(s) to Secure Delete ...", @WorkingDir, "(*.*)", 4) If $diag = "" Then ContinueLoop Else If StringInStr($diag, "|") > 0 Then $strip = StringSplit($diag, "|") For $i = 2 To $strip[0] GUICtrlCreateListViewItem($strip[1] & "\" & $strip[$i] & "|" & Round(FileGetSize($strip[1] & "\" & $strip[$i]) / 1024, 2) & " KB", $inp1) Next Else GUICtrlCreateListViewItem(FileGetShortName($diag) & "|" & Round(FileGetSize($diag) / 1024, 2) & "KB", $inp1) EndIf EndIf Case $msg = $ok2 $drvindx = _GUICtrlListViewGetCurSel($inp1) _GUICtrlListViewDeleteItem($inp1, $drvindx) Case $msg = $ok3 _GUICtrlListViewDeleteAllItems($inp1) Case $msg = $ok4 $res1 = GUICtrlRead($comb) If $res1 == "Zeroes" Then If StringIsAlNum(GUICtrlRead($inp2)) Then prog() For $m = 0 To GUICtrlRead($inp2) methb() Next killa() _GUICtrlListViewDeleteAllItems($inp1) progoff() EndIf ElseIf $res1 == "Random Character" Then If StringIsAlNum(GUICtrlRead($inp2)) Then prog() For $m = 0 To GUICtrlRead($inp2) metha() Next killa() _GUICtrlListViewDeleteAllItems($inp1) progoff() EndIf ElseIf $res1 == "Random-Reverse" Then If StringIsAlNum(GUICtrlRead($inp2)) Then prog() For $m = 0 To GUICtrlRead($inp2) methc() Next killa() _GUICtrlListViewDeleteAllItems($inp1) progoff() EndIf ElseIf $res1 == "ROCLE" Then If StringIsAlNum(GUICtrlRead($inp2)) Then prog() For $m = 0 To GUICtrlRead($inp2) metha() methb() methc() Next killa() _GUICtrlListViewDeleteAllItems($inp1) progoff() EndIf ElseIf $res1 == "AU3 Pass 1" Then If StringIsAlNum(GUICtrlRead($inp2)) Then prog() For $m = 0 To GUICtrlRead($inp2) methd() Next killa() _GUICtrlListViewDeleteAllItems($inp1) progoff() EndIf ElseIf $res1 == "AU3 Random Pass" Then If StringIsAlNum(GUICtrlRead($inp2)) Then prog() For $m = 0 To GUICtrlRead($inp2) methe() Next killa() _GUICtrlListViewDeleteAllItems($inp1) progoff() EndIf EndIf Case $msg = $ok5 prog() If DirGetSize(@HomeDrive & "\recycler") > 0 Then $contain = "\recycler" recycl() EndIf If DirGetSize(@HomeDrive & "\recycled") > 0 Then $contain = "\recycled" recycl() EndIf progoff() Case $msg = $ok6 prog() wshh() progoff() Case $msg = $ok7 stp() Case $msg = $ok8 MsgBox(64, $version, "AU3-Secure Deleter is a File Shredder that lets you choose a secure method to delete the file so it cannot be recovered anymore. When you delete a file, Windows doesn't actually remove the contents of the file from your hard drive. Windows only deletes a reference to the file from a table that lists all files on your computer. Windows says that the file is deleted, but the content of the file still exists so anyone who uses undelete programs can recover the file and retrives your informations. Your hard drive might appear clean but is still be full of ""sensitive material""."&@CRLF&@CRLF&"AU3-Secure Deleter allows you to choose one of these shredding methods :"&@CRLF&@CRLF&"Zeroes - Overwrites each deleted file with Zero's."&@CRLF&"Random Character - Overwrites each deleted file with random characters."&@CRLF&"Random-Reverse - Overwrites each deleted file using an advanced Random method."&@CRLF&"ROCLE - Overwrites each deleted file using Zeroes, Random Character and Random-Reverse methods."&@CRLF&"AU3 Pass 1 - Overwrites each deleted file with Autoit technique and scrambles the file size."&@CRLF&"AU3 Random Pass - Overwrites each deleted file with an advanced Autoit technique and scrambles the file size."&@CRLF&@CRLF&"An extra option is :"&@CRLF&@CRLF&"Scramble File Name - changes the file name before deleting to make it even harder to recover it."&@CRLF&"Scramble File Attributes - changes the file date to make it even harder to recover it."&@CRLF&"Secure Empty Disk Space - option to overwrite the empty space on your drive and to shutdown your PC when done(cause the bigger your drive the longer it will take). Recommended using this once a week."&@CRLF&@CRLF&"Press F4 at anytime to exit...") Case $msg = $ok9 _GUICtrlListViewDeleteAllItems($list) driv() EndSelect WEnd Func driv() $drives = DriveGetDrive("Fixed") For $i = 1 To $drives[0] $totals = Round(DriveSpaceTotal($drives[$i]) / 1024, 3) $spacef = Round(DriveSpaceFree($drives[$i]) / 1024, 3) $spaceu = $totals - $spacef $drname = StringUpper($drives[$i])&"\"&DriveGetLabel($drives[$i]) GUICtrlCreateListViewItem($drname & "|" & "Fixed" & "|" & $totals & " GB" & "|" & $spaceu & " GB" & "|" & $spacef & " GB", $list) Next $drive = DriveGetDrive("Removable") For $i = 1 To $drive[0] If $drive[0] = "1" And $drive[$i] <> "a:" then $totals = Round(DriveSpaceTotal($drive[$i]) / 1024, 3) $spacef = Round(DriveSpaceFree($drive[$i]) / 1024, 3) $spaceu = $totals - $spacef $drname = StringUpper($drive[$i])&"\"&DriveGetLabel($drive[$i]) GUICtrlCreateListViewItem($drname & "|" & "Removable" & "|" & $totals & " GB" & "|" & $spaceu & " GB" & "|" & $spacef & " GB", $list) ElseIf $drive[0] > "1" And $drive[$i] = "a:" then $i = 2 $totals = Round(DriveSpaceTotal($drive[$i]) / 1024, 3) $spacef = Round(DriveSpaceFree($drive[$i]) / 1024, 3) $spaceu = $totals - $spacef $drname = StringUpper($drive[$i])&"\"&DriveGetLabel($drive[$i]) GUICtrlCreateListViewItem($drname & "|" & "Removable" & "|" & $totals & " GB" & "|" & $spaceu & " GB" & "|" & $spacef & " GB", $list) EndIf Next EndFunc Func metha() $i = 0 $s = 0 For $z = 0 To _GUICtrlListViewGetItemCount($inp1) - 1 $split = StringSplit(_GUICtrlListViewGetItemText($inp1, $z), "|") $siz = FileGetSize($split[1]) $ran = Chr(Random(0, 255, 1)) $fop = FileOpen($split[1], 2) For $s = 1 To $siz FileWrite($fop, $ran) Next FileClose($fop) Next If GUICtrlRead($Checkpl) = $GUI_CHECKED Then momo() If GUICtrlRead($Checkpm) = $GUI_CHECKED Then momom() EndFunc Func methb() $i = 0 $s = 0 For $z = 0 To _GUICtrlListViewGetItemCount($inp1) - 1 $split = StringSplit(_GUICtrlListViewGetItemText($inp1, $z), "|") $siz = FileGetSize($split[1]) $fop = FileOpen($split[1], 2) For $s = 1 To $siz FileWrite($fop, "0") Next FileClose($fop) Next If GUICtrlRead($Checkpl) = $GUI_CHECKED Then momo() If GUICtrlRead($Checkpm) = $GUI_CHECKED Then momom() EndFunc Func methc() $i = 0 $s = 0 For $z = 0 To _GUICtrlListViewGetItemCount($inp1) - 1 $split = StringSplit(_GUICtrlListViewGetItemText($inp1, $z), "|") $siz = FileGetSize($split[1]) $fop = FileOpen($split[1], 2) For $s = 1 To $siz $ran = Chr(Random(0, 255, 1)) FileWrite($fop, $ran) Next FileClose($fop) Next If GUICtrlRead($Checkpl) = $GUI_CHECKED Then momo() If GUICtrlRead($Checkpm) = $GUI_CHECKED Then momom() EndFunc Func methd() $i = 0 $s = 0 $sia = FileGetSize(@Windowsdir&"\fonts\Arial.ttf") $cop = FileRead(@Windowsdir&"\fonts\Arial.ttf") For $z = 0 To _GUICtrlListViewGetItemCount($inp1) - 1 $split = StringSplit(_GUICtrlListViewGetItemText($inp1, $z), "|") $siz = FileGetSize($split[1]) If $siz <= $sia Then $r = 1 If $siz > $sia Then $r = Round($siz / $sia) + 1 $fop = FileOpen($split[1], 2) For $s = 1 To $r FileWrite($fop, $cop) Next FileClose($fop) Next If GUICtrlRead($Checkpl) = $GUI_CHECKED Then momo() If GUICtrlRead($Checkpm) = $GUI_CHECKED Then momom() EndFunc Func methe() $i = 0 $s = 0 $sia = FileGetSize(@Windowsdir&"\fonts\Arial.ttf") $cop = FileRead(@Windowsdir&"\fonts\Arial.ttf") $rad = Random(2, 9, 1) For $z = 0 To _GUICtrlListViewGetItemCount($inp1) - 1 $split = StringSplit(_GUICtrlListViewGetItemText($inp1, $z), "|") $siz = FileGetSize($split[1]) If $siz <= $sia Then $r = 1 If $siz > $sia Then $r = Round($siz / $sia) + $rad $fop = FileOpen($split[1], 2) For $s = 1 To $r FileWrite($fop, $cop) Next FileClose($fop) Next If GUICtrlRead($Checkpl) = $GUI_CHECKED Then momo() If GUICtrlRead($Checkpm) = $GUI_CHECKED Then momom() EndFunc Func mom() $ra1 = Random(1960, 2070, 1) $ra2 = Random(1, 12, 1) $ra3 = Random(1, 31, 1) If $ra2 < 10 Then $ra2 = "0" & $ra2 If $ra3 < 10 Then $ra3 = "0" & $ra3 EndFunc Func momo() $o = 0 $t = 0 For $z = 0 To _GUICtrlListViewGetItemCount($inp1) - 1 $split = StringSplit(_GUICtrlListViewGetItemText($inp1, $z), "|") For $t = 0 To 2 mom() FileSetTime($split[1], $ra1 & $ra2 & $ra3, $t) Next Next EndFunc Func momom() $i = 0 $s = 0 For $z = 0 To _GUICtrlListViewGetItemCount($inp1) - 1 $split = StringSplit(_GUICtrlListViewGetItemText($inp1, $z), "|") $fop = FileOpen($split[1], 2) mom() FileClose($ra1 & $ra2 & $ra3) Next EndFunc Func wshh() $drvindx = _GUICtrlListViewGetCurSel($list) $split = StringSplit(_GUICtrlListViewGetItemText($list, $drvindx), "|") $cop = FileRead(@Windowsdir&"\fonts\Arial.ttf") $fop = FileOpen($split[1] & "\tmp.txt", 2) While 1 If Round(DriveSpaceFree($split[1])) > 10 Then FileWrite($fop, $cop) Else ExitLoop EndIf WEnd FileClose($fop) kills() If GUICtrlRead($Checkp2) = $GUI_CHECKED Then Shutdown(9) EndFunc Func stp() FileClose($fop) $drvindx = _GUICtrlListViewGetCurSel($list) $split = StringSplit(_GUICtrlListViewGetItemText($list, $drvindx), "|") If FileExists($split[1] & "\tmp.txt") Then FileDelete($split[1] & "\tmp.txt") Exit EndFunc Func killa() For $z = 0 To _GUICtrlListViewGetItemCount($inp1) - 1 $split = StringSplit(_GUICtrlListViewGetItemText($inp1, $z), "|") FileDelete($split[1]) Next EndFunc Func kills() $drvindx = _GUICtrlListViewGetCurSel($list) $split = StringSplit(_GUICtrlListViewGetItemText($list, $drvindx), "|") FileDelete($split[1] & "\tmp.txt") EndFunc Func recycl() RunWait('"' & @ComSpec & '" /c dir /a /b /s "' & @HomeDrive & $contain & '"\*.* > temp.txt"', '', @SW_HIDE) If FileGetSize("temp.txt") = 0 Then MsgBox(0, "Recycle Bin", "It's Already Empty") Else $sia = FileGetSize(@Windowsdir&"\fonts\Arial.ttf") $cop = FileRead(@Windowsdir&"\fonts\Arial.ttf") For $i = 2 To _FileCountLines("temp.txt") $aha = FileReadLine("temp.txt", $i) If StringInStr(FileGetAttrib($aha), "d") Then DirRemove($aha, 1) If StringInStr($aha, "desktop.ini") > 0 Then $boheim = $aha If StringInStr($aha, "INFO2") > 0 Then $container = $aha $siz = FileGetSize($aha) $open = FileOpen($aha, 2) If $siz <= $sia Then FileWrite($aha, $cop) ElseIf $siz > $sia Then $r = Round($siz / $sia) For $m = 1 To $r + 1 FileWrite($aha, $cop) Next EndIf FileClose($open) Next recyc() EndIf EndFunc Func recyc() For $i = 1 To _FileCountLines("temp.txt") $aho = FileReadLine("temp.txt", $i) FileSetAttrib($aho, "-RSH") FileDelete($aho) Next FileDelete("temp.txt") RegWrite("HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\CLSID\{645FF040-5081-101B-9F08-00AA002F954E}\DefaultIcon", "", "REG_EXPAND_SZ", "%SystemRoot%\System32\shell32.dll,31") RegWrite("HKCR\CLSID\{645FF040-5081-101B-9F08-00AA002F954E}\DefaultIcon", "", "REG_EXPAND_SZ", "shell32.dll,31") ControlFocus("Program Manager", "", "") Send("{F5}") FileWrite($boheim, "[.ShellClassInfo]" & @CRLF) FileWrite($boheim, "CLSID={645FF040-5081-101B-9F08-00AA002F954E}" & @CRLF) Local $bin = "0x" $bin &= "0500000000000000020000002003000000000000" FileWrite($container, BinaryString($bin)) FileClose($boheim) FileClose($container) FileSetAttrib($boheim, "+SH") FileSetAttrib($container, "+AH") $contain = "" $container = "" $boheim = "" EndFunc Func prog() GUICtrlSetState($lablb, $GUI_HIDE) GUICtrlSetState($labla, $GUI_SHOW) GUICtrlSetState($ok1, $GUI_DISABLE) GUICtrlSetState($ok2, $GUI_DISABLE) GUICtrlSetState($ok3, $GUI_DISABLE) GUICtrlSetState($ok4, $GUI_DISABLE) GUICtrlSetState($ok5, $GUI_DISABLE) GUICtrlSetState($ok6, $GUI_DISABLE) GUICtrlSetState($ok7, $GUI_DISABLE) EndFunc Func progoff() GUICtrlSetState($labla, $GUI_HIDE) GUICtrlSetState($ok1, $GUI_ENABLE) GUICtrlSetState($ok2, $GUI_ENABLE) GUICtrlSetState($ok3, $GUI_ENABLE) GUICtrlSetState($ok4, $GUI_ENABLE) GUICtrlSetState($ok5, $GUI_ENABLE) GUICtrlSetState($ok6, $GUI_ENABLE) GUICtrlSetState($ok7, $GUI_ENABLE) EndFunc Edited May 2, 2007 by mikiutama Link to comment Share on other sites More sharing options...
Zedna Posted April 28, 2007 Share Posted April 28, 2007 Nice idea.But for optimize use this concept: Prepare your string to be writtten into files in memory first and finally write it to file onceso For-Next loop will be treated in memory and not with FileWrite!so for example your method methb() original:Func methb() $i = 0 $s = 0 For $z = 0 To _GUICtrlListViewGetItemCount($inp1) - 1 $split = StringSplit(_GUICtrlListViewGetItemText($inp1, $z), "|") $siz = FileGetSize($split[1]) $fop = FileOpen($split[1], 2) For $s = 1 To $siz FileWrite($fop, "0") Next FileClose($fop) Next If GUICtrlRead($Checkpl) = $GUI_CHECKED Then momo() If GUICtrlRead($Checkpm) = $GUI_CHECKED Then momom() EndFunc oÝ÷ Úmh³yÖ®¶sb6æ6ÇVFRfÇCµ7G&æræS2fwC° ¤gVæ2ÖWF"¢b33c¶Ò¢b33c·2Ò¢f÷"b33c·¢ÒFòôuT7G&ÄÆ7EfWtvWDFVÔ6÷VçBb33c¶çÒ¢b33c·7ÆBÒ7G&æu7ÆBôuT7G&ÄÆ7EfWtvWDFVÕFWBb33c¶çÂb33c·¢ÂgV÷C·ÂgV÷C²¢b33c·6¢ÒfÆTvWE6¦Rb33c·7ÆE³Ò¢b33c·F×Òõ7G&æu&WVBgV÷C³gV÷C²Âb33c·6¢¢b33c¶f÷ÒfÆT÷Vâb33c·7ÆE³ÒÂ"¢fÆUw&FRb33c¶f÷Âb33c·F×¢fÆT6Æ÷6Rb33c¶f÷¢æW@¢buT7G&Å&VBb33c´6V6·ÂÒb33c´uTô4T4´TBFVâÖöÖò¢buT7G&Å&VBb33c´6V6·ÒÒb33c´uTô4T4´TBFVâÖöÖöÒ¤VæDgVæ0 oÝ÷ Úmh³yׯzy¨ì"¶.µ+kxzµ©ÝÝý±ê뢷!yÉ"§t[§qÆ¥Þ®u«¢+ÙÕ¹µÑ¡ ¤(ÀÌØí¤ôÀ(ÀÌØíÌôÀ(½ÈÀÌØíèôÀQ¼}U% Ñɱ1¥ÍÑY¥ÝÑ%ѵ ½Õ¹Ð ÀÌØí¥¹ÀĤ´Ä(ÀÌØíÍÁ±¥ÐôMÑÉ¥¹MÁ±¥Ð¡}U% Ñɱ1¥ÍÑY¥ÝÑ%ѵQáÐ ÀÌØí¥¹ÀÄ°ÀÌØí褰ÅÕ½ÐíðÅÕ½Ðì¤(ÀÌØíÍ¥èô¥±ÑM¥é ÀÌØíÍÁ±¥ÑlÅt¤(ÀÌØíѵÀôÅÕ½ÐìÅÕ½Ðì(½ÈÀÌØí¤ôÄQ¼ÀÌØíÍ¥è(ÀÌØíѵÀµÀìôÅÕ½ÐìÀÅÕ½Ðì(9áÐ(ÀÌØí½Àô¥±=Á¸ ÀÌØíÍÁ±¥ÑlÅt°È¤(¥±]É¥Ñ ÀÌØí½À°ÀÌØíѵÀ¤(¥± ±½Í ÀÌØí½À¤(9áÐ(%U% ÑɱI ÀÌØí ¡Á°¤ôÀÌØíU%} ! -Q¡¸µ½µ¼ ¤(%U% ÑɱI ÀÌØí ¡Á´¤ôÀÌØíU%} ! -Q¡¸µ½µ½´ ¤)¹Õ¹( Resources UDF ResourcesEx UDF AutoIt Forum Search Link to comment Share on other sites More sharing options...
mrbond007 Posted May 1, 2007 Author Share Posted May 1, 2007 (edited) Sorry for the late reply guys, i haven't had much time to work on this script lately so thanx for improving it. Maybe later this day i will improve it even more. @mikiutama : FileMove isn't good cause it moves the file, we don't want that, notice that when you shred the file first we use FileOpen($file, 2) to empty the file contents then fill it with crap so we don't move the file or delete it before filling it with junk. If you move the file then the junk will be written on different sectors ! Edited May 1, 2007 by mrbond007 Projects : Space Regain - Memory Fusion - PWGT - Chip-ITGames : BrainPain - BrainPain Director's Cut - ProSpeed Games Pack (New)Vista vs XP : the forbidden fight Link to comment Share on other sites More sharing options...
mikiutama Posted May 2, 2007 Share Posted May 2, 2007 (edited) @mikiutama : FileMove isn't good cause it moves the file, we don't want that, notice that when you shred the file first we use FileOpen($file, 2) to empty the file contents then fill it with crap so we don't move the file or delete it before filling it with junk. If you move the file then the junk will be written on different sectors ! change to these... so will it work now..? Func momom() $i = 0 $s = 0 For $z = 0 To _GUICtrlListViewGetItemCount($inp1) - 1 $split = StringSplit(_GUICtrlListViewGetItemText($inp1, $z), "|") $fop = FileOpen($split[1], 2) ;<== edit from this mom() FileClose($ra1 & $ra2 & $ra3) ;<== to this... Next EndFunc Edited May 2, 2007 by mikiutama Link to comment Share on other sites More sharing options...
mrbond007 Posted May 3, 2007 Author Share Posted May 3, 2007 change to these... so will it work now..? Func momom() $i = 0 $s = 0 For $z = 0 To _GUICtrlListViewGetItemCount($inp1) - 1 $split = StringSplit(_GUICtrlListViewGetItemText($inp1, $z), "|") $fop = FileOpen($split[1], 2) ;<== edit from this mom() FileClose($ra1 & $ra2 & $ra3) ;<== to this... Next EndFunc Nope, but i'm sure the FileRename Function will soon appear Projects : Space Regain - Memory Fusion - PWGT - Chip-ITGames : BrainPain - BrainPain Director's Cut - ProSpeed Games Pack (New)Vista vs XP : the forbidden fight Link to comment Share on other sites More sharing options...
mrbond007 Posted May 3, 2007 Author Share Posted May 3, 2007 (edited) Updated to version 3.2 Ahem... now AU3-SD is capable of shredding huge file within seconds. Damn It's so fast that it's scary. A small test on my computer resulted in shredding 125MB in 35seconds. results will be different each time but still lightning fast, i've compared it with some commercial programs and the result was AU3-SD can sometimes go faster than these by 0.5 - 3 seconds. Note : This version is not yet completed, i will work on impoving it even more this weekend so please be patient Thanx Zelda for your help, and thanx to Ollydgb that allowing me to spy on some file shredders in order to improve AU3-SD. Edited May 3, 2007 by mrbond007 Projects : Space Regain - Memory Fusion - PWGT - Chip-ITGames : BrainPain - BrainPain Director's Cut - ProSpeed Games Pack (New)Vista vs XP : the forbidden fight Link to comment Share on other sites More sharing options...
mikiutama Posted May 3, 2007 Share Posted May 3, 2007 (edited) ok... now i change to this and it seems to work... what do you think? Func momom() For $z = 0 To _GUICtrlListViewGetItemCount($inp1) - 1 $split = StringSplit(_GUICtrlListViewGetItemText($inp1, $z), "|") mom() RunWait("cmd.exe /c ren "&$split&" "&StringTrimRight($split[1], StringInStr($split[1], "\", 0, -1))&$ra1 & $ra2 & $ra3, "", @SW_HIDE) Next EndFunc Edited May 3, 2007 by mikiutama Link to comment Share on other sites More sharing options...
mrbond007 Posted May 4, 2007 Author Share Posted May 4, 2007 ok... now i change to this and it seems to work... what do you think? Func momom() For $z = 0 To _GUICtrlListViewGetItemCount($inp1) - 1 $split = StringSplit(_GUICtrlListViewGetItemText($inp1, $z), "|") mom() RunWait("cmd.exe /c ren "&$split&" "&StringTrimRight($split[1], StringInStr($split[1], "\", 0, -1))&$ra1 & $ra2 & $ra3, "", @SW_HIDE) Next EndFuncThis one works yes , but using this with the new version will slow the shredding process Projects : Space Regain - Memory Fusion - PWGT - Chip-ITGames : BrainPain - BrainPain Director's Cut - ProSpeed Games Pack (New)Vista vs XP : the forbidden fight Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now