728x90
반응형

 

AWS SSH 접속을 하려면 매번 긴 명령어를 입력해서 접속을 해야 합니다.

 

파일명을 매번 입력하고 뭔가 입력할 명령이 많습니다.

 

아래의 명령어를 입력하는 OS 기준은 Mac OS X 입니다.

ssh -i pem 키 위치 EC2 탄력적IP주소

 

 

 

~/.ssh/ 디렉토리로 pem 파일을 옮겨 놓으면 ssh 실행시 pem 키 파일을 자동으로 읽어 접속할 수 있습니다.

cp pem 다운로드 키 위치 ~/.ssh/

 

 

pem 키 파일 복사가 잘 되었는지 확인합니다.

cd ~/.ssh/
ls -al

 

 

복사 확인이 되었다면 pem 키의 권한을 변경합니다.

chmod 600 ~/.ssh/pem키파일

 

 

권한 변경이 완료되었다면 pem키파일 같은 위치에 config 파일을 생성 합니다.

vim ~/.ssh/config

 

 

vim 편집기로 아래와 같은 형식으로 작성한 뒤 :wq 명령어로 저장 후 종료 합니다.

Host 서비스명
    HostName EC2의 탄력적IP주소
    User ec2-user
    IdentityFile ~/.ssh/pem키파일명

 

 

config 파일을 실행 권한이 필요하기 때문에 권한을 설정해줍니다.

chmod 700 ~/.ssh/config

 

 

실행권한도 추가하였으니 ssh 접속을 해보겠습니다.

 

아래와 같이 정상적으로 EC2에 접속이 성공하였다면 끝입니다.

ssh config에 등록한 서비스명

 

 

이제 매번 긴 명령어로 접속하는게 아닌 설정한 정보로 간단하게 접속 할 수 있습니다.

 

728x90
반응형

'프로그래밍 > Server' 카테고리의 다른 글

[CentOS] Nginx 설정  (2) 2020.11.18
[CentOS] yum firewall 설치  (0) 2020.07.26
[AWS] AWS 고정IP EIP 할당  (0) 2020.05.22
[AWS] EC2 인스턴스 생성  (0) 2020.05.21
[AWS] AWS 가입하기  (0) 2020.05.20
728x90
반응형

 

가상으로 생성한 서버이지만 서버이기때문에 IP가 존재 합니다.

 

하지만 인스턴스를 시작할 때마다 새로운 IP가 할당되어 집니다.

 

이렇게 되면 새로 인스턴스를 시작할 때마다 접속 IP 주소를 확인해야 하는 번거로움이 생기는데요.

 

그래서 매번 변경되지 않고 고정되도록 고정 IP를 할당해보도록 하겠습니다.

 

 

 

 

왼쪽 메뉴의 네트워크 및 보안 > 탄력적 IP 선택합니다.

 

탄력적 IP 주소 할당 버튼을 클릭합니다.

 

 

기본 선택되어진 대로 Amazon의 IPv4 주소 풀로 할당합니다.

 

 

할당이 완료되면 목록에 생성된 탄력적 IP 주소가 보여집니다.

 

EC2 주소와 탄력적 IP를 연결하겠습니다.

 

Actions > 탄력적 IP 주소 연결 메뉴를 선택합니다.

 

 

인스턴스 검색 부분을 클릭하면 생성된 인스턴스가 보여집니다.

 

인스턴스를 선택하고 프라이빗 IP 주소도 선택하고 연결 버튼을 클릭합니다.

 

 

정상적으로 탄력적 IP 주소와 인스턴스가 연결되었습니다.

 

 

인스턴스 > 인스턴스 메뉴로 들어가 인스턴스에도 잘 연결되어 졌는지 확인합니다.

 

 

어렵지 않게 고정 IP를 사용할 수 있도록 할당해봤습니다.

 

이로써 서버를 재시작하여도 IP가 변경되지 않아 서비스를 만드는데 조금 수월해졌습니다.

 

728x90
반응형

'프로그래밍 > Server' 카테고리의 다른 글

[CentOS] yum firewall 설치  (0) 2020.07.26
[AWS] AWS SSH 접속 및 간편접속 설정  (0) 2020.05.23
[AWS] EC2 인스턴스 생성  (0) 2020.05.21
[AWS] AWS 가입하기  (0) 2020.05.20
[CentOS] yum open jdk 설치  (0) 2019.07.16
728x90
반응형

