Exetools

Exetools (https://forum.exetools.com/index.php)
-   General Discussion (https://forum.exetools.com/forumdisplay.php?f=2)
-   -   how to force windows to report a false hard disk serial number? (https://forum.exetools.com/showthread.php?t=3203)

raladin 01-14-2004 04:14

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.

Rhodium 01-14-2004 08:10

Are you able to set the serial # to blank?

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

Interesting.

JMI 01-14-2004 13:59

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,

raladin 01-14-2004 15:29

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,

raladin 01-14-2004 15:33

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..

JMI 01-14-2004 18:07

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,

raladin 01-14-2004 19:10

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

raladin 01-14-2004 19:32

1 Attachment(s)
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..

raladin 01-14-2004 21:36

Waiting your replies..

cheers.

JMI 01-15-2004 03:18

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,

raladin 01-15-2004 03:37

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 :) :) :)

wassim_ 01-16-2004 04:17

Great discussion!
 
JMI, you really are a patient, helpful and chelling cool guy...

mtw 01-16-2004 14:20

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.

JMI 01-17-2004 02:54

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. :D

Regards,

Satyric0n 01-17-2004 03:49

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. :D
Security through obscurity only works until someone opens a debugger ;)...


All times are GMT +8. The time now is 02:43.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2026, vBulletin Solutions, Inc.
Always Your Best Friend: Aaron, JMI, ahmadmansoor, ZeNiX