Joined: 16 Jun 2003
Location: Linköping, Sweden
Articles, Best Practices, Considerations
Articles, Best Practices, Considerations an ABC of sorts
This thread is intended to collect (and encourage you to write such ) articles/threads that for some reason is worth reading. If you have any threads or articles that you think should be listed here don't be shy post a reply here with a short summary of the article and why you think it's good. (or if you're shy, just PM me instead, I usually don't bite that hard )
Note: While this thread resides under the Windows section the articles doesn't necessarily need to be directly related to windows programming (I might move the thread if the lists bellow become very generic, but for now it's mostly windows related). Especially the security section is by it's nature not just about one single OS or version thereof.
Tutorials for beginners
Tutorials for beginners - we all had to learn to crawl first
Smashing The Stack For Fun And Profit
The effects of bad buffer/stack management. Buffer overflows, they can be avoided, yet they're still (iirc since sometime in the 80's) a very common vulnerability*. Good and secure practices can avoid or limit the impact of them. For instance, never trust user provided data (ask them for an (unspecified/signed) integer, what if they give you "-1"? Will your loop trash the stack or crash?). Do bounds checking, be paranoid about prinf-like functions (esp. the "%n" format). And always check the return value of malloc (etc) - an unchecked NULL pointer will at best just crash your program (which may be unacceptable as it can be a DoS-type failure, or leak information from unsafe core dumps, which are more or less raw dumps of the process memory after it crashed).
Some times the answer to how to improve security is rewrite. Killing your darlings - possibly the hardest thing to do, it's ok to cry
*a quick terminology notice: vulnerability = something/a defect that might go undetected/never happen or cause an error (something that might be recoverable from) which may lead to a failure (e.g. program crash).
Also, a final quote from a guest lecturer: "Just because you're paranoid doesn't mean they're not after you" (or my take at it "if you're not paranoid about users, you've missed the point about security")
Graphics Libraries - For life in R² or R³
There are many libraries for graphics. DirectX, OpenGL, SDL or even aalib/libcaca.
This is where your example could be.
OpenGL includes for fasm
Based on "standard gl.h, glext.h, glu.h, and wglext.h". These may be outdated (the OpenGL example in the windows bundle of fasm (Downloads) has it's own).
First Person Camera
An example of first person camera which also contains some sort of OpenGL framework.
No dead links above as of 2010-01-24 11:12. If you encounter a dead link above please notify me.
_________________ ... a professor saying: "use this proprietary software to learn computer science" is the same as English professor handing you a copy of Shakespeare and saying: "use this book to learn Shakespeare without opening the book itself.
- Bradley Kuhn
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You can download files in this forum