项目作者: ivan-sincek

项目描述 :
PowerShell script for shredding files.
高级语言: PowerShell
项目地址: git://github.com/ivan-sincek/file-shredder.git
创建时间: 2020-03-22T19:58:40Z
项目社区:https://github.com/ivan-sincek/file-shredder

开源协议:MIT License

下载


File Shredder

PowerShell script for shredding files.

If you have more than enough free disk space, your files will most likely still be recoverable - even after shredding.

Tested with PowerShell v5.1.18362.752 on Windows 10 Enterprise OS (64-bit).

Made for educational purposes. I hope it will help!

How to Run

Open the PowerShell from \src\ and run the commands shown below.

Set the execution policy:

  1. Set-ExecutionPolicy Unrestricted

Run the script:

  1. .\file_shredder.ps1 .\somefile.txt

Or, run the following command from either PowerShell or Command Prompt:

  1. PowerShell -ExecutionPolicy Unrestricted -File .\file_shredder.ps1 .\somefile.txt

To run the PowerShell encoded command, run the following command from either PowerShell or Command Prompt:

  1. PowerShell -ExecutionPolicy Unrestricted -EncodedCommand JABwACAAPQAgACQAKABSAGUAYQBkAC0ASABvAHMAdAAgAC0AUAByAG8AbQBwAHQAIAAiAEUAbgB0AGUAcgAgAGYAaQBsAGUAIABwAGEAdABoACIAKQAuAFQAcgBpAG0AKAApADsAIABXAHIAaQB0AGUALQBIAG8AcwB0ACAAIgAiADsAIABpAGYAIAAoACQAcAAuAEwAZQBuAGcAdABoACAALQBsAHQAIAAxACkAIAB7ACAAVwByAGkAdABlAC0ASABvAHMAdAAgACIARgBpAGwAZQAgAGkAcwAgAHIAZQBxAHUAaQByAGUAZAAiADsAIAB9ACAAZQBsAHMAZQAgAHsAIABXAHIAaQB0AGUALQBIAG8AcwB0ACAAIgAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAYABuACMAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIwBgAG4AIwAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAARgBpAGwAZQAgAFMAaAByAGUAZABkAGUAcgAgADEALgAzACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAjAGAAbgAjACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIABiAHkAIABJAHYAYQBuACAAUwBpAG4AYwBlAGsAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACMAYABuACMAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIwBgAG4AIwAgAEcAaQB0AEgAdQBiACAAcgBlAHAAbwBzAGkAdABvAHIAeQAgAGEAdAAgAGcAaQB0AGgAdQBiAC4AYwBvAG0ALwBpAHYAYQBuAC0AcwBpAG4AYwBlAGsALwBmAGkAbABlAC0AcwBoAHIAZQBkAGQAZQByAC4AIAAgACAAIAAgACAAIAAgACAAIAAjAGAAbgAjACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACMAYABuACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAiADsAIAAkAHMAegAgAD0AIAAyADAANAA4ADsAIAAkAGIAIAA9ACAAJABuAHUAbABsADsAIAAkAHIAbgBnACAAPQAgACQAbgB1AGwAbAA7ACAAJABzACAAPQAgACQAbgB1AGwAbAA7ACAAJABmACAAPQAgACQAbgB1AGwAbAA7ACAAdAByAHkAIAB7ACAAJABmACAAPQAgAEcAZQB0AC0ASQB0AGUAbQAgACQAcAAgAC0ARQByAHIAbwByAEEAYwB0AGkAbwBuACAAUwBpAGwAZQBuAHQAbAB5AEMAbwBuAHQAaQBuAHUAZQA7ACAAaQBmACAAKAAkAGYAIAAtAGUAcQAgACQAbgB1AGwAbAApACAAewAgAFcAcgBpAHQAZQAtAEgAbwBzAHQAIAAiAFAAYQB0AGgAIABkAG8AZQBzACAAbgBvAHQAIABlAHgAaQBzAHQAcwAiADsAIAB9ACAAZQBsAHMAZQBpAGYAIAAoACQAZgAgAC0AaQBzAG4AbwB0ACAAWwBJAE8ALgBGAGkAbABlAEkAbgBmAG8AXQApACAAewAgAFcAcgBpAHQAZQAtAEgAbwBzAHQAIAAiAFAAYQB0AGgAIABzAHAAZQBjAGkAZgBpAGUAZAAgAGkAcwAgAG4AbwB0ACAAYQAgAGYAaQBsAGUAIgA7ACAAfQAgAGUAbABzAGUAIAB7ACAAJABmAC4AQQB0AHQAcgBpAGIAdQB0AGUAcwAgAD0AIAAiAE4AbwByAG0AYQBsACIAOwAgACQAcwBlAGMAIAA9ACAAWwBNAGEAdABoAF0AOgA6AEMAZQBpAGwAaQBuAGcAKAAkAGYALgBMAGUAbgBnAHQAaAAgAC8AIAAkAHMAegApADsAIAAkAGIAIAA9ACAATgBlAHcALQBPAGIAagBlAGMAdAAgAEIAeQB0AGUAWwBdACAAJABzAHoAOwAgACQAcgBuAGcAIAA9ACAAWwBTAGUAYwB1AHIAaQB0AHkALgBDAHIAeQBwAHQAbwBnAHIAYQBwAGgAeQAuAFIAYQBuAGQAbwBtAE4AdQBtAGIAZQByAEcAZQBuAGUAcgBhAHQAbwByAF0AOgA6AEMAcgBlAGEAdABlACgAKQA7ACAAJABzACAAPQAgAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABJAE8ALgBGAGkAbABlAFMAdAByAGUAYQBtACgAJABmAC4ARgB1AGwAbABOAGEAbQBlACwAIABbAEkATwAuAEYAaQBsAGUAQQBjAGMAZQBzAHMAXQA6ADoAVwByAGkAdABlACkAOwAgAGYAbwByACAAKAAkAGkAIAA9ACAAMAA7ACAAJABpACAALQBsAHQAIAA3ADsAIAAkAGkAKwArACkAIAB7ACAAJABzAC4AUABvAHMAaQB0AGkAbwBuACAAPQAgADAAOwAgAGYAbwByACAAKAAkAGoAIAA9ACAAMAA7ACAAJABqACAALQBsAHQAIAAkAHMAZQBjADsAIAAkAGoAKwArACkAIAB7ACAAJAByAG4AZwAuAEcAZQB0AEIAeQB0AGUAcwAoACQAYgApADsAIAAkAHMALgBXAHIAaQB0AGUAKAAkAGIALAAgADAALAAgACQAYgAuAEwAZQBuAGcAdABoACkAOwAgAH0AIAB9ACAAJABzAC4AUwBlAHQATABlAG4AZwB0AGgAKAAwACkAOwAgACQAcwAuAEMAbABvAHMAZQAoACkAOwAgACQAZgAuAEMAcgBlAGEAdABpAG8AbgBUAGkAbQBlACAAPQAgACIAMAA5AC8AMAA2AC8AMgAwADYAOQAgADAANAA6ADIAMAA6ADAAMAAgAEEATQAiADsAIAAkAGYALgBMAGEAcwB0AFcAcgBpAHQAZQBUAGkAbQBlACAAPQAgACIAMAA5AC8AMAA2AC8AMgAwADYAOQAgADAANAA6ADIAMAA6ADAAMAAgAEEATQAiADsAIAAkAGYALgBMAGEAcwB0AEEAYwBjAGUAcwBzAFQAaQBtAGUAIAA9ACAAIgAwADkALwAwADYALwAyADAANgA5ACAAMAA0ADoAMgAwADoAMAAwACAAQQBNACIAOwAgACQAZgAuAEQAZQBsAGUAdABlACgAKQA7ACAAVwByAGkAdABlAC0ASABvAHMAdAAgACIARgBpAGwAZQAgAGgAYQBzACAAYgBlAGUAbgAgAHMAaAByAGUAZABkAGUAZAAgAHMAdQBjAGMAZQBzAHMAZgB1AGwAbAB5ACIAOwAgAH0AIAB9ACAAYwBhAHQAYwBoACAAewAgAFcAcgBpAHQAZQAtAEgAbwBzAHQAIAAkAF8ALgBFAHgAYwBlAHAAdABpAG8AbgAuAEkAbgBuAGUAcgBFAHgAYwBlAHAAdABpAG8AbgAuAE0AZQBzAHMAYQBnAGUAOwAgAH0AIABmAGkAbgBhAGwAbAB5ACAAewAgAGkAZgAgACgAJABiACAALQBuAGUAIAAkAG4AdQBsAGwAKQAgAHsAIAAkAGIALgBDAGwAZQBhAHIAKAApADsAIAB9ACAAaQBmACAAKAAkAHIAbgBnACAALQBuAGUAIAAkAG4AdQBsAGwAKQAgAHsAIAAkAHIAbgBnAC4ARABpAHMAcABvAHMAZQAoACkAOwAgAH0AIABpAGYAIAAoACQAcwAgAC0AbgBlACAAJABuAHUAbABsACkAIAB7ACAAJABzAC4AQwBsAG8AcwBlACgAKQA7ACAAJABzAC4ARABpAHMAcABvAHMAZQAoACkAOwAgAH0AIABpAGYAIAAoACQAZgAgAC0AbgBlACAAJABuAHUAbABsACkAIAB7ACAAQwBsAGUAYQByAC0AVgBhAHIAaQBhAGIAbABlACAALQBOAGEAbQBlACAAIgBmACIAOwAgAH0AIAB9ACAAfQANAAoA