EC2는 AWS에서 제공하는 성능, 용량 등을 유동적으로 사용할 수 있는 서버 서비스 입니다.

 

Elastic Compute Cloud에서 C2개가 있어 C2라는 이름이 붙었다고 합니다.

 

무료로 제공하는 프리티어 플랜에서는 EC2사용에 제한이 있습니다.

 

제한을 주의하며 사용하면서 하시기 바랍니다.

 

- 월 750시간의 제한 즉 1대만 사용가능.

- vCPU 1Core, 1GB Memory

 

 

 

중앙 서비스 찾기에서 ec2를 검색하여 EC2 첫번째 목록을 클릭합니다.

 

 

 

첫 단계로는 AMI(Amazon Machine Image) 를 생성해야 합니다.

 

AMI는 EC2 인스턴스를 시작하는데 필요한 정보를 이미지로 만들어 둔것을 의미 합니다.

 

'인스턴스 시작' 버튼을 클릭합니다.

 

1. Amazon Machine Image(AMI) 선택

Linux 사용을 하기 위해 Amazon Linux AMI 2018.03.0 (HVM), SSD Volume Type 이미지를 선택하겠습니다.

 

해당 이미지는 아마존이 개발하고 독자적인 개발 리포지토리를 사용하고 있어 yum이 매우 빠르다고 합니다.

 

2. 인스턴스 유형 선택

기본 선택되어있는 t2.micro 그대로 '인스턴스 세부 정보 구성' 버튼을 클릭합니다.

 

 

3. 인스턴스 세부 정보 구성

기업에서 사용하는게 아니고 개인이 사용할 목적임으로 '스토리지 추가 단계'로 넘어가겠습니다.

 

 

4. 스토리지 추가

일반적으로 생각하는 저장공간을 선택합니다.

 

기본 크기가 8GB이지만 30GB 까지 프리티어로 가능하니 변경하고 다음단계로 이동합니다.

 

 

5. 태그 추가

Console 에 EC2 이름으로 표기될 태그를 추가합니다.

 

 

6. 보안 그룹 구성

보안 그룹은 방화벽을 의미 합니다.

 

규칙을 추가하여 원하는 포트만 허용하도록 추가 하면 됩니다.

 

주의할 점은 22 포트는 터미널 접속할 때 사용하는 포트기 때문에 전체 오픈으로 할 경우 GitHub사용시 pem키가 노출될 수 있습니다.

 

그렇기 때문에 내IP 만 허용할 수 있도록 처리를 하는것이 안전합니다.

 

노출이 된다면 서버에 무슨일이 일어날지 장담할 수 없습니다.

 

 

7. 인스턴스 시작 검토

설정한 정보를 다시 한번 확인합니다.

 

설정한 8080으로 접속하려고 추가하였기 때문에 전체 오픈되었다는 경고가 나옵니다.

 

문제는 없기에 시작하기 버튼을 클릭합니다.

 

 

인스턴스로 접근하기 위해서는 pem키가 필요하기 때문에 선택하는 화면이 보여집니다.

 

인스턴스에 접근하는 유일한 pem키이니 절대 유출되어서는 안됩니다.

 

새로운 키 페어 이름을 입력해서 .pem 파일을 다운로드 받겠습니다.

 

새로운 pem키가 다운로드 되면 인스턴스 시작 페이지로 이동하겠습니다.

 

 

인스턴스가 시작 되고있습니다.

 

 

인스턴스 보기를 하면 생성된것을 확인할 수 있습니다.

 

 

이렇게 재미를 위한 AWS EC2 인스턴스를 생성했습니다.

 

다음글에선 AWS 고정 IP 할당하는 방법을 알아보겠습니다.

 

728x90
반응형

'프로그래밍 > Server' 카테고리의 다른 글

[AWS] AWS SSH 접속 및 간편접속 설정  (0) 2020.05.23
[AWS] AWS 고정IP EIP 할당  (0) 2020.05.22
[AWS] AWS 가입하기  (0) 2020.05.20
[CentOS] yum open jdk 설치  (0) 2019.07.16
[Tomcat] JAVA_HOME 수동 설정  (0) 2019.06.18
728x90
반응형

 

집에서 24시간 서버를 돌려도 되지만 많은 통합 기능들과 많은 기업에서 사용하는 AWS 가입을 해보겠습니다.

 

이직을 할 때 AWS 사용 경험은 많은 도움이 됩니다.

 

 

 

