- MCP server with stdio transport for local use - Search episodes, transcripts, hosts, and series - 4,511 episodes with metadata and transcripts - Data loader with in-memory JSON storage 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
230 lines
13 KiB
Plaintext
230 lines
13 KiB
Plaintext
Episode: 1693
|
|
Title: HPR1693: DD fun
|
|
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr1693/hpr1693.mp3
|
|
Transcribed: 2025-10-18 07:48:26
|
|
|
|
---
|
|
|
|
This is HPR Episode 1693 Entitled DD Fun.
|
|
It is hosted by first-time host Cibola Jerry and is about 24 minutes long.
|
|
The summary is, having some fun with the DD command.
|
|
This episode of HPR is brought to you by an honesthost.com.
|
|
Get 15% discount on all shared hosting with the offer code HPR15.
|
|
That's HPR15.
|
|
Better web hosting that's honest and fair at An Honesthost.com.
|
|
Welcome to HPR.
|
|
This episode is called fun with DD or how to store information on your computer outside
|
|
of the fastest.
|
|
So back in 3.1 days I noticed that a lot of the software in early attempts at DRM I suppose
|
|
would write information outside the file system.
|
|
So I asked my friend who was a professional computer guy and I said, how are they doing
|
|
this?
|
|
And he told me about the DD command and so a lot of the little tips and stuff that I will
|
|
relate to you today came from him.
|
|
Well, the reason why I am doing this now is because I noticed that we have these flash
|
|
pricing and I never tried out the DD command before because I had a 20 make hard drive and
|
|
I don't want to risk it and the only place I could find the DD was on some bulletin
|
|
board and I just don't want to risk it so I just filed away if I ever needed to do that
|
|
use the DD command and then recently was in the last year I snapped to the fact that
|
|
these flash drives are some bucks a piece.
|
|
You can afford to experiment with them and I did and I made a HPR episode about it but
|
|
the sound was so bad I am redoing the whole thing from scratch.
|
|
So when we write our data to the flash drive outside of the file system we are not hiding
|
|
it.
|
|
We are just locating the data outside of the file system and the only way you will see
|
|
this data is with a command like DD or some sort of sector editor which I have never
|
|
really seen in Linux, a sector editor other than DD and then your partition table will
|
|
show empty space.
|
|
So that will be a clue that there might be data there as if there is empty space or
|
|
it might be taken as some sort of sector alignment issue which it is not at least on these
|
|
flash drives it ain't and then so any forensic examination is going to show these files.
|
|
It is going to show that there is something there so you are not hiding nothing from anybody
|
|
that has the first occasion or the permissions to use such tools we will see it and so if
|
|
you really want to make sure your data is private you need to encrypt before you save because
|
|
this is out in the open you are not hiding nothing you are just keeping the information outside
|
|
of the file system.
|
|
So coming to partition the thing about it is if you use a boot disk you don't want to
|
|
put your information at the beginning of your disk because that is where the boot
|
|
sector information is at and if you are going to be booting into windows you don't want
|
|
to use the last part of the disk because windows insist on having a one megabyte area at
|
|
the end of the disk which is outside of the file system and is Microsoft writing information
|
|
outside of the file system just like we are going to be doing.
|
|
So basically that leaves us the space in between other partitions.
|
|
So I went ahead and I formatted my Sans disk cruiser 8GB flash drive with a VFAT partition
|
|
and a EXT2 partition and I went ahead and made a file system on them and I copied a
|
|
file with each partition to make sure everything is working so we are ready to go.
|
|
So when we save to the disk outside of the file system we have become the file system.
|
|
The file system manager is on us to keep track of where our data is and so it is convenient
|
|
to use tar files because you can pack a bunch of files in there and just make one save
|
|
and it is convenient.
|
|
In my opinion it is better to do all your compression on the files before you stick them
|
|
in the tar file because it will be easier to recover the tar file if you don't have to
|
|
worry about it being compressed so compress your data, encrypt your data and then stick
|
|
it in the tar file and we are just going to use the normal tar files we are going to use
|
|
to have two saves.
|
|
I made a sub directory of my home directory for images and I threw some images in there
|
|
and I made another directory called the data where I threw some text files in there.
|
|
All right and so now we got to tar them up with the tar dash cf and then you put the
|
|
name of your tar file data dot tar and we are going to use data the path to data or actually
|
|
you don't really need to put a path if you are in a home directory and let's spell.
|
|
Okay that worked on the data and tar filing my image directory, images directory and
|
|
make it images dot tar and so now we have our tar files compressed so now we need to find
|
|
out where we are going to put this data, paste the paper list, pick up this scrap paper
|
|
and a pencil and we are going to look at our tar cf disk command, still a root so I am
|
|
not going to seedle, I am just going to see a disk and we are going to look at our partition
|
|
table. Oh, I got to quit this and tell us to look at the flash drive which was SDD.
|
|
Wait a second, all right, let's see, SDD, all right, so we got about 104.86 megabytes
|
|
and we are going to read that, you know, XT2 and what we are going to do is let's see,
|
|
we need to quit, we need to use the option which is the cf disk dash big capital P, space,
|
|
small s, okay so the whole command is cf disk dash capital P, space s, space slash dev slash
|
|
SDD and it shows us the first and last sector of each partition and what we are really interested
|
|
in is the first and last sector of, wow, we are going to pause for a minute because
|
|
my cf disk give me the asterisk on the first and last sector columns and that means my
|
|
partitions are not aligning with the actual sectors, so I am going to do a little investigating
|
|
of why this is, all right, this will be an experiment for both of us, I just put arbitrary
|
|
sizes in there and the asterisk means that my partitions are not lining on cylinder
|
|
boundaries, it should not matter, so we are going to test it. All right, we are going to make
|
|
a note of the free space where it starts, where it ends and in my case, the first sector
|
|
of the free space is 8194048, all right, 8194048 and the last sector is 8398847, all right,
|
|
so, one of the warnings of voice heard in relation to this operation is keep away from
|
|
your partitions, now I tried actually parking my date over, right next to partition and
|
|
one sector over and it could have been some sort of a slip up on my part, but in one instance
|
|
it seems like it was working and then in another instance it wrecked the partition.
|
|
So, best bet is to always put your files probably like 10 sectors apart, so our start address
|
|
will be 8194048 plus 10, because we are going to start our first save, and once we save
|
|
there, we are going to have to find out where the end of that file is and put some space
|
|
between it and our next file, so we are going to do that. So, DD command, let me just check the
|
|
page real quick, make sure I got it right, all right, tar files like to be on a 512 sector
|
|
size, it works good, I've tried it, you know, okay, the DD command has a field called
|
|
a sector size, input file sector size and output file sector size, you actually don't
|
|
have to put in any numbers in those fields, so I put in 512, even though my
|
|
soldercises probably are my sector sizes are bigger, it worked, but I don't think we'll need it.
|
|
So, basically the command is DD, input file, name of our image file, dot tar out file,
|
|
I've got to check the mount page, make sure I got this inside, yeah, okay, we've got to use
|
|
equal sign, so command is DD, input file equals images dot tar out file,
|
|
wow, yeah, okay, all right, DD, IF equal images dot tar space seek,
|
|
this is where we are going to put in our starting sector number, which was 819-058,
|
|
oh my 819, this is 417, 819-4058, all right, I'm sure you just read 819, my eyes are
|
|
a little bad, 4058, all right, so we've got DD, space, IF equals images dot tar,
|
|
seek equal 819-4058, and then out file, which is actually the device will be devsdd,
|
|
and there we go, so it's doing this thing, and it looks like it read good,
|
|
it gives us some numbers, we've got to check this out, it says that there are so many records,
|
|
and that's another way of saying so many sectors in, so many sectors out,
|
|
15 megabytes copy, lotty-dotty-dotty-dot, okay, we need to make note of this, records in,
|
|
and records out, those are our sector sizes, and it's 29680, 298, 29680, 29680,
|
|
okay, that's how many sectors we just wrote, so we need to add that number to our starting point,
|
|
and that'll tell us where the file ends at, and I'm just going to do this by hand real quick,
|
|
9, 2, 3, 8, so the end of our file will be at 823-738,
|
|
it's like that would be the sector number, so we're going to add 10 to that,
|
|
and I'll give us our second starting point, so that'll be 822-3748,
|
|
will be our second place for our file, I'm just going to circle our file,
|
|
so the second save will be the data tar, data tar,
|
|
and we're going to seek to 822-3748, and I'll file same thing,
|
|
so there it goes, and it saved a little over half a megabyte worth of text files,
|
|
all right, so now we have to make sure that our save looks good,
|
|
and this is convenient because it'll also produce our retrieval command,
|
|
so let's look at some text for a DD retrieval,
|
|
and I'm just going to do it on paper real quick,
|
|
DD, the end file, okay, we don't really need the name of the tar file,
|
|
it could be anything, when it unpacks the tar file format,
|
|
it'll tell it where to unpack, of course you want to avoid tar bombs,
|
|
but if you just stick your stuff into a directory and tar it, it'll be okay,
|
|
so we'll just call it x.tar and y.tar,
|
|
when we are pulling them off, that will be our out file,
|
|
and our inf file will be SDD, to place SDD,
|
|
and so the syntax on the DVD, I mean on the DD command,
|
|
when you're right into the disk, you move the,
|
|
what we might call the head or the cursor to the sector with the see command,
|
|
but on retrieval, it's different, it's a count,
|
|
starting point and count, so let me work this up real quick,
|
|
the syntax for retrieving, okay, skip,
|
|
we'll be skip is where our files will start at, and count,
|
|
so count, skip, and count, that's right,
|
|
all right, so we're gonna form the command, skip the file,
|
|
count, who's in skip, all right,
|
|
let's see, I'm sitting in the man of DD,
|
|
I'm gonna form the commands, DD,
|
|
inf file, slash dev, slash SDD, skip,
|
|
equal, our first file is at, eight, one,
|
|
nine, four, oh, four, eight,
|
|
and we had a count of 29, 680,
|
|
29, 680, yeah, one,
|
|
okay, my skip is actually at, eight, one, nine, four,
|
|
five, eight, space, count, equal,
|
|
two, nine, six, eight, zero,
|
|
outval, OF, equal, X dot tar,
|
|
and we're gonna run it,
|
|
I've got equal sign in there somewhere,
|
|
all right, copy 15 megabytes back in,
|
|
so now we're gonna diff, the X dot tar,
|
|
with the images dot tar,
|
|
X dot tar, space, images dot tar,
|
|
and come back with no difference,
|
|
so our extraction command was,
|
|
DD, space, IF equal, slash dev,
|
|
slash SDD, space, skip, equal,
|
|
then starting point over file,
|
|
which was eight, one, nine, four,
|
|
five, eight, space, count, equal,
|
|
and this will be our number of sectors we wrote,
|
|
which was 29, zero, oh no,
|
|
29, six, eight, zero,
|
|
space, outval, equal, X dot tar,
|
|
and I'll go ahead and do the same thing with my data,
|
|
so we got to change this up a little bit,
|
|
we'll call the, out, coming file, Y dot tar,
|
|
and our count was 1320,
|
|
1320, and our skip,
|
|
our starting point was,
|
|
eight, two, two, three, seven,
|
|
four, eight,
|
|
and it comes back,
|
|
we got to do a dip on this,
|
|
dip Y tar with data tar,
|
|
and no differences,
|
|
so we extracted all that,
|
|
so if you keep your little extraction command around,
|
|
somebody might find it and say,
|
|
wow, if I run this command,
|
|
I'll pull all my data off,
|
|
so what do you really need to know?
|
|
You know the DD command,
|
|
so you don't need our IDD down,
|
|
you don't need to even know a tar file name
|
|
because it doesn't matter what the file name is
|
|
when you extract it,
|
|
it'll be the way it's supposed to be.
|
|
You don't really really need the sector links,
|
|
or the file links,
|
|
the data links,
|
|
the number of sectors that you saved,
|
|
or it's starting position,
|
|
if you look at the drive you can tell,
|
|
but you might want to keep those two numbers around,
|
|
starting point in that count,
|
|
and that's how you save and retrieve information
|
|
from a disk outside of the fastest.
|
|
You've been listening to Hacker Public Radio
|
|
at Hacker Public Radio.org.
|
|
We are a community podcast network
|
|
that releases shows every weekday,
|
|
Monday through Friday.
|
|
Today's show, like all our shows,
|
|
was contributed by an HPR listener like yourself.
|
|
If you ever thought of recording a podcast,
|
|
then click on our contributing
|
|
to find out how easy it really is.
|
|
Hacker Public Radio was founded
|
|
by the digital dog pound
|
|
and the Infonomicon Computer Club,
|
|
and it's part of the binary revolution at binrev.com.
|
|
If you have comments on today's show,
|
|
please email the host directly,
|
|
leave a comment on the website
|
|
or record a follow-up episode yourself.
|
|
Unless otherwise status,
|
|
today's show is released
|
|
under Creative Commons,
|
|
Attribution, ShareLife,
|
|
3.0 license.
|