반응형

안드로이드 앱 개발 시 반드시 필요한게 keystore.jks 파일이다.

이 파일을 만드는 과정에서 비밀번호를 입력하는데 이를 잘 간수하지 않으면 나중에 생각이 안나서 난감해진다.

이렇게 비밀번호를 잊어버린 경우 찾는 방법이 있다.

구글에서도 공식 문서를 만들어 배포하기 때문에 위험하거나 어려운 방식은 아니다.

비밀번호에 사용했을 것 같은 단어 리스트를 만들고 이를 프로그램을 통해 조합하여 대입하는 방식으로 비밀번호를 찾는 것이다.

물론 사람이 계속 대입해서 찾을 수도 있지만 시간과 노력이 많이 들어가는 만큼 이 방법을 사용하면 좋을 것이다.

또한 이 방법은 연상되는 단어가 없을 경우 무용지물이니 악용하기는 힘들 것 같다.

 

테스트 keystore.jks 파일 생성

일단 테스트를 위해 "C:\KeystoreFile" 경로에 keystore.jks 파일을 만들겠다.

비밀번호는 "qwe!123~ASD"로 설정한다.

Android Studio를 통해 keystore.jks 파일을 생성한다. 비밀번호는 "qwe!123~ASD".
keystore.jks 파일이 생성되었다.

 

비밀번호를 잊어버렸다 가정하고 아무 비밀번호를 입력하면 에러가 발생한다.

"asdf"를 입하면 에러발생

 

잃어버린 비밀번호를 찾아보자

아래 과정은 다음 문서를 보고 따라한 것이다.

https://code.google.com/archive/p/android-keystore-password-recover/wikis/HowTo.wiki

 

Google Code Archive - Long-term storage for Google Code Project Hosting.

 

code.google.com

1. Java 7 설치

이 포스트를 보고 있다면 Java는 설치됐을 것이기 때문에 패스해도 되지만 혹시 모르니 Java 버전을 확인해보자.

Win + R 단축키로 실행창을 열고 "cmd" 입력

cmd 창에 다음을 입력

java -version

나는 Javs 1.8.0_302 버전이 설치되어 있다.

일단 java가 설치되어 있으니 넘어가자.

 

2. 다음 경로에서 프로그램 다운로드

https://drive.google.com/file/d/0B_Rw7kNjv3BATldrLXMwcVRud2c/edit?usp=sharing

 

AndroidKeystoreBrute_v1.05.jar

 

drive.google.com

AndroidKeystoreBrute_v1.05.jar 파일을 다운로드 폴더에 다운로드한다.

Download 폴더에 다운된 AndroidKeystoreBrute_v1.05.jar 파일

이 파일은 아래 생성할 wordlist.txt에 입력된 단어를 조합하여 사람을 대신해 비밀번호를 입력하고 비밀번호를 알아내는 프로그램이다.

 

3. wordlist.txt 파일 생성하기

편의를 위해 AndroidKeystoreBrute_v1.05.jar 파일과 같은 경로인 Download 폴더에 wordlist.txt 파일을 생성한다.

Download 폴더에서 우클릭 후 text 파일 생성
wordlist.txt로 이름 변경

wordlist.txt 파일을 열고 연상되는 비밀번호의 단어 조각을 입력한다.

테스트 keystore 파일의 비밀번호를 "qwe!123~ASD"로 설정했으니 다음과 같이 단어의 조각들을 입력하고 저장한다.

123
qwe
ASD
!
~

 

4. AndroidKeystoreBrute_v1.05.jar 파일을 실행하여 wordlist.txt에 입력된 문자를 기반으로 비밀번호 찾기 실행

아까처럼 Win + R 단축키로 cmd를 열고 다음을 입력한다.

(AndroidKeystoreBrute_v1.05.jar, keystore.jks, wordlist.txt 파일의 경로는 본인의 경로를 입력)

java -jar C:\Users\A\Downloads\AndroidKeystoreBrute_v1.05.jar -m 3 -k "C:\KeystoreFile\keystore.jks" -d "C:\Users\A\Downloads\wordlist.txt"

AndroidKeystoreBrute_v1.05.jar 프로그램이 wordlist.txt 파일에 입력한 단어를 조합하여 비밀번호를 찾아준다.

단어를 조합하여 8초만에 "qwe!123~ASD" 비밀번호를 찾았다.

 

5. 자 이제 비밀번호를 잊어버리지 않게 잘 간직하자!!!

 

 

반응형

