Javascript is an interpreted language that can only work within the environment of the browser (the interpreter). DLLs, Mac Addresses, etc are beyond your reach.
If you want to uniquely identify users, how about a
random string and
cookies? Even better, if you use
PHP/
ASP and sessions are available (on by default), there's already a "session ID" value that unique identifies each visitor.
I don't know what you mean by "not changeable". Technically, any information stored on the client machine being sent back to the server is changeable - ie.: I could change my cookies to impersonate someone else's session. But this a) is not an easy guess and b) is a pretty pointless exercise.
What exactly are you trying to achieve? (though I must say I think
ASP/
PHP sessions will be sufficient)