adplus-dvertising
frame-decoration

Question

How does automatic, compiler-generated stack checking work?

a.

It pushes an extra cookie or canary to the stack between the last local variable and the function’s return address.

b.

It executes malicious code to detect buffer overflow bugs.

c.

It generates random numbers for the stack.

d.

It prevents the execution of any kind of code.

Posted under Reverse Engineering

Answer: (a).It pushes an extra cookie or canary to the stack between the last local variable and the function’s return address. Explanation:Automatic, compiler-generated stack checking works by pushing an extra cookie or canary to the stack between the last local variable and the function’s return address.

Engage with the Community - Add Your Comment

Confused About the Answer? Ask for Details Here.

Know the Explanation? Add it Here.

Q. How does automatic, compiler-generated stack checking work?

Similar Questions

Discover Related MCQs

Q. What is the purpose of the cookie used in stack checking?

Q. Why does the cookie used in stack checking need to be a random number?

Q. How does the use of a pseudorandom number as a cookie prevent an attacker from fooling the cookie verification code?

Q. What is stack checking?

Q. How does stack checking work?

Q. Why must the cookie be a random number in stack checking?

Q. Can stack checking completely eliminate the problem of buffer overflow bugs?

Q. How can an attacker defeat stack checking?

Q. What is nonexecutable memory?

Q. Which processors provide support for nonexecutable memory?

Q. Which operating systems support nonexecutable memory?

Q. Does nonexecutable memory completely eliminate the problem of buffer overflow attacks?

Q. What is the most popular strategy for attackers to overcome the hurdles imposed by nonexecutable memory systems?

Q. Which option is used for returning values to the caller in functions?

Q. Which type of vulnerability is required for an attacker to exploit the buffer overflow bug?

Q. What is the purpose of stack-checking mechanisms embedded into programs?

Q. What is a heap overflow?

Q. How does a heap overflow attack work?

Q. How are heaps arranged?

Q. What causes the program to crash in a heap overflow attack?