esp int f(int x) {.... } int g(int y) { …. f(2); …. } int main() { …. g(1); …. } eip 100:...
TRANSCRIPT
![Page 1: ESP int f(int x) {.... } int g(int y) { …. f(2); …. } int main() { …. g(1); …. } EIP 100: 200: 250: 300: 350:](https://reader035.vdocuments.mx/reader035/viewer/2022071710/56649dda5503460f94acff3a/html5/thumbnails/1.jpg)
ESPint f(int x){....}
int g(int y){ …. f(2); ….}
int main(){ …. g(1); ….}
EIP
100:
200:
250:
300:
350:
![Page 2: ESP int f(int x) {.... } int g(int y) { …. f(2); …. } int main() { …. g(1); …. } EIP 100: 200: 250: 300: 350:](https://reader035.vdocuments.mx/reader035/viewer/2022071710/56649dda5503460f94acff3a/html5/thumbnails/2.jpg)
1ESP
EIP
100:
200:
250:
300:
350:
int f(int x){....}
int g(int y){ …. f(2); ….}
int main(){ …. g(1); ….}
![Page 3: ESP int f(int x) {.... } int g(int y) { …. f(2); …. } int main() { …. g(1); …. } EIP 100: 200: 250: 300: 350:](https://reader035.vdocuments.mx/reader035/viewer/2022071710/56649dda5503460f94acff3a/html5/thumbnails/3.jpg)
1return address to mainESP
EIP
100:
200:
250:
300:
350:
int f(int x){....}
int g(int y){ …. f(2); ….}
int main(){ …. g(1); ….}
![Page 4: ESP int f(int x) {.... } int g(int y) { …. f(2); …. } int main() { …. g(1); …. } EIP 100: 200: 250: 300: 350:](https://reader035.vdocuments.mx/reader035/viewer/2022071710/56649dda5503460f94acff3a/html5/thumbnails/4.jpg)
1return address to mainESP
EIP
100:
200:
250:
300:
350:
int f(int x){....}
int g(int y){ …. f(2); ….}
int main(){ …. g(1); ….}
![Page 5: ESP int f(int x) {.... } int g(int y) { …. f(2); …. } int main() { …. g(1); …. } EIP 100: 200: 250: 300: 350:](https://reader035.vdocuments.mx/reader035/viewer/2022071710/56649dda5503460f94acff3a/html5/thumbnails/5.jpg)
1return address to main
Old EBPESP
EIP
100:
200:
250:
300:
350:
int f(int x){....}
int g(int y){ …. f(2); ….}
int main(){ …. g(1); ….}
![Page 6: ESP int f(int x) {.... } int g(int y) { …. f(2); …. } int main() { …. g(1); …. } EIP 100: 200: 250: 300: 350:](https://reader035.vdocuments.mx/reader035/viewer/2022071710/56649dda5503460f94acff3a/html5/thumbnails/6.jpg)
1return address to main
Old EBPESP
EIP
100:
200:
250:
300:
350:
EBP
int f(int x){....}
int g(int y){ …. f(2); ….}
int main(){ …. g(1); ….}
![Page 7: ESP int f(int x) {.... } int g(int y) { …. f(2); …. } int main() { …. g(1); …. } EIP 100: 200: 250: 300: 350:](https://reader035.vdocuments.mx/reader035/viewer/2022071710/56649dda5503460f94acff3a/html5/thumbnails/7.jpg)
1return address to main
Old EBP
ESI
EDI
EBX
Local VariablesESP
EIP
100:
200:
250:
300:
350:
EBP
int f(int x){....}
int g(int y){ …. f(2); ….}
int main(){ …. g(1); ….}
![Page 8: ESP int f(int x) {.... } int g(int y) { …. f(2); …. } int main() { …. g(1); …. } EIP 100: 200: 250: 300: 350:](https://reader035.vdocuments.mx/reader035/viewer/2022071710/56649dda5503460f94acff3a/html5/thumbnails/8.jpg)
1return address to main
Old EBP
ESI
EDI
EBX
Local VariablesESP EIP
100:
200:
250:
300:
350:
EBP
int f(int x){....}
int g(int y){ …. f(2); ….}
int main(){ …. g(1); ….}
![Page 9: ESP int f(int x) {.... } int g(int y) { …. f(2); …. } int main() { …. g(1); …. } EIP 100: 200: 250: 300: 350:](https://reader035.vdocuments.mx/reader035/viewer/2022071710/56649dda5503460f94acff3a/html5/thumbnails/9.jpg)
1return address to main
Old EBP
ESI
EDI
EBX
Local Variables
2ESPEIP
100:
200:
250:
300:
350:
EBP
int f(int x){....}
int g(int y){ …. f(2); ….}
int main(){ …. g(1); ….}
![Page 10: ESP int f(int x) {.... } int g(int y) { …. f(2); …. } int main() { …. g(1); …. } EIP 100: 200: 250: 300: 350:](https://reader035.vdocuments.mx/reader035/viewer/2022071710/56649dda5503460f94acff3a/html5/thumbnails/10.jpg)
1return address to main
Old EBP
ESI
EDI
EBX
Local Variables
2return address to gESP
EIP
100:
200:
250:
300:
350:
EBP
int f(int x){....}
int g(int y){ …. f(2); ….}
int main(){ …. g(1); ….}
![Page 11: ESP int f(int x) {.... } int g(int y) { …. f(2); …. } int main() { …. g(1); …. } EIP 100: 200: 250: 300: 350:](https://reader035.vdocuments.mx/reader035/viewer/2022071710/56649dda5503460f94acff3a/html5/thumbnails/11.jpg)
1return address to main
Old EBP
ESI
EDI
EBX
Local Variables
2return address to gESP
100:
200:
250:
300:
350:
EBP
EIP int f(int x){....}
int g(int y){ …. f(2); ….}
int main(){ …. g(1); ….}
![Page 12: ESP int f(int x) {.... } int g(int y) { …. f(2); …. } int main() { …. g(1); …. } EIP 100: 200: 250: 300: 350:](https://reader035.vdocuments.mx/reader035/viewer/2022071710/56649dda5503460f94acff3a/html5/thumbnails/12.jpg)
1return address to main
Old EBP
ESI
EDI
EBX
Local Variables
2return address to g
Old EBPESP
EIP 100:
200:
250:
300:
350:
EBP
int f(int x){....}
int g(int y){ …. f(2); ….}
int main(){ …. g(1); ….}
![Page 13: ESP int f(int x) {.... } int g(int y) { …. f(2); …. } int main() { …. g(1); …. } EIP 100: 200: 250: 300: 350:](https://reader035.vdocuments.mx/reader035/viewer/2022071710/56649dda5503460f94acff3a/html5/thumbnails/13.jpg)
1return address to main
Old EBP
ESI
EDI
EBX
Local Variables
2return address to g
Old EBPESP
EIP 100:
200:
250:
300:
350:
EBP
int f(int x){....}
int g(int y){ …. f(2); ….}
int main(){ …. g(1); ….}
![Page 14: ESP int f(int x) {.... } int g(int y) { …. f(2); …. } int main() { …. g(1); …. } EIP 100: 200: 250: 300: 350:](https://reader035.vdocuments.mx/reader035/viewer/2022071710/56649dda5503460f94acff3a/html5/thumbnails/14.jpg)
1return address to main
Old EBP
ESI
EDI
EBX
Local Variables
2return address to g
Old EBP
ESI
EDIEBX
Local VariablesESP
100:
200:
250:
300:
350:
EIP int f(int x){....}
int g(int y){ …. f(2); ….}
int main(){ …. g(1); ….}
EBP
![Page 15: ESP int f(int x) {.... } int g(int y) { …. f(2); …. } int main() { …. g(1); …. } EIP 100: 200: 250: 300: 350:](https://reader035.vdocuments.mx/reader035/viewer/2022071710/56649dda5503460f94acff3a/html5/thumbnails/15.jpg)
1return address to main
Old EBP
ESI
EDI
EBX
Local Variables
2return address to g
Old EBP
ESI
EDIEBX
Local VariablesESP
100:
200:
250:
300:
350:
EIP
Function Frames
int f(int x){....}
int g(int y){ …. f(2); ….}
int main(){ …. g(1); ….}
EBP