디컴파일링 중에 질문있습니다.
조회수 725회
int __cdecl main(int argc, const char **argv, const char **envp)
{
__int64 v3; // r8
_QWORD v5[31]; // [rsp-60h] [rbp-218h] BYREF
int v6; // [rsp+98h] [rbp-120h]
__int16 v7; // [rsp+9Ch] [rbp-11Ch]
char v8; // [rsp+9Eh] [rbp-11Ah]
char v9[280]; // [rsp+A0h] [rbp-118h] BYREF
_fentry__(argc, argv, envp);
monstartup();
_main();
v5[0] = 0x746F6E6D6169i64;
memset(&v5[1], 0, 0xF0ui64);
v6 = 0;
v7 = 0;
v8 = 0;
printf("Input password : ");
scanf("%s", v9);
strcat((char *)v5, pw2);
if ( checkpw((__int64)v5, (__int64)v9, v3) )
{
puts("Success");
printf("%s \n", (const char *)v5);
}
else
{
puts("Failed");
printf("%s \n", v9);
}
system("pause");
return 0;
}
위의 v5에 최종적으로 무슨 값이 저장되어 있는건지 궁금합니다. 참고로 pw2에는 your
라는 문자열이 저장되어있습니다. 제가 생각했을때에는 16진수였던 변수 값이 문자열로 변환되면서 tonmaiyour
가 될꺼같은데 아니더라구요?
-
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
댓글 입력