Short Summary
The video discusses how to observe the stack growing and shrinking using a debugger, particularly focusing on stack frames as additional functions are called in a sample C program. It aims to help viewers understand stack mechanics through practical debugging examples.
Key Points
- The video is tailored for those new to stack mechanics or needing a refresher.
- A sample C program is analyzed using the IDA debugger to demonstrate stack behavior.
- The stack frame creation process is illustrated step-by-step as functions are called.
- Different calling conventions are briefly explained, emphasizing their impact on stack management.
- The role of the debugger in visualizing stack operations, including function calls and returns, is highlighted.
- Emphasis on the importance of properly unwinding stacks to prevent errors in program execution.
- Viewers are directed to additional resources and videos available on GitHub for further learning on calling conventions and stack management.
Youtube Channel: Dr Josh Stroschein – The Cyber Yeti
Video Published: 2024-09-17T19:00:02+00:00
Video Description:
To really see the stack come alive, it’s best viewed in a debugger during program execution. In this video, we’ll do just that. Using a simple program and IDA’s built-in debugger, we’ll trace several function calls to view how the stack is used. We’ll also pay special attention to calling conventions and stack frames to see what happens to those frames as other functions are called and when functions , “unwind”.
Join this channel to get access to perks:
https://www.youtube.com/channel/UCI8zwug_Lv4_-KPT62oeDUA/join
Cybersecurity, reverse engineering, malware analysis and ethical hacking content!
🎓 Courses on Pluralsight 👉🏻 https://www.pluralsight.com/authors/josh-stroschein
🌶️ YouTube 👉🏻 Like, Comment & Subscribe!
🙏🏻 Support my work 👉🏻 https://patreon.com/JoshStroschein
🌎 Follow me 👉🏻 https://twitter.com/jstrosch, https://www.linkedin.com/in/joshstroschein/
⚙️ Tinker with me on Github 👉🏻 https://github.com/jstrosch
🤝 Join the Discord community and more 👉🏻 https://www.thecyberyeti.com
2:56 Starting a debug session
3:37 Pushing Arguments onto the Stack
5:53 Calling another function
7:30 The epilogue