So, essentially the requirements for a buffer overflow is that the attacker finds in the application code a command such as this a strcpy where buffer is a small array and it is defined locally in the stack, while the large string is a much larger array . So, as we know the way this particular function strcpy works is that the large string gets copied to buffer and this copying will continue byte by byte until there is a /0 which is found in large string; in which case the strcpy will complete executing and will return.
അതിനാൽ, ഒരു ബഫർ ഓവർഫ്ലോയുടെ ആവശ്യകതകൾ, ആക്രമണകാരി ആപ്ലിക്കേഷൻ കോഡിൽ ഒരു strcpy പോലുള്ള ഒരു കമാൻഡ് കണ്ടെത്തുന്നു, അവിടെ ബഫർ ഒരു ചെറിയ അറേയാണ്, അത് സ്റ്റാക്കിൽ നിർവചിക്കപ്പെടുന്നു, അതേസമയം വലിയ സ്ട്രിംഗ് വളരെ വലിയ ശ്രേണി ആണ്. . അതിനാൽ, ഈ പ്രത്യേക ഫംഗ്ഷൻ strcpy പ്രവർത്തിക്കുന്ന രീതി നമുക്കറിയാവുന്നതുപോലെ, വലിയ സ്ട്രിംഗ് ബഫറിലേക്ക് പകർത്തുന്നു, കൂടാതെ വലിയ സ്ട്രിംഗിൽ കാണപ്പെടുന്ന a /0 ഉണ്ടാകുന്നതുവരെ ബൈറ്റ് വഴി ഈ പകർപ്പ് തുടരും; ഈ സാഹചര്യത്തിൽ strcpy നിർവ്വഹിക്കുന്നത് പൂർത്തിയാക്കുകയും മടങ്ങുകയും ചെയ്യും.