key를 입력하는 공간에 아무 글자나 치면 'Access denied! See you in hell' 이라고 뜬다.
jadx-gui를 킨 후 다음과 같은 문장이 뜨는 곳의 위치를 찾아준다.
HardcodeActivity라는 클래스에 위와 같은 문장이 존재하였으며,
key 값이 'vendorsecretkey'라는 문자열이 하드코딩 되어있는걸 확인하였다.
vendorsecretkey를 입력 칸에 입력하니 접근에 성공하였다.
.
.
.
.
.
.
.
.
데이터를 코드 내부에 직접 입력하는 것. 데이터가 실행 바이너리에 합쳐져 있는 상태를 말한다.
프로그램의 소스 코드에 데이터를 직접 입력해서 저장한 경우, 즉 모든 '상수'는 하드코딩이다.
주로 파일 경로, URL 또는 IP 주소, 비밀번호, 화면에 출력될 문자열 등이 대상이 된다.코드의 목적이 매우 직관적이라 가독성이 올라가고, 컴퓨터의 입장에서는 타입 체크나 유효성 검사 등이 빠지기 때문에 별도의 로딩 절차가 없어서 속도가 빨라진다.
다만, 프로그램의 유지보수가 힘들어지고(ex. 다국어 지원) 보안에 취약해질 수 있다.(ex. 특정 DB에 접속해 자료를 조회하는 프로그램에 비밀번호가 하드코딩 된 경우 리버싱으로 비밀번호 그대로 유출 가능)