'Dev Story' 카테고리의 다른 글

[macOS] Ventura에서 Monterey로 다운그레이드 하기  (0) 2023.03.04
[Graphics] Variance shadow maps  (0) 2023.01.31
[C++] pragma pack(1)  (1) 2022.06.09
반응형

준비물

  • 디바이스 드라이버
  • Android SDK
  • JDK
  • NDK

 

준비물 설치

디바이스 드라이버

삼성 갤럭시 시리즈의 경우 "Android File Transfer" 설치

https://www.android.com/filetransfer/

 

Android File Transfer

Android File Transfer Browse and transfer files between your Mac computer and your Android device. Download now For Mac OS X only. No extra software is needed for Windows. Supports macOS 10.7 and higher.

www.android.com

 

Android SDK

https://developer.android.com/studio

 

Download Android Studio and SDK tools  |  Android 스튜디오

developer.android.com

 

JDK

Unity의 Preferences > External Tools > Use embedded JDK 를 체크한다면 설치할 필요 없다.

만약 버전이 맞지 않거나 이미 설치된 JDK를 사용한다면 체크 해제한다.

 

 

NDK

NDK는 IL2CPP 사용 시 필요한 라이브러리이다.

Preferences 창에서 다운로드할 수 있다. 

Windows에서는 exe 파일로 다운되고 Mac에서는 Zip 파일로 다운된다. 이를 설치하거나 압축해제하고 이 경로를 넣어주면 된다.

 

 

Unity에서 SDK 설정

Unity 설정은 Preferences 창에서 한다.(Unity > Preferences)

여기서는 Android SDK 설정만 설명한다.

 

Android SDK 설정

Android Studio를 실행하면 다음과 같은 화면이 나오는데 하단 Configure를 클릭하여 SDK Manager창을 연다

SDK Manager 창의 Android SDK Location의 경로를 Unity Preferences 창의 Android SDK란에 넣는다.

SDK Manager창의 Android SDK Location 경로를 복사
Unity Preferences창의 Android SDK 경로에 붙여넣는다.

 

 

빌드

Build Settings창을 열고(File > Build Settings) 플랫폼을 Android로 바꿔준다.

Android를 선택하고 Switch Platform을 클릭하여 플랫폼 변경

플랫폼 변경이 완료되면 유니티 아이콘이 Android 항목 옆에 표시된다.

플랫폼이 Android로 변경된 모습

여기서 Build를 누르면 apk 파일을 저장할 경로를 지정하고 빌드가 된다.

Build And Run은 Build와 동일하지만 빌드 완료 후 연결된 디바이스에 apk 파일을 옮기고 실행까지 자동으로 진행한다.

 

빌드 시 SDK 경로 에러나는 경우

SDK 경로를 제대로 지정했는데도 다음과 같은 에러가 난다면 Android SDK Manager에서 tools를 받아야한다. 

SDK 경로를 잘 못지정한게 아니라 "Android SDK Tools"가 없어서 나는 에러다.

 

Android SDK Manager의 SDK Tools 탭에서 "HIde Obsolete Packages"를 체크 해제하면 "Android SDK Tools(Obsolete)" 항목이 나오는데 이를 선택하고 Apply를 누르면 설치된다.

"Android SDK Tools"를 Android에서는 더 이상 지원하지 않고 Unity에서는 아직 사용하기 때문에 나타나는 에러이다.

 

빌드 후 디바이스에 앱이 갱신되지 않는 경우

디바이스에 이미 윈도우에서 빌드한 앱이 들어있다면 갱신되지 않으니 삭제후 "Build And Run"하면 잘 된다.

 

 

반응형
반응형

1. Android Studio 설치

https://developer.android.com/studio

 

2. CMD or PowerShell 창 열어서 여기로 이동

"C:\Users\[사용자이름]\AppData\Local\Android\Sdk\platform-tools"

 

3. 다음 명령어로 현재 컴퓨터에 연결된 안드로이드 기기의 디버깅 로그 출력

  • adb logcat : '안드로이드 폰'에서 발생하는 모든 이벤트 표시
  • adb logcat -s Unity : (안드로이드 폰에 설치된) '유니티로 개발된 앱'에서 발생하는 유니티 이벤트 표시
  • adb logcat Unity:I Native:I *:S : 위와 동일하나 유니티 로그캣만 표시
  • cmd창 대신 PowerShell을 띄운 경우 .\adb.exe라고 입력해야한다.

 

 

반응형

+ Recent posts