__int64 __fastcall main(int a1, char **a2, char **a3)
{
puts("OK. I will return flag.");
sub_40152B(&unk_404080, a2);
puts("I have returned the flag :)");
return 0LL;
}
얘도 마찬가지로 함수를 호출하고 그 리턴값으로 플래그를 넘긴다.
하지만 ida로는 확인이 불가하다.
보통 함수의 리턴값은 레지스터(rax)에 저장되어 전달된다.
리턴 직후에 bp를 걸고 확인하면 rax에 플래그가 전달된 것을 볼 수 있다.
