Jump to content

  • Log In with Google      Sign In   
  • Create Account


DevLiquidKnight

Member Since 06 Jun 2002
Offline Last Active May 19 2014 11:25 PM
-----

#4952544 Assembly Programming

Posted by DevLiquidKnight on 24 June 2012 - 09:41 PM

Alright, I'm going to ask to spare me the lecture of "Assembly will make very little difference speed-wise, Assembly is very difficult, and etc." Yes I know, but the point is I want to learn it and I already have a general understanding of how it's supposed work. I know that all CPUs have registers, and the 8086 CPU is what all modern CPUs are based from today. I know that these registers are faster than RAM, and standard registers are ax, bx, si, and etc. That is under 16 bit of course. I also understand the basic commands such as mov ax, 31. I'm also aware of interrupts, these can be used for handling peripherals, video, and such. My problem is simply this, finding a decent (free) book utorial that goes over all of this without being bound to Windows, Linux, DOS, or even the C language itself. I want it to be completely unbound from the operating system that it runs on, or rather, have no OS at all and simply boot it from a CD\floppy. My main goal is to make my own OS, but that will come later, right now I simply want to learn how do Assembly programming without being bound to an OS.

With that out of the way, I'd like to learn 32 bit and 64 bit Assembly. If anyone knows of any decent (free) books utorials that I could use, that'd be great. Any help is greatly appreciated.


I highly recommend learning assembly I don't know why anyone would say such terrible things. Its extremely useful to know whats going on behind the scenes. That being said I recommend you learn 32 bit before tackling 64 bit. The primary reason? Theirs much more information about it online.

These links should prove useful:
http://homepage.mac.....edu/index.html
http://win32assembly...r/download.html
http://www.amazon.co...e/dp/0763772232


#4952509 clipart

Posted by DevLiquidKnight on 24 June 2012 - 07:53 PM

Does it make sense to pay for clipart.com when there's openclipart.org?

Am I missing something?

Its even easier to just make your own.


#4952423 How to verify as a valid client?

Posted by DevLiquidKnight on 24 June 2012 - 02:34 PM

I think if you combined any of the techniques I mentioned, with a cheating detection techniques, and put as much data as possible on the server, the idea of hacking is impractical.


#4952406 How to verify as a valid client?

Posted by DevLiquidKnight on 24 June 2012 - 01:35 PM

Did you not read, or not understand, the argument?

The argument is checking the validity of a client, that is what digital signature is for, and it will do that. You are assuming a hacker with unlimited knowledge and power, which most aren't.

You could easily implement a system such as on-live if your that worried about it. I was not assuming the worst case scenario, but this would solve it.


#4952401 How to verify as a valid client?

Posted by DevLiquidKnight on 24 June 2012 - 01:20 PM

You can design it to prevent tampering of the client, a hardware dongle comes to mind.


#4952282 How to verify as a valid client?

Posted by DevLiquidKnight on 24 June 2012 - 05:21 AM

Proprer cryptography won't work since the legitimate client needs access to the same keys the hacker needs, The hacker has access to the legitimate client and can do anything it does (Which means the hacker can encrypt his modified packets with the same key as the legitimate client uses to encrypt its unmodified packets)

Proper cryptography gives each user an individual key, or a certificate, not each client, thus making it so only those who have them are allowed on. In this case I think it would make more sense to only give them individual public keys, as they would be unable to determine the private key. Furthermore if one key was cracked some how which is unlikely if its sufficiently strong all the others would not be. And you'd have revocation lists in the event a account is removed, breached, etc. Hence why I said its more trouble then its worth.

Cryptography isn't some magic dust you can sprinkle on your game to make it have whatever property you like.

I believe I said how to do it, its using asymmetric cryptographic, and digital signatures, along with non-repudiation. Such a system would ensures users cannot deny sending and or receiving data. It would also protect against man in the middle attacks, along with telling you who sent the data. I refer you to read more about digital signatures http://en.wikipedia....gital_signature before assuming I don't know what I am talking about. Posted Image


#4952252 How to verify as a valid client?

Posted by DevLiquidKnight on 24 June 2012 - 01:18 AM

How would i go around making sure only real clients can connect who have the correct client software/application?

Cryptography does not help, because it protects against some shady third party. The problem is that the code for the client is in the hands of a second party -- the actual player. No amount of downloadable DLLs or server-client-collaborated checksums can deter a skilled hacker with a virtual machine to host your game in.

This is wrong, proper cryptography will solve it, although its not necessarily easy to do and likely not worth your time. The only way a hacker could thwart proper cryptography is with millions of dollars worth of computer hardware, or the ability to time travel. Their are ways of using certificates to validate that the person is who they say they are, and that what was sent is authentic its the entire point of digital signatures. Otherwise eCommerce would be impossible. Look into non-repudiation, however this is not the only thing that should be considered. A poorly coded server design that is insecure is likely to have other flaws.


#4927343 Returning a data member of a pointer

Posted by DevLiquidKnight on 01 April 2012 - 07:39 PM

m_father and m_mother are never created you need to create these if you intend to use them on these lines:

os << endl << "Father: " << aPerson.m_father->m_name << endl;
os << "Mother: " << aPerson.m_mother->m_name << endl;

Otherwise when you go to use the << operator on your new class its not going to be able to access them and fail.


#3686244 Game Engines

Posted by DevLiquidKnight on 17 July 2006 - 10:20 AM

I suggest getting the Torque engine. It has great documentation, and a great community that offers support. The Torque shader engine is the better engine from Garage Games right now.

How ever you need the torque engine to run the shader engine to my knowledge any ways. Also, you may not need the shader engine very much unless you know shaders. I say the Torque engine is a fine way to go.

I've looked into the C4 engine as well, it looks promising. The one downside is I don't think its quite the community that Torque has. I think the C4 engine is probably more up to date then the Torque engine, unless you get the shader engine as well.




PARTNERS