C/C++ Stack Frames and gdb

  Рет қаралды 10,622

John's Basement

John's Basement

Күн бұрын

Пікірлер: 11
@MrAlFuture
@MrAlFuture 4 жыл бұрын
Thanks, John! This series is awesome. You'd struck a really good balance between theory and practice I reckon.
@niceguyniceguy4450
@niceguyniceguy4450 2 жыл бұрын
666k subscribers at the moment, and the content is 👿 devilishly amazing.
@ashishkumar-k4n4r
@ashishkumar-k4n4r Жыл бұрын
Best explanation
@JohnsBasement
@JohnsBasement Жыл бұрын
Thanks! I'm glad I could help!
@lehieu2335
@lehieu2335 2 жыл бұрын
Thanks John. I learn a lot from your series.
@JohnsBasement
@JohnsBasement 2 жыл бұрын
I'm glad to hear. Thank you for letting me know.
@niceguyniceguy4450
@niceguyniceguy4450 2 жыл бұрын
Just amazing videos maaan, thank you, very much.👍👏
@Neo-kx3fe
@Neo-kx3fe 3 жыл бұрын
Thank you for your video and it's very helpful. However, when you disassem a function in gdb, why the addr on the left side is ascending when the code is executing? I saw you place main() under foo() in the memory layout and thought the instructions should also be place reversely.
@JohnsBasement
@JohnsBasement 3 жыл бұрын
I'm not sure I understand this question. What time index in the video are you referring to when you talk about ascending addresses? --- ALL code execution other than branches will be comprised of instructions at ascending addresses.
@Neo-kx3fe
@Neo-kx3fe 3 жыл бұрын
@@JohnsBasement First of all, thank you for your reply. Take @21:46 for an example, the addr of the instructions in main() are listed as 0x--52d9, 0x--52dd..., which are in the increasing order. Given the virtual memory layout you draw @8:41, can I say that the functions, as well as the corresponding instructions, are all reversely placed in the text segment? (Well, i just realize that 'reverse' is relative since the layout itself is visualized from high addr to low addr. Just a little bit confused here haha)
@JohnsBasement
@JohnsBasement 3 жыл бұрын
@@Neo-kx3fe OH... ugh... I drew foo() and main() in the wrong order when I drew the virtual memory map @8:41. I was going for 'these things go here' at that point. I should have shown foo() physically below main() in that drawing in order to match the order that they are placed in the load module... as the drawing I made of virtual memory has address zero at the bottom. I'm for the confusion there. HOWEVER, I would never count on the order of functions in my source code matching that in the compiled object/load module. Your compiler might surprise you!
How They Hack: Buffer Overflow & GDB Analysis - James Lyne
16:06
WHY IS THE STACK SO FAST?
13:46
Core Dumped
Рет қаралды 164 М.
Elza love to eat chiken🍗⚡ #dog #pets
00:17
ElzaDog
Рет қаралды 11 МЛН
CAN YOU DO THIS ?
00:23
STORROR
Рет қаралды 41 МЛН
Когда отец одевает ребёнка @JaySharon
00:16
История одного вокалиста
Рет қаралды 16 МЛН
2 MAGIC SECRETS @denismagicshow @roman_magic
00:32
MasomkaMagic
Рет қаралды 11 МЛН
GDB Tutorial
55:12
CS 246
Рет қаралды 70 М.
you will never ask about pointers again after watching this video
8:03
how Google writes gorgeous C++
7:40
Low Level
Рет қаралды 921 М.
The Call Stack and Stack Overflows (example in C)
12:56
Jacob Sorber
Рет қаралды 46 М.
W1_5d : A demonstration a C Program's Stack using GDB
19:57
NPTEL-NOC IITM
Рет қаралды 15 М.
Comparing C to machine language
10:02
Ben Eater
Рет қаралды 5 МЛН
Master Pointers in C:  10X Your C Coding!
14:12
Dave's Garage
Рет қаралды 319 М.
C++ std::thread Introduction
1:30:59
John's Basement
Рет қаралды 7 М.
Introduction to reverse engineering - Stack frames, prologues and epilogues
26:41
Elza love to eat chiken🍗⚡ #dog #pets
00:17
ElzaDog
Рет қаралды 11 МЛН