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

14 thoughts on “C Programming, Disassembly, Debugging, Linux, GDB

  1. 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. 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. 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!!!!

  4. 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

  5. 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