|
That info is stored in the file itself, using a second stream. Streams are supported on NTFS only, so as long as the file stays on NTFS volumes, the info will be preserved.
--Mike--
http://home.inreach.com/mdunn/
Help! Help! I'm being repressed!!
your with and
Sonork - 100.10414 AcidHelm
|
|
|
|
|
Thanks for the reply! It helped me to search around a bit to find some more info. One thought bugs me though - wouldn't this feature make it easier to hide viruses? How could I find all the named streams contained in a file? Is there a tool to do this? I doesn't seem like the Windows API has direct support for named streams..
/moliate
|
|
|
|
|
Tell me if I am barking up the wrong tree here.
But with the advent of COM and OLE and stuff like that - they created a new file format called the "DOCFILE". A DOCFILE is a filesystem within a file containing storages (like a directory) and streams (like a file).
To use these, you need to start looking at the COM class IStorage.
This properties information you are looking for is contained within a stream in the root of the file. I don't recall the name or the format of the file, but it's there...
-p
P.S. This is not supported on NT or NTFS only. This is in all COM supporting versions of windows.
|
|
|
|
|
Not so much viruses, but you can hide data, that will not appear in the files size. A file can have a length of 0 bytes but could contain data in one of the other streams, which would not show up. I remember a freind doing a course on Win 2000 admin, and this police guys face went pale when the tutor showed them how to hide data in this way.
Giles
|
|
|
|
|
What are the APIs for accessing these streams?
Michael S. Scherotter
Lead Software Architect
Tartus Development, Inc.
|
|
|
|
|
Any of the standard API (i.e. CreateFile)
"mytextfile.txt:stream_name_1" is the name of "stream_name_1" in the file "mytextfile.txt".
MSDN Info
Tim Smith
I know what you're thinking punk, you're thinking did he spell check this document? Well, to tell you the truth I kinda forgot myself in all this excitement. But being this here's CodeProject, the most powerful forums in the world and would blow your head clean off, you've got to ask yourself one question, Do I feel lucky? Well do ya punk?
|
|
|
|
|
Thank you.
How can you enumerate the streams on a file?
Michael S. Scherotter
Lead Software Architect
Tartus Development, Inc.
|
|
|
|
|
Hi,
I will soon install XP on one of our machines (probably mine). Has anyone been using Visual studio 6.0 on XP ? If so, did it work as before ? For the moment I do not think I will upgrade to a higher version. If version 6.0 works I will keep on using it for a while.
Also, I am using a legacy compiler for the 8051 processor. It is essentially DOS based but I have integrated it with Visual studio 6 and it is working well. Anyone have any experience with running DOS programs under XP ? To clarify, the DOS applications are just plain vanilla: to activate you type a command line with some arguments and during + after running you get some simple text output. Just wondering if under XP you can still do that.
Any help/comments much appreciated.
regards,
Filip
|
|
|
|
|
I've been using Visual Studio 6 SP5 for about 55 days on XP now. (I know the number of days because XP keeps reminding me I have x days left to activate)
I've not had any major problems. There have been a few unexpected crashes but I had plenty of those on 2000 too.
Michael
|
|
|
|
|
I haven't really had any crashes but I can't seem to debug anything.
-Matt Newman
-Matt Newman
|
|
|
|
|
When I try to run an application with WinExec it will not do what I want it to do!!
WinExec(m_Path,SW_SHOW);
m_Path is a varible of CString and contains the return value from FileDLg.GetPathName() (FileDialog is a CFileDialog).
Isn't this the right way?
The app does not run... HELP! SHOW ME HOW!?
------------------------------
©0d3 ©®4©k3® - That's me!
------------------------------
|
|
|
|
|
Try using CreateProcess() instead. Perhaps the file name has embedded blanks which are causing problems? It's hard to offer help without specific information. I'm not sure what you mean by "it will not do what I want it to do!!".
/ravi
"There is always one more bug..."
ravib@ravib.com
http://www.ravib.com
|
|
|
|
|
Stupid me!
This is what I want it to do: Run that application that 'm_Path' contains (full path to it)
------------------------------
©0d3 ©®4©k3® - That's me!
------------------------------
|
|
|
|
|
Yes, I assumed that. But what status does the function return?
/ravi
"There is always one more bug..."
http://www.ravib.com
ravib@ravib.com
|
|
|
|
|
Ok, now I get o as return value. But when I test the string that I get from the registry it does not contain any characters! :/
If I open the registry editor I can see the string with path but when I try to ge it it obviously wont return right value... hm...
------------------------------
©0d3 ©®4©k3® - That's me!
------------------------------
|
|
|
|
|
Oh man!
I feel so painful!!
The error was that when I read from the registry. I read wrong folder!
DAMN ME!
------------------------------
©0d3 ©®4©k3® - That's me!
------------------------------
|
|
|
|
|
Well WinExec is a superceded function but I've not had any issues with it. What is the return value from the function. This should give you a clue to why it is failing.
Michael
|
|
|
|
|
Hello,
I've got W2K ( only ) and I want to update the bios of my mainboard.
In order to do that, I need to make a boot disk.
I know that we cannot do that on W2K ( format a: /s ).
So I take an old W98 boot disk, and tried the "format a: /s" but it doesn't work ( no idea why. I could do a "format c: /s" but not on a floppy disk).
Any idea or help to make a bootable floppy disk on W2K ?
Thanks in advance,
Stephane
"It is ridiculous to claim that video games influence children.
For instance, if PacMan affected kids born in the eighties, we
should by now have a bunch of teenagers who run around in darkened
rooms eating pills while listening to monotonous electronic music."
|
|
|
|
|
|
This is a strange request -- but I clues on how to uniquely identify a machine. I need this for an online service -- one that needs to be able to control it's troubled users, and attempt to keep them off the system.
We'd like something that would survive a hard disk reformat. We have used methods which mark their machine. Marking their registry was quick and easy, but eventually found by the users. We've found that marking they system with a file is somewhat more effective, especially with a well named file.
Is there any other way to mark the machine -- could we create a bad sector on the hard drive? Though how would we find it? Is there room in the CMOS for some additional stuff? Any suggestions? Anything we'd do would have to evade the virus software.
But, what we'd really like to do, is find a way to identify someone's machine without placing a mark on it. We'd like to be able to piece together a signature based on multiple items, forming a unique id for that machine.
* MAC Address: not effective -- dialup users don't have em
* BIOS Checksum: may be a good piece of info
* Fixed Disc Serial #: may be a good piece of info
* ????
Thanks
-p
|
|
|
|
|
You can use GetVolumeInformation() to find disc serial #. That's the best I can think of.
I vote pro drink
|
|
|
|
|
Peter Weyzen wrote:
could we create a bad sector on the hard drive?
That would work, as long as you don't mind getting sued by your users for willful destruction of their property.
--Mike--
http://home.inreach.com/mdunn/
Help! Help! I'm being repressed!!
your with and
Sonork - 100.10414 AcidHelm
|
|
|
|
|
well, thanks for the legal advice...
seems like no one has any information on this topic...
|
|
|
|
|
That's a very tough one. All of the options mentioned require binary executables to run which probably rules out cross-platform compatability (PCs and Macs.) Personally, I have my security level set very high and I do not allow ANY Active-X crap or scripts to run without permission which I nearly always deny.
Is user login not an option ?
|
|
|
|
|
well, to add some more information here. In order to access our system, one must install our client software. So "permissions" on a client machine would not be a problem.
just doing a login is not sufficient. We would like to bar "problem users" from getting on to our system. Some of them will purchase a new membership after we shutdown a problem account.
If we could identify their machine uniquely, we could stop them from accessing our system. We could not stop them from using another machine, but blocking a single machine is an effective deterrant.
We've used various "cookie" type mechanisms -- placing markers on their machine either in the file system or in the registry. All of these tactics are detectable, and may be circumvented (and have been).
We're just trying to prevent a very small number of extremely annoying people from using our system.
There are a lot of "obvious" ID's that people suggest, but don't really do much:
- IP - doesn't work, cannot control dynamic IP users
- MAC address - dialup users don't have a unique one
With the new XP, Microsoft has started to employ the same mechanisms we seek... But they don't share stuff like that.
Thanks
|
|
|
|