아래 url을 통해 사이트에 접속 합니다.

aws.amazon.com/ko/

 

클라우드 서비스 | 클라우드 컴퓨팅 솔루션| Amazon Web Services

부동산 Zillow, AWS를 활용하여 부동산 혁신 Zillow는 AWS 클라우드를 활용하여 부동산 산업을 온라인으로 이전해 주택 정보를 찾는 과정을 혁신했습니다. Zillow는 AWS를 통해 구매자, 판매자 및 세입자

aws.amazon.com

 

 

 

화면은 '가입 완료' 라고 버튼이 나와있지만 '무료 계정 만들기' 가 보여질 겁니다.

 

'무료 계정 만들기' 버튼을 클릭합니다.

 

 

가입에 필요한 이메일 주소, 암호, 계정을 입력합니다.

 

 

추가 정보를 입력해 줍니다.

 

계정 유형은 개인으로 진행해주겠습니다.

 

 

최소 1달러가 결제 가능한 Master, Visa 카드 정보를 입력해 줍니다.

 

 

 

 

연락처가 등록이 안되어있다면 아래와 같이 나옵니다.

 

SMS 전송을 하고 1달러 결제가 완료되면 알람 문자가 옵니다.

 

 

문자로 받은 인증코드를 입력합니다.

 

 

정상적은 코드가 입력되었다면 성공적으로 ID 등록이 완료 됩니다.

 

 

마지막으로 지원 플랜을 선택합니다.

 

무료로 사용할 목적임으로 '무료' 기본 플랜 버튼을 클릭합니다.

 

 

AWS 로그인을 합니다.

 

 

아래와 같으 AWS Management Console 이 보여진다면 끝입니다.

 

 

 

이로써 AWS회원가입을 간단하게 완료했습니다.

 

다음 글에는 EC2 인스턴스를 생성해 보겠습니다.

 

728x90
반응형
728x90
반응형

 

Android Studio 를 실행해 줍니다.

 

이전 글에서 Flutter Plugin 을 설치 했으니 아래와 같이 Start a new Flutter project 메뉴가 보이게 됩니다.

 

Start a new Flutter project 메뉴를 클합니다.

 

 

 

 

 

현재 4가지의 Project 를 생성할 수 있습니다. Application, Plugin, Package, Module을 만들 수 있습니다.

 

기본 선택인 Fultter Application 항목을 그대로 두고 Next 버튼을 클릭합니다.

 

 

 

name에 Project 이름을 대문자 없이 입력해줍니다.

 

SDK path 는 이전에 다운받았다면 연결을 해주고, 오른쪽 Install SDK... 을 클릭해서 다운로드 할 수 있습니다.

 

location은 프로젝트가 저장될 경로를 지정해줍니다.

 

Description은 프로젝트의 설명을 입력해줍니다.

 

확인 후 Next 버튼을 클릭합니다.

 

 

Package name 은 겹치지 않는 회사 domain을 입력하면 됩니다.

 

Android X와 Kotlin, iOS 지원하도록 체크하고 Finish 버튼을 클릭합니다.

 

 

 

기본적인 dart 언어로 되어진 Project 가 생성이 되었습니다.

 

728x90
반응형
728x90
반응형

Android 환경에서 Flutter Plugin을 설치해보겠습니다.

 

Android Studio를 실행합니다.

 

Configure > Plugins 클릭합니다.

 

 

 

 

Plugins 팝업이 보여지게 됩니다.

 

flutter를 검색창에 입력하면 첫번째에 Flutter Plugin이 보여집니다.

 

 

현재 44.0 버전인 Flutter의 상세 정보입니다.

 

Install 버튼을 클릭해서 설치를 진행해주겠습니다.

 

설치 시간은 그리 길지 않습니다.

 

정상 설치가 되었다면 Install 버튼이 Restart IDE 변경되어 집니다.

 

Restart IDE 버튼을 클릭해서 Android Studio 를 재시작 합니다.

 

 

Android Studio 가 재시작 되었다면 아래와 같이 Start a new Flutter project 항목이 보여지게 됩니다.

 

728x90
반응형
728x90
반응형

Android와 iOS를 한번에 개발할 수 있는 플랫폼은 기존에도 있었습니다.

 

하지만 웹뷰 방식으로 제작되었다 보니 반응이 느리거나 디자인도 다르게 개발되기도 했습니다.

 

