C Programming, Disassembly, Debugging, Linux, GDB

A brief introduction to GDB and Assembly Language on Intel processors using the venerable C language and GCC compiler toolchain. This is probably more fun than it is informative (and not even all that fun), but maybe it will give somebody ideas… Documentation: man wprintf man gdb man objdump man hexdump Use pinfo -m instead of man for a nice, colorful interface that can be navigated by clicking or using the arrow keys. The IDE used in this video is actually the SciTE text editor. www.youtube.com Making simple programs and analysing them with a debugger such as GDB is a great way to learn a little bit about assembly language and machine code. Why delve into machine code during an introductory video? Do we realy need to know that the stack grows downward in memory or that the arguments to a function are pushed onto the stack in reverse order, so they can pop back off in the right order? What’s with the wide characters? Why complicate things by adding a function? First of all, functions and assembly are not that hard to grasp. It’s just a push and call. We push an address to something onto the stack and call a function. What’s so difficult about that? I’m sick of people trying to insulate us from the details. Besides, knowing a little bit about what goes on under the hood makes better hackers and better programmers. That’s what we do while learning. We build things and we take them apart to see how they work. I know there is no compelling reason to use wide characters (C90

This entry was posted in Programming and tagged , , , . Bookmark the permalink.

14 Responses to C Programming, Disassembly, Debugging, Linux, GDB

  1. maw88ify says:

    Have use ever used “Quickly” that helps build new apps quickly ? It was used to make programs in the Ubuntu App Showdown . So why is almost no-one making video’s on youtube about how to use “Quickly” if it is so much easier to use ? I want to learn to make simple apps and games . What about YAD or zenity almost no-one is making video’s about it. The reason there are so many Flash games , and AIR apps on the web is because AS3 is easy to program in. I have even seen FTP client built in Flash.

  2. Henry Kroll says:

    I am using Fedora. I started with a free version of Red Hat because it was the first distro I was able to successfully install back in the early days. It later became the Fedora project.

  3. Henry Kroll says:

    It’s actually not much different. Linux just encourages more learning and exploration of the internals with them being all open and free…

  4. maw88ify says:

    Why is everything so much harder in Linux , and UNIX? It is way easier to program in Windows, and Mac even if you not the best programmer .

  5. SevenxInside says:

    Thanks for your video. I want to know the distro version of linux which you are using.

  6. sarafparang says:

    Weird question: But how do you record video? I mean which software do you use to record your screen ?

  7. sodafountan says:

    It was a joke..

  8. GodlyLion says:

    Let me fix that fer yeh ; ) step 1: watch this video step 2: program the next stuxnet step 3: Fail at attacking Iran with the virus (as usual) and become another Fail American Terrorist step 4: deficit!!!! HA I’m a typical blind American who watches FOX news all the time and take very word in like it’s the truth!!!!

  9. inanme says:

    not too bad…

  10. andyknock123 says:

    very interesting.

  11. bondservant4Him says:

    Why are you adding 4 to the addresses, I thought that chars were 1 byte not 4

  12. sodafountan says:

    step 1: watch this video step 2: program the next stuxnet step 3: defeat Iran and become an American hero step 4: profit!!!! HA I figured it out! See you on the other side suckers

  13. Uberware says:

    I enjoyed it, thank you. :)

  14. Uberware says:

    Lol 2012goingnutz…you think everybody in life is motivated only by having sex with wimen? There are much more fulfilling things in life. Like programming. :)

Leave a Reply