Episode 14 – Let’s talk about stacks Baby!
Music provided by: Denis Kreynin https://soundcloud.com/denis-kreynin
We talked about web vulnerabilities and the markup languages, and interpretation of scripts, but those aren’t real programs running on your computer. This time we’re going to get a little more advanced and talk about programming and execution within the computer drawing back to the first few episodes. It’s detailed but will be the bedrock for the more advanced topics we’ll be discussing in vulnerabilities within applications running on a computer.
First things first, and overview of programing
if -> then, Loops, functions, counting from 0
Types of variables change in language
Compiled code is the lowest common denominator that make it all the same
Pseudo code to illustrate variables as buffers and
Sitting at a desk and a co-worker introduces someone to you
if horizontalState = sitting then
engage stand function
if introduced person is to right then
engage rotate right function until facing new person
else
engage rotate left function until facing new person
end if
open hand and extend towards new person
say “Hi, I’m “ constantOwnName “ and you are?”
bufferNewPerson = listenFunction(newPerson)
clasp hand and shake up and down
say “nice to meet you “ bufferNewPerson
This then gets compiled down, reserving the spaces in memory for input, defining constants, getting ready for repeated functions, etc.
Anything abstracted gets boiled down to the nitty gritty details at the compiling phase, and the linking turns it into how the machine (your body) will execute it. Which synapses are necessary to twitch the muscles in the knee and buttock and back, plus how to counterbalance weight to get up from seated to standing.
References:
Waitangi: https://en.wikipedia.org/wiki/Treaty_of_Waitangi
Gong Hei Fat Choi: https://en.wikipedia.org/wiki/Chinese_New_Year
Google drunk test: https://gmailblog.blogspot.ca/2008/10/new-in-labs-stop-sending-mail-you-later.html
beginner programming lessons, including things like variables, conditions and looping: https://www.howstuffworks.com/c.htm
programs in memory: https://www.geeksforgeeks.org/memory-layout-of-c-program/
A good reference on instruction pointers and frame pointers: https://books.google.ca/books?id=0FW3DMNhl1EC&pg=PA69&lpg=PA69&dq=0x270+memory+segmentation&source=bl&ots=tt7vDTFWTu&sig=Y9UjRJFsgybmjzDgH4mpis9R3o4&hl=en&sa=X&ei=GsgKU8jHGoqtqgGcioGgAQ&ved=0CDYQ6AEwAg