장점도 많고 단점도 있지만 네이티브와 비슷한 성능을 내는 Flutter 프로젝트를 진행해 보려고 합니다.

 

https://flutter-ko.dev/

 

Flutter - 가장 빠른 아름다운 네이티브 앱

Flutter(플러터)는 하나의 코드베이스로 모바일, 웹, 데스크톱에서 네이티브로 컴파일 되는 구글의 아름다운 UI 툴킷입니다. Flutter는 기존 코드와 함께 동작하고, 전세계 개발자와 조직에 쓰이고 있으며, 무료 오픈 소스입니다.

flutter-ko.dev

 

 

 

 

 

Flutter 설치 페이지로 이동합니다.

 

https://flutter-ko.dev/docs/get-started/install

 

설치

Flutter를 설치할 운영 체제를 선택해주세요:{{site.alert.note}} **Are you on Chrome OS?** If so, see the official [Chrome OS Flutter installation docs!](/docs/get-started/install/chromeos){{site.alert.end}}

flutter-ko.dev

 

 

 

 

링크를 클릭해서 들어가면 아래와 같은 OS별 설치 버튼이 보여집니다.

 

저는 OS X 를 사용하고 있으니 "맥OS" 를 클릭해서 설치 페이지로 이동하겠습니다.

 

 

 

 

설치 페이지로 진입했다면 Flutter SDK 다운 순서대로 진행합니다.

 

 

 

 

 

압축까지 풀어주었다면 환경변수에 등록을 해주어야 합니다.

 

저는 /Users/gigas/Documents/flutter 위치에 설치하였습니다.

 

flutter 경로로 진입해 아래의 명령어로 PATH를 등록하였습니다.

 

export PATH="$PATH:`pwd`/bin"

 

터미널에서 flutter doctor 명령어를 입력하면 아래와 같은 문구들이 보여집니다.

 

Flutter 라는 항목이 체크되어있다면 정상적으로 설치가 된겁니다.

 

 

 

 

간단하게 설치까지 완료해봤습니다.

 

설치 진행에 어려움이 있다면 댓글로 문의 해주시면 도움을 드리겠습니다.

 

728x90
반응형
728x90
반응형

 

xcode 프로그램을 사용하여 ios앱 개발을 진행하고 있습니다.

 

WKWebView를 사용하면서 부터 아래와 같은 로그가 미친듯이 쌓이는걸 확인했습니다.

2020-01-29 10:44:43.888094+0900 ... [Process] kill() returned unexpected error 1
2020-01-29 10:44:43.888500+0900 ... [Process] kill() returned unexpected error 1
2020-01-29 10:44:43.902618+0900 ... [Process] kill() returned unexpected error 1
2020-01-29 10:44:43.902855+0900 ... [Process] kill() returned unexpected error 1
2020-01-29 10:44:43.922252+0900 ... [Process] kill() returned unexpected error 1
2020-01-29 10:44:43.922653+0900 ... [Process] kill() returned unexpected error 1
2020-01-29 10:44:43.937681+0900 ... [Process] kill() returned unexpected error 1
2020-01-29 10:44:43.938035+0900 ... [Process] kill() returned unexpected error 1
2020-01-29 10:44:43.952512+0900 ... [Process] kill() returned unexpected error 1
2020-01-29 10:44:43.952803+0900 ... [Process] kill() returned unexpected error 1
2020-01-29 10:44:43.971390+0900 ... [Process] kill() returned unexpected error 1
2020-01-29 10:44:43.971738+0900 ... [Process] kill() returned unexpected error 1
2020-01-29 10:44:43.987230+0900 ... [Process] kill() returned unexpected error 1
2020-01-29 10:44:43.987671+0900 ... [Process] kill() returned unexpected error 1
2020-01-29 10:44:44.002040+0900 ... [Process] kill() returned unexpected error 1
2020-01-29 10:44:44.002279+0900 ... [Process] kill() returned unexpected error 1
2020-01-29 10:44:44.028231+0900 ... [Process] kill() returned unexpected error 1
2020-01-29 10:44:44.028484+0900 ... [Process] kill() returned unexpected error 1
2020-01-29 10:44:44.045407+0900 ... [Process] kill() returned unexpected error 1
2020-01-29 10:44:44.045611+0900 ... [Process] kill() returned unexpected error 1
2020-01-29 10:44:44.051319+0900 ... [Process] kill() returned unexpected error 1
2020-01-29 10:44:44.051555+0900 ... [Process] kill() returned unexpected error 1
2020-01-29 10:44:44.067757+0900 ... [Process] kill() returned unexpected error 1
2020-01-29 10:44:44.067934+0900 ... [Process] kill() returned unexpected error 1
2020-01-29 10:44:44.085097+0900 ... [Process] kill() returned unexpected error 1
2020-01-29 10:44:44.085338+0900 ... [Process] kill() returned unexpected error 1
2020-01-29 10:44:44.103037+0900 ... [Process] kill() returned unexpected error 1
2020-01-29 10:44:44.103237+0900 ... [Process] kill() returned unexpected error 1

 

 

 

