I think this forum is OK to post this. It's not Delphi-specific technical, but hardware technical. Besides, this issue seems to be in the news lately... I'm interested in wiping a hard disk clean before giving it away, so no previously stored personal data can be obtained from the disk. Rather than downloading some tool (like DBAN) from the Internet, which seems risky to me, it seems you could write a simple Delphi program to write text (ASCII) characters to a text file (or a series of text files), filling up every byte of every sector, then deleting the files. You do this after a quick Windows format of the hard disk, so the disk is empty of files (except for some Windows table files). The process of writing text files goes fast and you have more control of the process, knowing what is happening. I created a simple program that created a 1 MB string, filled with ASCII characters CHR(33) to CHR(127), (truncated by 2 characters to account for the CR and LF when using WriteLn), and used it to write a series of 1 GB text files to fill up the hard disk. I suppose you could create a 1 GB string and do the same thing. But the question is: By doing this, doesn't this essentially wipe the hard disk of any old information (actual data) so it can't be obtained? Thanks
![]() |
0 |
![]() |
Am 16.08.2015 um 01:45 schrieb Robert Lincoln: > > I created a simple program that created a 1 MB string, filled with ASCII > characters CHR(33) to CHR(127), (truncated by 2 characters to account > for the CR and LF when using WriteLn), and used it to write a series of > 1 GB text files to fill up the hard disk. I suppose you could create a > 1 GB string and do the same thing. > > But the question is: > > By doing this, doesn't this essentially wipe the hard disk of any old > information (actual data) so it can't be obtained? > > Thanks > Afaik some US standards require to overwrite it a few times and not only once. If you should do that I'd suggest to vary the pattern written between the iterations. Greetings Markus
![]() |
0 |
![]() |
> I created a simple program that created a 1 MB string, filled with ASCII > characters CHR(33) to CHR(127), (truncated by 2 characters to account > for the CR and LF when using WriteLn), and used it to write a series of > 1 GB text files to fill up the hard disk. I suppose you could create a > 1 GB string and do the same thing. > If you do it this way you can't overwrite files in use. The easy way to do this is using a boot disk (Knoppix maybe) and a utility (dd maybe) to fill up the disk. The other comment is correct, you need to do the writes more than once. I think the 'milspec' drive wipe is 7 times. Or maybe 11. Or maybe I'm thinking of a casino game :) The fun way to do this is using FreeDOS and Turbo Pascal with a little ASM sprinkled in to do the low level writes. That's a nice little weekend project.
![]() |
0 |
![]() |
<Charles Dupont> wrote in message news:729773@forums.embarcadero.com... > > If you do it this way you can't overwrite files in use. The easy way to do > this is using a boot disk (Knoppix maybe) and a utility (dd maybe) to fill > up One of the various puppy linuxes may be a good choice too (USB flash drive versions boot on a lot of things I have tried - except some gateways I have access to, but nothing I've tried except windows (defender offline) boots from USB flash drive on those) > the disk. The other comment is correct, you need to do the writes more > than once. I think the 'milspec' drive wipe is 7 times. Or maybe 11. Or > maybe > I'm thinking of a casino game :) The following ref'd article states that ONE pass is sufficient for "today's drives", whatever "today" may be (possibly circa June 2013)...: http://www.pcworld.com/article/2039796/how-to-securely-wipe-sensitive-files-or-your-entire-hard-drive.html Doubt that more passes can hurt though... > > The fun way to do this is using FreeDOS and Turbo Pascal with a little ASM > sprinkled in to do the low level writes. That's a nice little weekend > project. Somebody's delphi code to wipe a file: http://www.delphigeist.com/2009/10/how-to-wipe-file.html
![]() |
0 |
![]() |
<Charles Dupont> wrote in message news:729773@forums.embarcadero.com... > > If you do it this way you can't overwrite files in use. The easy way to do > this is using a boot disk (Knoppix maybe) and a utility (dd maybe) to fill > up One of the various puppy linuxes may be a good choice too (USB flash drive versions boot on a lot of things I have tried - except some gateways I have access to, but nothing I've tried except windows (defender offline) boots from USB flash drive on those) > the disk. The other comment is correct, you need to do the writes more > than once. I think the 'milspec' drive wipe is 7 times. Or maybe 11. Or > maybe > I'm thinking of a casino game :) The following ref'd article states that ONE pass is sufficient for "today's drives", whatever "today" may be (possibly circa June 2013)...: http://www.pcworld.com/article/2039796/how-to-securely-wipe-sensitive-files-or-your-entire-hard-drive.html Doubt that more passes can hurt though... > > The fun way to do this is using FreeDOS and Turbo Pascal with a little ASM > sprinkled in to do the low level writes. That's a nice little weekend > project. Somebody's delphi code to wipe a file: http://www.delphigeist.com/2009/10/how-to-wipe-file.html
![]() |
0 |
![]() |
Robert Lincoln wrote: > I think this forum is OK to post this. It's not Delphi-specific > technical, but hardware technical. Besides, this issue seems to be > in the news lately... > > I'm interested in wiping a hard disk clean before giving it away, so > no previously stored personal data can be obtained from the disk. > > Rather than downloading some tool (like DBAN) from the Internet, > which seems risky to me, it seems you could write a simple Delphi > program to write text (ASCII) characters to a text file (or a series > of text files), filling up every byte of every sector, then deleting > the files. You do this after a quick Windows format of the hard > disk, so the disk is empty of files (except for some Windows table > files). The process of writing text files goes fast and you have > more control of the process, knowing what is happening. > > I created a simple program that created a 1 MB string, filled with > ASCII characters CHR(33) to CHR(127), (truncated by 2 characters to > account for the CR and LF when using WriteLn), and used it to write a > series of 1 GB text files to fill up the hard disk. I suppose you > could create a 1 GB string and do the same thing. > > But the question is: > > By doing this, doesn't this essentially wipe the hard disk of any old > information (actual data) so it can't be obtained? > > Thanks Hi Hill, If you're talking about magnetic media, no. I haven't looked at SSD's so maybe there (or not, there could be a static trail). You'll need to use actual random bits and nonrandom bits, and you'll have to overwrite many times with different bit patterns. If you really want to clean a disk I recommend an arc welded overlay then shredding. Dan
![]() |
0 |
![]() |
Robert Lincoln wrote: > I think this forum is OK to post this. It's not Delphi-specific > technical, but hardware technical. Besides, this issue seems to be > in the news lately... > > I'm interested in wiping a hard disk clean before giving it away, so > no previously stored personal data can be obtained from the disk. > > Rather than downloading some tool (like DBAN) from the Internet, > which seems risky to me, it seems you could write a simple Delphi > program to write text (ASCII) characters to a text file (or a series > of text files), filling up every byte of every sector, then deleting > the files. You do this after a quick Windows format of the hard > disk, so the disk is empty of files (except for some Windows table > files). The process of writing text files goes fast and you have > more control of the process, knowing what is happening. > > I created a simple program that created a 1 MB string, filled with > ASCII characters CHR(33) to CHR(127), (truncated by 2 characters to > account for the CR and LF when using WriteLn), and used it to write a > series of 1 GB text files to fill up the hard disk. I suppose you > could create a 1 GB string and do the same thing. > > But the question is: > > By doing this, doesn't this essentially wipe the hard disk of any old > information (actual data) so it can't be obtained? > > Thanks Hi Hill, If you're talking about magnetic media, no. I haven't looked at SSD's so maybe there (or not, there could be a static trail). You'll need to use actual random bits and nonrandom bits, and you'll have to overwrite many times with different bit patterns. If you really want to clean a disk I recommend an arc welded overlay then shredding. Dan
![]() |
0 |
![]() |
Robert Lincoln wrote: > I think this forum is OK to post this. It's not Delphi-specific > technical, but hardware technical. Besides, this issue seems to be > in the news lately... > > I'm interested in wiping a hard disk clean before giving it away, so > no previously stored personal data can be obtained from the disk. > > Rather than downloading some tool (like DBAN) from the Internet, > which seems risky to me, it seems you could write a simple Delphi > program to write text (ASCII) characters to a text file (or a series > of text files), filling up every byte of every sector, then deleting > the files. You do this after a quick Windows format of the hard > disk, so the disk is empty of files (except for some Windows table > files). The process of writing text files goes fast and you have > more control of the process, knowing what is happening. > > I created a simple program that created a 1 MB string, filled with > ASCII characters CHR(33) to CHR(127), (truncated by 2 characters to > account for the CR and LF when using WriteLn), and used it to write a > series of 1 GB text files to fill up the hard disk. I suppose you > could create a 1 GB string and do the same thing. > > But the question is: > > By doing this, doesn't this essentially wipe the hard disk of any old > information (actual data) so it can't be obtained? > > Thanks Hi Hill, If you're talking about magnetic media, no. I haven't looked at SSD's so maybe there (or not, there could be a static trail). You'll need to use actual random bits and nonrandom bits, and you'll have to overwrite many times with different bit patterns. If you really want to clean a disk I recommend an arc welded overlay then shredding. Dan
![]() |
0 |
![]() |
<Charles Dupont> wrote in message news:729773@forums.embarcadero.com... > > If you do it this way you can't overwrite files in use. The easy way to do > this is using a boot disk (Knoppix maybe) and a utility (dd maybe) to fill > up One of the various puppy linuxes may be a good choice too (USB flash drive versions boot on a lot of things I have tried - except some gateways I have access to, but nothing I've tried except windows (defender offline) boots from USB flash drive on those) > the disk. The other comment is correct, you need to do the writes more > than once. I think the 'milspec' drive wipe is 7 times. Or maybe 11. Or > maybe > I'm thinking of a casino game :) The following ref'd article states that ONE pass is sufficient for "today's drives", whatever "today" may be (possibly circa June 2013)...: http://www.pcworld.com/article/2039796/how-to-securely-wipe-sensitive-files-or-your-entire-hard-drive.html Doubt that more passes can hurt though... > > The fun way to do this is using FreeDOS and Turbo Pascal with a little ASM > sprinkled in to do the low level writes. That's a nice little weekend > project. Somebody's delphi code to wipe a file: http://www.delphigeist.com/2009/10/how-to-wipe-file.html
![]() |
0 |
![]() |
> {quote:title=Markus Humm wrote:}{quote} > Afaik some US standards require to overwrite it a few times and not only > once. If you should do that I'd suggest to vary the pattern written > between the iterations. I have yet to see proof that any previous data can be retrieved from a hard drive filled with an alternating bit pattern (such as $AA or $55). Whatever algorithm you use, just don't write small files because literally each sector needs to be filled to the brim.
![]() |
0 |
![]() |
> {quote:title=Robert Lincoln wrote:}{quote} > I think this forum is OK to post this. It's not Delphi-specific > technical, but hardware technical. Besides, this issue seems to be in > the news lately... > > I'm interested in wiping a hard disk clean before giving it away, so no > previously stored personal data can be obtained from the disk. > > I created a simple program that created a 1 MB string, filled with ASCII > characters CHR(33) to CHR(127), (truncated by 2 characters to account > for the CR and LF when using WriteLn), and used it to write a series of > 1 GB text files to fill up the hard disk. I suppose you could create a > 1 GB string and do the same thing. > > But the question is: > > By doing this, doesn't this essentially wipe the hard disk of any old > information (actual data) so it can't be obtained? > > Thanks YES ... unless you suspect that the GOVERNMENT SPOOKS are going to microscopically scan you physical media platters ... then NO (maybe) my background - +3year writing commercial Data recovery software if you had just removed the files from the drive and had then added you big filed the only issue would be small data blocks stored in directory area (in NTFS its approximately 500bytes) would not be erased (you can fix this by adding 50,000+ small files to the drive also why do a quick format ... doing a slow one will clean the drive as well ... Basically who are you protecting your OLD data from ... But the best way ... hit the bugger with a BIG HAMMER and throw it in a bin ... if its 4 years old its now too small and beginning to reach the end of it SAFE life -- Linden "Mango" was Cool but "Wasabi" was Hotter but remember it's all in the "source"
![]() |
0 |
![]() |
> {quote:title=Robert Lincoln wrote:}{quote} > I think this forum is OK to post this. It's not Delphi-specific > technical, but hardware technical. Besides, this issue seems to be in > the news lately... > > I'm interested in wiping a hard disk clean before giving it away, so no > previously stored personal data can be obtained from the disk. > > I created a simple program that created a 1 MB string, filled with ASCII > characters CHR(33) to CHR(127), (truncated by 2 characters to account > for the CR and LF when using WriteLn), and used it to write a series of > 1 GB text files to fill up the hard disk. I suppose you could create a > 1 GB string and do the same thing. > > But the question is: > > By doing this, doesn't this essentially wipe the hard disk of any old > information (actual data) so it can't be obtained? > > Thanks YES ... unless you suspect that the GOVERNMENT SPOOKS are going to microscopically scan you physical media platters ... then NO (maybe) my background - +3year writing commercial Data recovery software - GetData RecoverMyFiles if you had just removed the files (no format) from the drive and had then added you big files, the only issue would be small data blocks stored in directory area (in NTFS its approximately 500bytes) would not be erased (you can fix this by adding 50,000+ small files to the drive also why do a quick format ... doing a slow one will clean the drive as well ... Basically who are you protecting your OLD data from ... But the best way ... hit the bugger with a BIG HAMMER and throw it in a bin ... if its 4 years old its now too small and beginning to reach the end of it SAFE life -- Linden "Mango" was Cool but "Wasabi" was Hotter but remember it's all in the "source"
![]() |
0 |
![]() |
Linden ROTH wrote: > > By doing this, doesn't this essentially wipe the hard disk of any > > old information (actual data) so it can't be obtained? > > > > Thanks > > YES ... unless you suspect that the GOVERNMENT SPOOKS are going to > microscopically scan you physical media platters ... then NO (maybe) Exactly. Usually, there is no need to be extremely paranoid. Unless you committed a crime... <g> -- Rudy Velthuis http://www.rvelthuis.de "What I am against is quotas. I am against hard quotas, quotas they basically delineate based upon whatever. However they delineate, quotas, I think, vulcanize society. So I don't know how that fits into what everybody else is saying, their relative positions, but that's my position." -- George W. Bush
![]() |
0 |
![]() |
Linden ROTH wrote: > > YES ... unless you suspect that the GOVERNMENT SPOOKS are going to > microscopically scan you physical media platters ... then NO (maybe) > > my background - +3year writing commercial Data recovery software - > GetData RecoverMyFiles > > if you had just removed the files (no format) from the drive and had > then added you big files, the only issue would be small data blocks > stored in directory area (in NTFS its approximately 500bytes) would > not be erased (you can fix this by adding 50,000+ small files to the > drive also why do a quick format ... doing a slow one will clean the > drive as well ... > > Basically who are you protecting your OLD data from ... > > But the best way ... hit the bugger with a BIG HAMMER and throw it in > a bin ... if its 4 years old its now too small and beginning to reach > the end of it SAFE life Yea, what most people don't realize is that magnetic media is actually *analog*, not digital. Wiping the data to the point that normal controllers see the digital data disappear doesn't clear the disk. Gooberment spooks can, indeed, analyze the analog magnetic patterns to look for bumps and humps and dips that indicate previous recorded data. It's not easy, or cheap, or done with off the shelf equipment but, hey, when it's the gooberment money is no object, huh? A hammer actually won't kill the data. Above I recommended an arc welded overlay. melting it into a blob would also work. Then hit it with a hammer <g>. Dan
![]() |
0 |
![]() |