Exetools  

Go Back   Exetools > General > General Discussion

Notices

Reply
 
Thread Tools Display Modes
  #1  
Old 01-14-2004, 04:14
raladin
 
Posts: n/a
Question how to force windows to report a false hard disk serial number?

Hi all..

I made an APP that grabs the Serial No. of your Hard Disk. (Not the Volume Label I mean.. the Product Serial that is included inside the core of your Hard Disk.. not the Volume Label in the "Kernel32.DLL" file)

So can any body force windows to report a false Serial No. for the Hard Disk?

Cheers.
Reply With Quote
  #2  
Old 01-14-2004, 08:10
Rhodium
 
Posts: n/a
Are you able to set the serial # to blank?

Or, what about writing something to modify the serial # every time the comp boots?

Interesting.

Last edited by Rhodium; 01-14-2004 at 08:13.
Reply With Quote
  #3  
Old 01-14-2004, 13:59
JMI JMI is offline
Leader
 
Join Date: Jan 2002
Posts: 1,627
Rept. Given: 5
Rept. Rcvd 199 Times in 99 Posts
Thanks Given: 0
Thanks Rcvd at 98 Times in 96 Posts
JMI Reputation: 100-199 JMI Reputation: 100-199
If you assume "windows" is reporting the serial of your HD, then it has specific code to do that. You could "intercept" that code on the fly and change the serial result that Windows "stores/reports "in some specific location. If it's just a Windows API you could set a breakpoint on the read access. The priciple would be the same for private code accessing the HD for that reason. You have to identify its "reading" code and force it to "report" the serial you want it to use.

You are potentially facing at least two possible options. One might be that the read of the HD serial is simply a "goodboy/bad cracker" comparison and then jmp to "goodboy." Another, more difficult, is that the code read the original HD serial and used it as part of some form of encryption code to modify part of the code itself. This would be much more difficult to get around, unless you happen to have the HD code for the "original" harddisk.

Regards,
__________________
JMI
Reply With Quote
  #4  
Old 01-14-2004, 15:29
raladin
 
Posts: n/a
Thank you very much for your replies.. So I mst now encrypt the HD serial.. but what which kind of encryption must I use.. I mean can I user MD5 or for example : Serial No. + 5353+fgedf345+534 soe thing loke that? that will give me the Serial No. with more values added to it.. and remmember that this value will be added to mySQL Database at my server.. and every time the client wants to login to his account.. the login page will verify that serial.. so do you guess that if I used any kind of encryption will work? or I must use MD5 (Hashing System)?

Waiting your replies..

Regards,
Reply With Quote
  #5  
Old 01-14-2004, 15:33
raladin
 
Posts: n/a
Can I use for example a code to grab the serial and then "Serial No. = some other values"?

But it will not change anything.. because it will always take a wrong serial and then add to it some values and send it.. so the result will be always the same..

How to stop hackers & crackers from hacking it?

Waiting your replies as fast as possible..

cheers..
Reply With Quote
  #6  
Old 01-14-2004, 18:07
JMI JMI is offline
Leader
 
Join Date: Jan 2002
Posts: 1,627
Rept. Given: 5
Rept. Rcvd 199 Times in 99 Posts
Thanks Given: 0
Thanks Rcvd at 98 Times in 96 Posts
JMI Reputation: 100-199 JMI Reputation: 100-199
Now I understand better what you are trying to do. You have a server and you are apparently trying to prevent "non-registered" users of some software you are selling or users who you don't know from accessing your server?

If that is correct, you are attempting to prevent someone without the proper "code" from gaining access to the server and you want to use the HD serial number as part of the authentication process. The next question is "WHY"? By that question, I only mean that the encryption of the HD serial isn't necessarily any more or less secure that an excryption made from some other conbination of things; such as username, password, secret question, answer to secret question etc. There are many free code segments already available on the net which will provide you with an MD5 encryption of those things. If you want, I will post a link to one that is a GPL free license and is currently used by Yahoo for their security system for their servers.

One of the things you need to consider is how you will authenticate the users if they "lose" their password. If your system is dependent on their HD hash, then they could only access your server from one particular machine. No access would be possible, without cracking the access code, from any other location and if the user's HD crashed and had to be replaced, they could never "prove" they were the legitimate user of your server or software.

I believe you need to explain what you are trying to accomplish more clearly and maybe we can help more.

Regards,
__________________
JMI
Reply With Quote
  #7  
Old 01-14-2004, 19:10
raladin
 
Posts: n/a
Just what I'm thinking for..to prevent un-regitered users from entering the lessons.. it is for an E-Learning System...

And I want every account for one PC only.. and the user have TWO TIMES only Activation.. so if he changed his HD he can reactivate.. as for example : if you registered for a learning course.. so if you was absent.. it is your falt not mine.. is that right?

So.. I hope you can help me with this.. but can we chat at one of the following IM :

Yahoo! Messenger : [email protected]
MSN Messenger : [email protected]
ICQ : 294571847

I'm waiting your add because you know.. there are many secret thing for the System.. I can't put it here.. So I hope you will agree to chat at one of the IM..

Regards
Reply With Quote
  #8  
Old 01-14-2004, 19:32
raladin
 
Posts: n/a
I attached what I done with this message.. and you will know my meaning..

And remmember that my server is Apache..

Waiting your reply..

regards..
Attached Files
File Type: zip hard drive serial number.zip (11.2 KB, 85 views)
Reply With Quote
  #9  
Old 01-14-2004, 21:36
raladin
 
Posts: n/a
Waiting your replies..

cheers.
Reply With Quote
  #10  
Old 01-15-2004, 03:18
JMI JMI is offline
Leader
 