The encoded script will prompt for input. See the slightly altered and minified script here.

To pass parameters to PowerShell encoded command, run the following command from either PowerShell or Command Prompt:

  1. PowerShell -Command "'.\somefile.txt'" | PowerShell -ExecutionPolicy Unrestricted -EncodedCommand JABwACAAPQAgACQAKABSAGUAYQBkAC0ASABvAHMAdAAgAC0AUAByAG8AbQBwAHQAIAAiAEUAbgB0AGUAcgAgAGYAaQBsAGUAIABwAGEAdABoACIAKQAuAFQAcgBpAG0AKAApADsAIABXAHIAaQB0AGUALQBIAG8AcwB0ACAAIgAiADsAIABpAGYAIAAoACQAcAAuAEwAZQBuAGcAdABoACAALQBsAHQAIAAxACkAIAB7ACAAVwByAGkAdABlAC0ASABvAHMAdAAgACIARgBpAGwAZQAgAGkAcwAgAHIAZQBxAHUAaQByAGUAZAAiADsAIAB9ACAAZQBsAHMAZQAgAHsAIABXAHIAaQB0AGUALQBIAG8AcwB0ACAAIgAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAYABuACMAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIwBgAG4AIwAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAARgBpAGwAZQAgAFMAaAByAGUAZABkAGUAcgAgADEALgAzACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAjAGAAbgAjACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIABiAHkAIABJAHYAYQBuACAAUwBpAG4AYwBlAGsAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACMAYABuACMAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIwBgAG4AIwAgAEcAaQB0AEgAdQBiACAAcgBlAHAAbwBzAGkAdABvAHIAeQAgAGEAdAAgAGcAaQB0AGgAdQBiAC4AYwBvAG0ALwBpAHYAYQBuAC0AcwBpAG4AYwBlAGsALwBmAGkAbABlAC0AcwBoAHIAZQBkAGQAZQByAC4AIAAgACAAIAAgACAAIAAgACAAIAAjAGAAbgAjACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACMAYABuACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAjACMAIwAiADsAIAAkAHMAegAgAD0AIAAyADAANAA4ADsAIAAkAGIAIAA9ACAAJABuAHUAbABsADsAIAAkAHIAbgBnACAAPQAgACQAbgB1AGwAbAA7ACAAJABzACAAPQAgACQAbgB1AGwAbAA7ACAAJABmACAAPQAgACQAbgB1AGwAbAA7ACAAdAByAHkAIAB7ACAAJABmACAAPQAgAEcAZQB0AC0ASQB0AGUAbQAgACQAcAAgAC0ARQByAHIAbwByAEEAYwB0AGkAbwBuACAAUwBpAGwAZQBuAHQAbAB5AEMAbwBuAHQAaQBuAHUAZQA7ACAAaQBmACAAKAAkAGYAIAAtAGUAcQAgACQAbgB1AGwAbAApACAAewAgAFcAcgBpAHQAZQAtAEgAbwBzAHQAIAAiAFAAYQB0AGgAIABkAG8AZQBzACAAbgBvAHQAIABlAHgAaQBzAHQAcwAiADsAIAB9ACAAZQBsAHMAZQBpAGYAIAAoACQAZgAgAC0AaQBzAG4AbwB0ACAAWwBJAE8ALgBGAGkAbABlAEkAbgBmAG8AXQApACAAewAgAFcAcgBpAHQAZQAtAEgAbwBzAHQAIAAiAFAAYQB0AGgAIABzAHAAZQBjAGkAZgBpAGUAZAAgAGkAcwAgAG4AbwB0ACAAYQAgAGYAaQBsAGUAIgA7ACAAfQAgAGUAbABzAGUAIAB7ACAAJABmAC4AQQB0AHQAcgBpAGIAdQB0AGUAcwAgAD0AIAAiAE4AbwByAG0AYQBsACIAOwAgACQAcwBlAGMAIAA9ACAAWwBNAGEAdABoAF0AOgA6AEMAZQBpAGwAaQBuAGcAKAAkAGYALgBMAGUAbgBnAHQAaAAgAC8AIAAkAHMAegApADsAIAAkAGIAIAA9ACAATgBlAHcALQBPAGIAagBlAGMAdAAgAEIAeQB0AGUAWwBdACAAJABzAHoAOwAgACQAcgBuAGcAIAA9ACAAWwBTAGUAYwB1AHIAaQB0AHkALgBDAHIAeQBwAHQAbwBnAHIAYQBwAGgAeQAuAFIAYQBuAGQAbwBtAE4AdQBtAGIAZQByAEcAZQBuAGUAcgBhAHQAbwByAF0AOgA6AEMAcgBlAGEAdABlACgAKQA7ACAAJABzACAAPQAgAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABJAE8ALgBGAGkAbABlAFMAdAByAGUAYQBtACgAJABmAC4ARgB1AGwAbABOAGEAbQBlACwAIABbAEkATwAuAEYAaQBsAGUAQQBjAGMAZQBzAHMAXQA6ADoAVwByAGkAdABlACkAOwAgAGYAbwByACAAKAAkAGkAIAA9ACAAMAA7ACAAJABpACAALQBsAHQAIAA3ADsAIAAkAGkAKwArACkAIAB7ACAAJABzAC4AUABvAHMAaQB0AGkAbwBuACAAPQAgADAAOwAgAGYAbwByACAAKAAkAGoAIAA9ACAAMAA7ACAAJABqACAALQBsAHQAIAAkAHMAZQBjADsAIAAkAGoAKwArACkAIAB7ACAAJAByAG4AZwAuAEcAZQB0AEIAeQB0AGUAcwAoACQAYgApADsAIAAkAHMALgBXAHIAaQB0AGUAKAAkAGIALAAgADAALAAgACQAYgAuAEwAZQBuAGcAdABoACkAOwAgAH0AIAB9ACAAJABzAC4AUwBlAHQATABlAG4AZwB0AGgAKAAwACkAOwAgACQAcwAuAEMAbABvAHMAZQAoACkAOwAgACQAZgAuAEMAcgBlAGEAdABpAG8AbgBUAGkAbQBlACAAPQAgACIAMAA5AC8AMAA2AC8AMgAwADYAOQAgADAANAA6ADIAMAA6ADAAMAAgAEEATQAiADsAIAAkAGYALgBMAGEAcwB0AFcAcgBpAHQAZQBUAGkAbQBlACAAPQAgACIAMAA5AC8AMAA2AC8AMgAwADYAOQAgADAANAA6ADIAMAA6ADAAMAAgAEEATQAiADsAIAAkAGYALgBMAGEAcwB0AEEAYwBjAGUAcwBzAFQAaQBtAGUAIAA9ACAAIgAwADkALwAwADYALwAyADAANgA5ACAAMAA0ADoAMgAwADoAMAAwACAAQQBNACIAOwAgACQAZgAuAEQAZQBsAGUAdABlACgAKQA7ACAAVwByAGkAdABlAC0ASABvAHMAdAAgACIARgBpAGwAZQAgAGgAYQBzACAAYgBlAGUAbgAgAHMAaAByAGUAZABkAGUAZAAgAHMAdQBjAGMAZQBzAHMAZgB1AGwAbAB5ACIAOwAgAH0AIAB9ACAAYwBhAHQAYwBoACAAewAgAFcAcgBpAHQAZQAtAEgAbwBzAHQAIAAkAF8ALgBFAHgAYwBlAHAAdABpAG8AbgAuAEkAbgBuAGUAcgBFAHgAYwBlAHAAdABpAG8AbgAuAE0AZQBzAHMAYQBnAGUAOwAgAH0AIABmAGkAbgBhAGwAbAB5ACAAewAgAGkAZgAgACgAJABiACAALQBuAGUAIAAkAG4AdQBsAGwAKQAgAHsAIAAkAGIALgBDAGwAZQBhAHIAKAApADsAIAB9ACAAaQBmACAAKAAkAHIAbgBnACAALQBuAGUAIAAkAG4AdQBsAGwAKQAgAHsAIAAkAHIAbgBnAC4ARABpAHMAcABvAHMAZQAoACkAOwAgAH0AIABpAGYAIAAoACQAcwAgAC0AbgBlACAAJABuAHUAbABsACkAIAB7ACAAJABzAC4AQwBsAG8AcwBlACgAKQA7ACAAJABzAC4ARABpAHMAcABvAHMAZQAoACkAOwAgAH0AIABpAGYAIAAoACQAZgAgAC0AbgBlACAAJABuAHUAbABsACkAIAB7ACAAQwBsAGUAYQByAC0AVgBhAHIAaQBhAGIAbABlACAALQBOAGEAbQBlACAAIgBmACIAOwAgAH0AIAB9ACAAfQANAAoA

To generate a PowerShell encoded command from a PowerShell script, run the following PowerShell command:

  1. [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes([IO.File]::ReadAllText($script)))

To decode a PowerShell encoded command, run the following PowerShell command:

  1. [Text.Encoding]::Unicode.GetString([Convert]::FromBase64String($command))