https://crackmes.one/crackme/63ab23d733c5d43ab4ecf151
의 크랙미 파일입니다.
우선 파일을 실행시켜 어떤 프로그램인지 확인합니다.
실행을 시키니 "Enter the key : " 라는 메시지가 나오고 0이란 숫자를 입력했습니다.
0을 입력하니 "Nkrru&Ngiqkxy" 란 문자가 등장했습니다.
프로그램 실행 결과를 확인했으니, x64dbg에 연결하고 "Nkrru&Ngiqkxy" 문자열을 검색해봅니다.
문자열을 검색해 보았지만 아무것도 나오지 않았습니다.
그렇다면 "Enter the key:" 을 검색 해봅시다.
더블클릭하여 해당 주소로 이동합니다.
그리고 해당 주소의 근처(위 부분)에서 "Nkrru&Ngiqkxy" 문자를 찾을수 있습니다.
하나씩 끊어져서 특정 주소(rbp-14 ~ rbp-20)에 저장되는것을 확인 할수 있습니다.
movzx eax, byte ptr ss:[rbp+rax-20] -> "Nkrru&Ngiqkxy"
mov edx, eax
mov eax, dword ptr ss:[rbp+10] -> 입력한 key
sub edx, eax -> "Nkrru&Ngiqkxy" 에서 입력한 key 만큼 빼기 (하나씩)
결론 "Nkrru&Ngiqkxy" 이란 문자열에서 입력한 key 만큼 데이터를 빼서 문자열을 출력하는 프로그램임을 알수 있습니다.
개발자가 의도한 데이터 크기를 key에 입력하면 특정 문자열이 나타나는 프로그램임을 알수 있습니다.
6을 입력하면
문자 | 데이터 | key | 변경된 값 | 바뀐 문자열 |
N | 78 | -6 | 72 | H |
k | 107 | -6 | 101 | e |
r | 114 | -6 | 108 | l |
r | 114 | -6 | 108 | l |
u | 117 | -6 | 111 | o |
& | 38 | -6 | 32 | |
N | 78 | -6 | 72 | H |
g | 103 | -6 | 97 | a |
i | 105 | -6 | 99 | c |
q | 113 | -6 | 107 | k |
k | 107 | -6 | 101 | e |
x | 120 | -6 | 114 | r |
y | 121 | -6 | 115 | s |
6을 입력하면 개발자가 원하는 메시지인 "Hello Hackers" 라는 메시지를 출력하게 되는 프로그램입니다.
'reversing > Crack ME 풀기' 카테고리의 다른 글
hackme reach lvl 9000 (0) | 2023.03.14 |
---|---|
Easy CrackMe (0) | 2023.03.13 |
Easy KeygenMe (1) | 2023.03.08 |
댓글