How to write a game engine in pure C: Part 3 – The Engine Entity

If you haven’t read the other posts, go now:

This is the third post of the series and it might be the less appealing, but it’ll set the foundations for all the system that we are to build.

Every software piece should have an architecture to keep the code clean and tidy with it’s modules where they belong, and a game engine is no more than a piece of software, so here we are.

Continue reading “How to write a game engine in pure C: Part 3 – The Engine Entity”

Hiding malware in Windows – The basics of code injection

There are hundreds of teams working professionally trying to break into any single digital device to compromise sensitive data leaving no fingerprint.Malware industry is bigger than you might think, more than 4,000 ransom-ware attacks have occurred every day since the beginning of 2016 and much more general system vulnerations.

I remember viruses in Win95 where you got a freeze screen, a broken OS or a BSOD; that’s not the case anymore, today access violations leave no trace and usually patches the vulnerabilities behind them so no other malware can take control of the system.
A guy i met once told me that “the best AV you could ever have is a harmless virus”, I don’t fully agree, but that sentence hides a bit of truth.

But, how can this malicious code run freely in a host machine without the user noticing?
Continue reading “Hiding malware in Windows – The basics of code injection”

How to parse key-value strings into associative arrays in ANSI C89

We all know that C is one of the best languages for many reasons and especially the ANSI C89 standard (old and solid as fuck) but it also has it’s own drawbacks. There are many situtations in software development where inbuilt data structures can’t suit the programer’s needs and in a language like C, where there are not as many options to choose from (without relying on glibc or similar) as you can have in python or javascript, sometimes the solution can get really hard to figure out.
Continue reading “How to parse key-value strings into associative arrays in ANSI C89”

How does a CPU work?

The CPU (Central processing unit) is the brain of all systems, it takes instructions as simple as electric variations and performs complex tasks by running electricity through circuits, but, how do they do it?

Not even engineers knows exactly how a CPU works, indeed, I’ve meet very few people (Developer, analyst, Architect or IT) who knows exactly how electricity is evaluated in a logical way to perform concrete calculations in order to run a digitally written program.

Can you even imagine how your computer performs a Node javascript file execution? I bet not…

Continue reading “How does a CPU work?”

What is Buffer Overflow vulnerability and how do we exploit it.

Buffer overflow is probably the most feared security hole in software since it’s not just a development issue (it is) but also a language standard library “error”. This makes buffer overflow vulnerabilities hard to spot and fix and ridicously powerfull.
But, what is a buffer overflow vulnerabilty and how do we exploit it?Imágenes integradas 1

Continue reading “What is Buffer Overflow vulnerability and how do we exploit it.”

Share memory between processes in C++

Wouldn’t be awesome to have some fastest way to share data between processes and services than TCP/UDP sockets, even faster than Unix sockets or OS Events/Signals?
Stop dreaming, it exists, the FASTEST DATA SHARING EVER SEEN, shared memory.

Shared memory is just accessing the same memory block from two or more processes, that means that multiple processes can share data in real time.

Continue reading “Share memory between processes in C++”

Design a site like this with WordPress.com
Get started