Zuerst einmal muss die Postion im Speicher bekannt sein.
Dann muss das Passwort auch noch im Speicher sein ^^
also zum Beispiel hier:
#include blablabl
int check_pass(){
char pass[32]="Passwort", answer[32];
scanf("%s\n", answer);
return (strcmp(pass, answer));
}
int main(){
int auth;
if((auth = check_pass()) == 0)
printf("Access granted\n");
else
exit(0);
}
Stark vereinfacht, aber reicht zur Veranschaulichung (hoffentlich

)
hier würde beim Aufruf von check_pass() ein Stack-Frame auf den Stack gepusht werden,
d.h Speicher für Return Addresse, Safed Framepointer, Argumente und auch für die lokalen Variablen.
Wenn die Funktion durchgelaufen ist, wird der Frame wieder vom Stack gepopt(also quasi zerstört)
danach wär das Passwort nichtmehr im Speicher .
Aber wie das bei Masterschlüsseln aussieht weis ich nicht ^^.