해당 오류는 WebKit or OS 버그라고 하는데 iOS 13.2 버전에는 아직 해결되지 않았다고 합니다.

 

해결되지는 않았지만 엄청나게 생기는 Log 를 보기 싫으니 안보이게 처리해보겠습니다.

 

https://bugs.webkit.org/show_bug.cgi?id=202173

 

202173 – [iOS] Regression(r249703) frequent 'kill() returned unexpected error' log messages

Patch no flags Details | Formatted Diff | Diff

bugs.webkit.org

https://www.mail-archive.com/webkit-changes@lists.webkit.org/msg146193.html

 

[webkit-changes] [250329] trunk/Source/WebKit

Title: [250329] trunk/Source/WebKit Revision 250329 Author cdu...@apple.com Date 2019-09-24 18:56:50 -0700 (Tue, 24 Sep 2019) Log Message [iOS] Regression(r249703) frequent 'kill() returned unexpected error' log messages https://bugs.webkit.org/show_bug.cg

www.mail-archive.com

 

 

1. Product > Scheme > Edit Scheme

Edit Scheme 목록을 선택합니다.

 

 

 

 

2. Environment Variables 에 OS_ACTIVITY_MODE 변수를 추가 합니다.

Xcode 8.0 릴리스에서도 작동하는 솔루션입니다.

 

시스템 로그를 출력 안하도록 하는 설정입니다.

 

 

 

 

불필요한 로그를 보기 싫으시다면 위와같은 설정으로 처리 할 수 있습니다.

 

하지만 정작 봐야할 로그가 보이지 않을 경우가 있을수 있으니 원하시는 설정을 하시기 바랍니다.

 

728x90
반응형

'프로그래밍 > iOS' 카테고리의 다른 글

[XCode] ENABLE_BITCODE  (2) 2020.08.26
[Apple] 던스 번호(D-U-N-S Number) 받기  (0) 2020.07.03
[Swift5] Base64 Encode Url Safe  (0) 2020.01.14
[XCode] Cocoapod Build Error  (0) 2019.12.20
[XCode 11] iOS 13 다크모드 해제  (0) 2019.12.09
728x90
반응형

 

앱에서 서버로 ImageData를 Base64 Encode 해서 보내는데 "+" 부분이 " " 으로 변환되는 이슈가 있습니다.

 

해당 HTTP 통신할 떄 발생합니다.

 

이런 문제를 해결하기 위한 간단한 2가지 방법을 알아보겠습니다.

 

 

 

 

1. 서버와 약속된 문자열로 변환

클라이언트에서 특정 문자를 Url Safe 한 문자로 변환을 하여 서버에게 전송하면 서버에서 다시 원상태로 문자를 변환하는 작업입니다.

 

아래는 Swift 코드 이지만 서버도 비슷하게 처리 하면 됩니다.

 

toggleBase64URLSafe(on: true) 했을때 서버로 요청하는 url로 변환하고 false 는 url을 원상태로 변환합니다.

    func toggleBase64URLSafe(on: Bool) -> String {
        if on {
            // Make base64 string safe for passing into URL query params
            let base64url = self.replacingOccurrences(of: "/", with: "_")
                .replacingOccurrences(of: "+", with: "-")
                .replacingOccurrences(of: "=", with: "")
            return base64url
        } else {
            // Return to base64 encoding
            var base64 = self.replacingOccurrences(of: "_", with: "/")
                .replacingOccurrences(of: "-", with: "+")
            // Add any necessary padding with `=`
            if base64.count % 4 != 0 {
                base64.append(String(repeating: "=", count: 4 - base64.count % 4))
            }
            return base64
        }
    }

 

 

 

 

2. 특정 문자를 URL Encoding 하기.