Join Date: Jan 2002
Posts: 1,627
Rept. Given: 5
Rept. Rcvd 199 Times in 99 Posts
Thanks Given: 0
Thanks Rcvd at 98 Times in 96 Posts
JMI Reputation: 100-199 JMI Reputation: 100-199
raladin:

It is difficult for me to chat in real time because I have a day job which has nothing to do with computing, other than using one for getting work done and I often work at it for long hours at a time without significant breaks. However, I will PM you with an email addy where you can contact me to discuss your issues more fully.

Do I understand that you want to have the user download your software? Does that mean that the software downloaded on their computer has to interact with your server to update and/or interact with the "lessons"?

Having the software locked to a particular HD is an option available from several protection companies, including armadillo. It prevents the installation of the software on more than one HD, "IF" the distributor sets up the software options on their protection code properly. It also has MD5 code to encrypt part of the code with a particular registration criteria, that makes it pretty secure without someone actually having that code. It prevents a part of the program from decrypting needed features. Of course it only works on windows products. The point here is that they have trial downloads you could study for fuctionality.

I believe the key to security here is a two step process. First the software must have some major functional part of it encrypted with MD5 that simply does not operate without the proper authentication. One way to prevent the "unauthorized" distribution of your software could be to make part of the software operable "only" when their "authenticated" machine is connected to your server. In other words, the "lessons" open on their machine, but do not do anything important, unless connected to your server. If the "data" they need is not available on "their" machine, they can not make it work there. Only by successfully connecting to your machine, would the "fuctional" component actually be available. You could then have a folder on your machine that is available "only" to someone with that HD authentication embedded in his code, who also had the proper authentication code to the server, such as encrypted username and password. Such a two step authentication simply adds a second level to the process.

Generally the only really secure system downloaded to the user, which you want to only work when properly connected to your server, is one where there is NOTHING on their machine which is capable of making it work. If the code that makes it work is actually there, it requires strong encryption to prevent access "without" you server connection, but if your server actually sends something to them to "unencrypt" that portion of the code each time they connect, some smart hacker could eventually figure out how to intercept it and "activate" without being connected at all. But if the part that makes the lessons work is ONLY on your server, and is not actually downloadabe, but only viewable, i.e. you have disabled "view source" fuctionality and the files are "read only" and encrypted with a piece available only on your server, it would become a difficult process for anyone to use your "lessons" who wasn't BOTH the proper person AND operating from the proper machine.

Regards,
__________________
JMI
Reply With Quote
  #11  
Old 01-15-2004, 03:37
raladin
 
Posts: n/a
JMI, you are really a great man..

It is an E-Learning System.. and it is not downloadable... so I think it is more difficult for hackers to steal the lessons..

I'm waiting your PM now to discuss this more..

Cheeeeeeeeers and best regards dude

Last edited by raladin; 01-15-2004 at 03:41.
Reply With Quote
  #12  
Old 01-16-2004, 04:17
wassim_ wassim_ is offline
Friend
 
Join Date: Nov 2002
Posts: 105
Rept. Given: 1
Rept. Rcvd 1 Time in 1 Post
Thanks Given: 15
Thanks Rcvd at 11 Times in 5 Posts
wassim_ Reputation: 2
Great discussion!

JMI, you really are a patient, helpful and chelling cool guy...
Reply With Quote
  #13  
Old 01-16-2004, 14:20
mtw mtw is offline
Friend
 
Join Date: Feb 2003
Posts: 73
Rept. Given: 0
Rept. Rcvd 2 Times in 1 Post
Thanks Given: 0
Thanks Rcvd at 0 Times in 0 Posts
mtw Reputation: 2
Well not to try and disrupt your coding
but since your using the API call GetVolumeInformation
this can be hooked and give any result back to
pVolumeSerialNumber. btw there are utils to change
your volume serial permanately so all they need
is 1 copy and that will be the end of it. If you want
it secure you better put bios info and even more
hardware finger prints onto the hash.
Reply With Quote
  #14  
Old 01-17-2004, 02:54
JMI JMI is offline
Leader
 
Join Date: Jan 2002
Posts: 1,627
Rept. Given: 5
Rept. Rcvd 199 Times in 99 Posts
Thanks Given: 0
Thanks Rcvd at 98 Times in 96 Posts
JMI Reputation: 100-199 JMI Reputation: 100-199
raladin and I have discussed by email that the serial number reported by getvolumninfo, the VSN of the machine is assigned by Windows with the formating of the HD and can be changed by the user. I sent him a small code snippit I found on the net which can do that and, therefore, makes the use of that serial for security purposes a potential problem.

A much more secure process would be if one can obtain the manufacturers serial number off of the HD of the subject machine, because that number and firmware would be, it would appear, much more difficult to easily report as something different that what it coded in the HD itself. raladin has apparently found a program which will read that information, although my own reading on the net suggests that it may not be easy to have a program that will read all manufactures "signatures."

I have suggested to him that his main security from such a system would be that the user of his E-Learning system would not be aware that their HD signature was being confirmed and therefore, would be less likely to attempt to muck around with attempts to change it.

Regards,
__________________
JMI
Reply With Quote
  #15  
Old 01-17-2004, 03:49
Satyric0n
 
Posts: n/a
Quote:
Originally posted by JMI
I have suggested to him that his main security from such a system would be that the user of his E-Learning system would not be aware that their HD signature was being confirmed and therefore, would be less likely to attempt to muck around with attempts to change it.
Security through obscurity only works until someone opens a debugger ...
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Safengine and Windows 10 false detection Asus General Discussion 2 02-09-2021 13:35


All times are GMT +8. The time now is 17:11.


Always Your Best Friend: Aaron, JMI, ahmadmansoor, ZeNiX, chessgod101
( Since 1998 )