서버를 자회사에서 관리한다면 약속된 문자열로 변환해도 상관없지만 타회사에 요청하는 경우엔 약속을 할 수 없습니다.

 

간단하게 아래와같이 특정부분을 URL Encoding 해서 보내면 문제는 사라집니다.

 

아래 코드로 HTTP 통신을 한다면 "+" 문자가 " "로 변환되어 집니다.

import Foundation

extension UIImage {
    var base64String: String {
        let imageData: NSData = self.jpegData(compressionQuality: 0.1)! as NSData
        let base64url = imageData.base64EncodedString(options: [.endLineWithCarriageReturn, .endLineWithLineFeed])
        return base64url
    }
}

 

 

 

 

하지만 아래 코드처럼 특정 문자를 URL Encoding 해서 보내면 서버에서도 문제없이 처리가 됩니다.

 

toReplace함수는 replacingOccurrences(of: of, with: with) 와 동일합니다.

import Foundation

extension UIImage {
    var base64String: String {
        let imageData: NSData = self.jpegData(compressionQuality: 0.1)! as NSData
        let base64url = imageData.base64EncodedString(options: [.endLineWithCarriageReturn, .endLineWithLineFeed])
        return base64url.toReplace("+", "%2B")
    }
}

 

 

728x90
반응형
728x90
반응형

 

토이프로젝트를 플레이스토어에 올려놓고 반년만에 시간을 내서 오류 업데이트를 하려고 했습니다.

 

수정 및 테스트를 완료하고 bundle & apk 를 추출하려고 하는데 keystore 비밀번호가 기억이 나지 않았습니다.

 

새로 다시 만들어야 하나라는 생각과 열심히 구글링을 통해 엄청난 방법을 찾았습니다.

 

 

 

 

 

Google 에서 제공하는 jar를 통해 비밀번호를 찾는 방식입니다.

java 7을 필요로 하며 해당 jar 파일과 key.jks, 그리고 찾을 비밀번호를 나열한 txt파일만 있으면 됩니다.

 

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

실행방법 

java -jar AndroidKeystoreBrute.jar <args>

가능한 인수

-m <1..3> Method -k <path> path to your keystore -d <path> dictionary (for method 2 and 3) -p use common replacements like '@' for 'a'(for method 3) WARNING - very slow!! -start <String> sets the start String for the password (for brute force) -w writes a new keystore with same password than the key -h prints helpscreen

무차별 대입

java -jar AndroidKeystoreBrute_v1.05.jar -m 1 -k <...keystore> -start AAAAAA

사전 대입

java -jar AndroidKeystoreBrute_v1.05.jar -m 2 -k "C:\\mykeystore.keystore" -d "wordlist.txt"

스마트 단어 목록 대입

java -jar AndroidKeystoreBrute_v1.05.jar -m 3 -k "C:\\mykeystore.keystore" -d "wordlist.txt"

 

 

 

 

 

위와 같이 3가지 방식을 지원합니다.

 

일반적으로 스마트 단어 목록으로 찾는걸 권장한다고 하여 같은 방법으로 진행하였습니다.

 

wordlist.txt 파일은 사진과 같이 엔터로 나열하면 됩니다.

 

 

 

 

이렇게 명령어를 입력해주시면 jar 가 실행됩니다.

java -jar [AndroidKeystoreBrute.jar 위치] -m 3 -k "key.jks 위치" -d "wordlist.txt 위치"

 

 

 

아래와같이 wordlist.txt에 입력되었던 문구를 알맞게 구성하여 찾게됩니다.

Number of keys in keystore: 1
Found alias: jeju b04.jks
Creation Date: Tue Jul 16 11:33:58 KST 2019

Start smart wordlist attack on key!!

Capitalize first letter
Current Pass: a || est. 0 Pass/Sec

Current Pass: 123412341234123458 || est. 31889 Pass/Sec

Current Pass: 4Asdfasdfb049 || est. 33290 Pass/Sec

Current Pass: 71Asdfasdf6 || est. 33841 Pass/Sec

...

Got Password in 36 seconds
Password is: xxxx for alias xxx.jks

For updates visit http://code.google.com/p/android-keystore-password-recover/

 

 

 

 

다른방식으로는 AndroidStudio의 Log를 분석하기도 하지만 위의 방법이 간단한것 같습니다.

 

만약 keystore 비밀번호를 분실하셨다면 낙담하지 마시고 꼭 찾으셨으면 좋겠습니다.

 

728x90
반응형

+ Recent posts