Làm thế nào để xử lý mất mật khẩu KeyStore trong Android?


97

Tôi đã quên mật khẩu Keystore của mình và tôi thực sự không biết phải làm gì nữa (Tôi không thể hoặc sẽ không đưa ra bất kỳ lý do nào cho việc này). Tôi muốn cập nhật ứng dụng của mình vì tôi vừa sửa một lỗi nhưng hiện không còn nữa. Điều gì xảy ra nếu tôi sử dụng cùng một Kho khóa nhưng tạo một khóa mới? Tôi vẫn có thể cập nhật ứng dụng và nếu không thể, tôi có thể tiếp tục cung cấp thông tin cho người dùng về phiên bản cập nhật như thế nào?

Nếu ai đó đã gặp vấn đề như thế này hoặc gặp phải rắc rối, bạn có thể đưa ra lời khuyên nào để giúp khắc phục tình hình? May mắn thay, nó là một ứng dụng miễn phí.


Zach Klippenstein trên Google+ cũng gặp phải vấn đề giống bạn. Bạn có thể theo dõi chủ đề ở đây .
Lập trình viên PHP tự do

Nếu bạn đang sử dụng Phản ứng Native, bạn có thể tìm thấy nó trong gradle.properties
colemerrick

Câu trả lời:


43

Xem liên kết này

Thật không may, nhưng khi bạn mất kho khóa hoặc mật khẩu vào kho khóa, ứng dụng của bạn sẽ không còn nữa. Điều duy nhất bạn có thể làm là gửi lại ứng dụng của mình ra thị trường theo một khóa mới.

LUÔN LUÔN sao lưu kho khóa của bạn và ghi mật khẩu vào một vị trí an toàn.


vì vậy tốt nhất tôi có thể làm là chỉ tải lên một phiên bản khác của ứng dụng và cố gắng đưa ra mô tả từ tiêu đề hoặc từ ứng dụng trước đó hoặc tương tự như vậy. đúng?
irobotxx

1
Thật vậy, chỉ cần hủy xuất bản ứng dụng hiện tại của bạn và thay thế nó bằng một phiên bản mới có cùng tiêu đề và mô tả, và hy vọng người dùng của bạn cuối cùng sẽ tìm thấy nó. Hãy chắc chắn rằng bạn ghi mật khẩu của mình vào khoảng thời gian này;)
Zebaz

Bạn có 3 lần thử để làm đúng. Nếu trong lần thử thứ ba, bạn sai, bạn cần đóng trình hướng dẫn và mở lại. Ngay cả khi bạn nhập đúng mật khẩu vào lần thử thứ 4, nó sẽ cho bạn biết rằng nó sai. Tôi đã phát hiện ra điều này bằng cách thử chạy keytool qua dòng lệnh và quan sát giới hạn thử lại của nó.
The Muffin Man,

@Zebaz nếu tôi mất mật khẩu kho khóa, tôi có thể tải lên qua gói không? hay đối với điều này, tôi cũng cần mật khẩu?
Ponomarenko Oleh

gần như đã làm điều này cho đến khi tôi nhớ ra rằng tôi đã có thông tin chi tiết về key.properties.
b.john

219

Tôi vừa gặp sự cố này - may mắn thay, tôi đã có thể tìm thấy mật khẩu trong một số tệp tạm thời của Gradle. Đề phòng trường hợp có ai đến đây:

thử tìm kiếm tập tin này

..Project\.gradle\2.4\taskArtifacts\taskArtifacts.bin

or

.gradle/3.5/taskHistory/taskHistory.bin
.gradle/5.1.1/executionHistory/executionHistory.bin
.gradle/caches/5.1.1/executionHistory/executionHistory.bin

và tìm kiếm

storePassword

Nó đã ở đó trong văn bản rõ ràng. Nói chung, nếu bạn nhớ ít nhất một phần mật khẩu của mình, hãy thử tìm kiếm tệp chứa chuỗi con này và hy vọng bạn sẽ tìm ra điều gì đó.

Đã muốn vứt nó ra đây, có lẽ cuối cùng sẽ giúp được ai đó.


Biên tập: Đã thêm thông tin chi tiết mới từ các nhận xét, chỉ để hiển thị nhiều hơn.

Cảm ơn Vivek Bansal, Amar Ilindra và Uzbekjon vì những điều này.


33
Trao huy chương cho người đàn ông này ... Để người khác tìm thấy mật khẩu nhanh hơn: Tìm kiếm ".keyPassword" một vài lần và bạn sẽ thấy mật khẩu của mình. Cảm ơn bạn rất nhiều @ EldoRado1239 :)
Kermia

9
thử .storePassword
Vivek Bansal

6
Nếu bạn đang sử dụng OSX / Linux, bạn có thể chạy điều này để dễ dàng lấy các mục nhập mật khẩu đã lưu trữ: strings taskArtifacts.bin | grep storePassword -A1 Và nhân tiện, cảm ơn ElDoRado1239 - bạn vừa giúp tôi tiết kiệm thời gian.
James Nick Sears,

4
Trong trường hợp bạn không thể tìm thấy đường dẫn trên, hãy thử đường dẫn này ..Project \ .gradle \ 3.5 \ taskHistory \ taskHistory.bin
Amar Ilindra

2
Trợ giúp tôi có thể tìm thấy bất kỳ các thư mục nêu tại 5.1.1gradle
James Christian Kaguo

43

Trong trường hợp cung cấp sai mật khẩu, dù chỉ một lần, nó sẽ tiếp tục thông báo trong những lần thử tiếp theo:

Kho khóa bị giả mạo hoặc mật khẩu không chính xác.

Ngay cả khi bạn cung cấp đúng. Tôi đã thử nó vài lần, có lẽ đó là một loại bảo vệ nào đó.
Đóng trình hướng dẫn xuất và bắt đầu lại với mật khẩu chính xác, bây giờ nó hoạt động :)


8
những gì bạn có nghĩa là "gần wizard xuất khẩu"
Sagar Chavada

Thuật sĩ xuất khẩu là gì?
Jigar Fumakiya

38

Brute là đặt cược tốt nhất của bạn!

Đây là một tập lệnh đã giúp tôi:

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

Bạn có thể tùy chọn cung cấp cho nó một danh sách các từ mà mật khẩu có thể bao gồm để khôi phục rất nhanh (đối với tôi, nó hoạt động trong <1 giây)


Thật không may, nó đã không làm việc cho tôi. Tôi đưa ra một danh sách các từ và sau đó tôi phát hiện ra đó là ba trong số những từ này theo một thứ tự nhất định, nhưng tôi phải tự tìm ra. Cám ơn chia sẻ mặc dù, vui vì nó giúp người khác
Teo Inke

Nó đã làm việc cho tôi một cách hoàn hảo! chỉ có 10 giây với từ điển đúng
gyss

Nó hoạt động để khôi phục mật khẩu cho khóa bên trong, nhưng tôi có thể làm gì nếu tôi cũng mất mật khẩu cho chính kho khóa? @kiruwka nói rằng đó không phải là vấn đề trong câu trả lời của anh ấy ... anh ấy thực sự có ý đó?
SebasSBM

25

Đi tới taskHistory

Cuối cùng tôi đã tìm ra giải pháp sau hai ngày ...

Làm theo các bước sau:

  1. Đi tới dự án
  2. Trong .gradle, tìm thư mục phiên bản gradle của bạn trong trường hợp của tôi, nó là 4.1 (Ảnh tham khảo)
  3. mở rộng thư mục 4.1 và sau đó trong thư mục taskHistory, bạn sẽ tìm thấy tệp taskHistory.bin.
  4. Mở tệp taskHistory.bin trong chính studio android.
  5. Tìm kiếm ".storePassword" .. Vậy là bạn đã có được mật khẩu kho khóa của mình.

Điều này thực sự hiệu quả với tôi.

Hãy thử điều này và viết mã vui vẻ !!!


Sử dụng Android 3.5.3, tiếc là tệp .bin không có bất kỳ thông tin liên quan nào.
RominaV

19

Trên tiện ích MAC, khởi chạy Console và cuộn xuống ~ / Library / Logs -> AndroidStudio -> idea.log.1 (hoặc bất kỳ số nhật ký cũ nào) Sau đó, tôi tìm kiếm "keystore" và nó sẽ xuất hiện ở đâu đó trong nhật ký.

Câu hỏi gốc: liên kết


này đã cứu sống tôi ở một khách hàng - tất cả các tùy chọn khác werent' avialable vì chúng tôi sử dụng một số kịch bản ngụm kết hợp với một cordova / ứng dụng phonegapp
rarspace01

Tôi không thể tìm thấy nó bằng cách sử "keystore" nhưng sử dụng "key.password"
CEED

17

GIẢI PHÁP 2019 (Windows, Android Studio 3.3, gradle 4.10):

Giải pháp này chỉ hoạt động nếu hộp kiểm "Nhớ mật khẩu" đã được đánh dấu trước đó.

Trước hết taskArtifacts.bin không tồn tại cho phiên bản gradle này và idea.log hiển thị dấu sao cho mật khẩu. Đây là những giải pháp ngày xưa không phù hợp với tôi.

Nơi tôi tìm thấy mật khẩu văn bản rõ ràng: C: \ Users \ {tên người dùng} \ AndroidStudioProjects \ {project} \ app \ build \ averageates \ sign_config \ release \ out \ sign-config.json

Các phím: mStorePassword và mKeyPassword.

Tôi thực sự hy vọng nó sẽ giúp một người khác.


Chà! Nó cũng hoạt động trong Ubuntu! Tôi không biết làm thế nào để cảm ơn bạn!
زياد

Có thể xác nhận rằng nó vẫn hoạt động trên AS 3.5.3 - cảm ơn bạn!
RominaV

17

Trong thực tế, mất keystore passwordkhông phải là một vấn đề.
Bạn có thể tạo một kho khóa mới và đặt mật khẩu mới cho nó bằng keytoollệnh dưới đây. Bạn không cần mật khẩu kho khóa ban đầu cho nó:

keytool -importkeystore -srckeystore path/to/keystore/with/forgotten/pw \
-destkeystore path/to/my/new.keystore

Khi được nhắc, hãy tạo mật khẩu cho mật khẩu kho khóa của bạn new.keystorevà cho nguồn (mà bạn đã mất) chỉ cần nhấn Enter .
Bạn sẽ nhận được cảnh báo về tính toàn vẹn chưa được kiểm tra và bạn sẽ nhận được new.keystore của mình giống hệt bản gốc với mật khẩu mới đặt.

Lý do hoạt động này keystore passwordchỉ được sử dụng để cung cấp tính toàn vẹn của keystorenó, ngược lại, nó không mã hóa dữ liệu với nó, ngược lại private key password, nó thực sự giữ cho khóa cá nhân của bạn được mã hóa.

Xin lưu ý rằng bạn phải biết mình private key passwordđể ký ứng dụng của mình. Chà, nếu nó giống như bị lãng quênkeystore password thì bạn có thể dùng đến vũ phu như trong câu trả lời của @ Artur.

Cách tiếp cận này luôn hiệu quả với tôi.


Tôi đã thử điều này và nó khiến bạn nhập mật khẩu cho điểm đến. Nếu bạn tiếp tục nhấn enter, nó sẽ thông báo cho bạn thử lại sau sau 3 lần thử.
The Muffin Man,

@TheMuffinMan xin lỗi, không hoàn toàn hiểu được vấn đề của bạn. Bạn đã quản lý để tạo kho khóa mới với pw kho khóa mới?
kiruwka

1
Điều này giúp tôi có một kho khóa mới, nhưng khi tôi cố gắng sử dụng kho khóa mới đó, tôi nhận được thông báo lỗi jarsigner: key associated with mykey-release not a private key. Tui bỏ lỡ điều gì vậy?
phihag

@phihag Tôi đang gặp phải vấn đề tương tự. Xin vui lòng bạn đã tìm thấy một giải pháp?
Teddy Kossoko 25/11/19

13

Tôi cảm thấy tôi cần phải biến nó thành một câu trả lời vì điều này không thể chỉ là trong các bình luận. Giống như @ ElDoRado1239 đã nói trong câu trả lời của anh ấy (đừng quên ủng hộ câu trả lời của anh ấy;)

  • Tìm ..Project\.gradle\2.4\taskArtifacts\taskArtifacts.bintrong trường hợp của tôi là ..Project\.gradle\2.2.1\taskArtifacts\taskArtifacts.binvì tôi sử dụnggradle 2.2.1
  • Sau đó, tìm kiếm storePasswordnhư @Moxet Khan nói trong nhận xét ... trong trường hợp của tôi là ở dòngsigningConfig.storePassword¬í t my.forgoten.password—signingConfig.keyAlias

Hy vọng giúp đỡ ai đó khác !!!


12

May mắn thay, tôi đã tìm thấy mật khẩu bị mất cùng với đường dẫn kho khóa và tên bí danh từ nhật ký studio Android của mình.

nếu bạn đang chạy các máy dựa trên linux / Unix.

Điều hướng đến thư mục Nhật ký Thư viện

cd ~/Library/Logs/

trong đó nếu bạn nhớ phiên bản studio android mà bạn đã sử dụng để tạo APK phát hành cuối cùng. Điều hướng đến Thư mục đó

ví dụ: cd AndroidStudio1.5 /

Trong đó, bạn sẽ tìm thấy các tệp nhật ký. trong bất kỳ tệp nhật ký nào (idea.log), bạn sẽ tìm thấy thông tin đăng nhập kho khóa của mình

thí dụ

-Pandroid.injected.signing.store.file=/Users/myuserid/AndroidStudioProjects/keystore/keystore.jks, 
-Pandroid.injected.signing.store.password=mystorepassword, 
-Pandroid.injected.signing.key.alias=myandroidkey, 
-Pandroid.injected.signing.key.password=mykeypassword,

Tôi hy vọng điều này sẽ giúp ích cho người dùng Android Studio


11
Tôi nghĩ rằng điều này không hoạt động trên AndroidStudio3.0, tất cả thông tin hiển thị dưới dạng ******* với cùng độ dài cho cả mật khẩu kho khóa và mật khẩu khóa.
TheLearner

Đây chính xác là nơi tôi tìm thấy mật khẩu của mình, cảm ơn vì bài đăng. Tôi cũng đã chỉnh sửa câu trả lời ở trên. Hai địa điểm này là những vị cứu tinh, tôi hy vọng trong tương lai Công cụ Keystore trong Android Studio sẽ cảnh báo người dùng lưu mật khẩu vì họ sẽ cần nó một năm hoặc 2 năm sau cho một bản phát hành khác.
MG Developer

11

Có thể hơi muộn nhưng nó sẽ giúp ích cho ai đó chắc chắn Bạn có thể tìm kiếm mật khẩu nếu bạn nhớ điều gì đó, nếu không hãy thử tìm kiếm như

SignConfig.storePassword

Ngoài ra nếu bạn quên bí danh khóa, bạn có thể tìm thấy ở đây cũng có thể tìm kiếm một cái gì đó như signConfig.keyAlias

Project.gradle \ 3.3 \ taskArtifacts \ taskArtifacts.bin

Hy vọng nó sẽ giúp ích cho ai đó


9

Đối với bất kỳ ai khác có thể gặp phải vấn đề này, tôi muốn chia sẻ một câu trả lời có thể dành cho bạn hoặc cho những người khác đang duyệt bài viết này (như bản thân tôi).

Tôi đang sử dụng Eclipse và đã tạo kho khóa của mình trong đó cho bản phát hành 1.0 của tôi. Nhanh chóng chuyển tiếp 3 tháng và tôi muốn cập nhật nó lên 1.1. Khi tôi chọn Xuất ... trong Eclipse và chọn kho khóa đó, không có mật khẩu nào mà tôi có thể nhớ được đã hoạt động. Mỗi khi nó thông báo "Kho khóa bị giả mạo hoặc mật khẩu không chính xác." Nó đã đến một thời điểm mà tôi đã sẵn sàng để chạy một chương trình bạo lực với nó miễn là tôi có thể chịu đựng (một tuần hoặc lâu hơn) để cố gắng làm cho nó hoạt động.

May mắn thay, tôi ký được tệp .apk không dấu của mình bên ngoài Eclipse. Thì đấy - nó đã hoạt động! Mật khẩu của tôi đã được chính xác toàn bộ thời gian! Tôi không chắc tại sao, nhưng việc ký nó trong Eclipse thông qua menu Export đã báo lỗi ngay cả khi mật khẩu của tôi đúng.

Vì vậy, nếu bạn gặp phải lỗi này, đây là các bước của tôi (lấy từ tài liệu Android ) để giúp bạn chuẩn bị sẵn gói ứng dụng của mình cho thị trường.

LƯU Ý: Để tải apk chưa ký từ Eclipse: Nhấp chuột phải vào dự án> Công cụ Android> Xuất ứng dụng chưa ký

  1. Ký tệp apk chưa ký bằng kho khóa

    a. mở lời nhắc cmd của quản trị viên và truy cập "c: \ Program Files \ Java \ jdk1.6.0_25 \ bin" hoặc bất kỳ phiên bản java nào bạn có (nơi bạn đã sao chép tệp apk chưa ký và kho khóa của bạn)

    b. tại dấu nhắc cmd với tệp keystore và apk chưa ký trong cùng một thư mục, hãy nhập lệnh này: jarigner -keystore mykeystorename.keystore -verbose unsigned.apk myaliasnamefromkeystore

    c. nó sẽ nói: "Nhập Cụm từ mật khẩu cho kho khóa:". Nhập nó và nhấn Return.

    d. ===> Thành công trông như thế này:

    adding: META-INF/MANIFEST.MF
    ...
    signing: classes.dex

    e. phiên bản chưa ký sẽ được ghi đè tại chỗ, vì vậy tệp apk đã ký của bạn hiện có cùng tên tệp với tệp chưa ký

  2. Sử dụng ZipAlign để thu gọn tệp apk đã ký để phân phối trên thị trường

    a. mở lời nhắc cmd của quản trị viên và truy cập "c: \ AndroidSDK \ tools" hoặc bất cứ nơi nào bạn đã cài đặt Android SDK

    b. nhập lệnh này: zipalign -v 4 sign.apk signaligned.apk

    c. ===> Thành công trông như thế này:

    Verifying alignment of signedaligned.apk (4)
    50 META-INF/MANIFEST.MF (OK - compressed)
    ...
    1047129 classes.dex (OK - compressed)
    Verification succesful

    d. tệp đã ký và căn chỉnh có tại signaligned.apk (tên tệp bạn đã chỉ định trong lệnh trước)

========> SN SÀNG NỘP VÀO MARKETPLACE


Lý do bạn nhận được lỗi về mật khẩu không chính xác là do keyalg / sigalg / digalg được đặt ngầm là sai. Các phiên bản khác nhau của Java có các giá trị mặc định khác nhau.
Will Vanderhoef

Tôi đã rất căng thẳng khi eclipse từ chối mật khẩu của tôi, nhưng nó đã hoạt động khi tôi thử theo cách của bạn, cảm ơn bạn!
Hardik4560

9

Sau gần một ngày nghiên cứu các tùy chọn khả thi để khôi phục mật khẩu kho khóa bị mất trong Android Studio. Tôi đã tìm thấy 4 cách khả thi sau:

  1. Sử dụng AndroidKeystoreBrute để lấy lại mật khẩu của bạn. Phương pháp này khá hữu ích khi bạn quên một phần mật khẩu có nghĩa là bạn vẫn còn một số gợi ý về mật khẩu của mình trong đầu.

  2. Bạn cũng có thể truy xuất nó thông qua các tệp nhật ký Android Studio nếu trước đó bạn đã phát hành ứng dụng (mà bạn tìm thấy mật khẩu kho khóa) với cùng một máy. Tham khảo thư mục sau:

    Mac OSX

    ~ / Library / Logs / AndroidStudio / idea.log.1

    Linux (Vị trí có thể)

    / home / user_name / AndroidStudio / system / log

    Windows (Vị trí Có thể)

    C: \ Users \ user_name \ AndroidStudio \ system \ log

    và tìm kiếm Pandroid.injected.signing.key.passwordbên trong tệp. Bạn sẽ thấy mật khẩu nếu trước đó bạn đã ký ứng dụng bằng cùng một phiên bản Android Studio mà bạn đang tìm kiếm hiện tại.

  3. Bạn cũng có thể lấy mật khẩu thông qua thư mục .gradle trong dự án của mình. Hãy tìm đường dẫn sau

    project_directory / .gradle / 2.4 / taskArtifacts / taskArtifacts.bin.

    Lưu ý: Điều này dường như không hoạt động đối với các phiên bản mới hơn của Gradle (2.10 trở lên).

  4. Nếu không có giải pháp nào ở trên hoạt động thì bạn có thể thử giải pháp này nhưng đối với giải pháp này, bạn phải có ứng dụng Android Studio IDE hoặc Tùy chọn của nó trong đó mật khẩu kho khóa dự án của bạn đã được lưu trước đó (Sử dụng tùy chọn Nhớ mật khẩu tại thời điểm ký ứng dụng). Bạn có thể lấy tùy chọn IDE từ đường dẫn sau:

    Mac OSX

    ~ / Library / Logs / AndroidStudio / idea.log.1

    Linux (Vị trí có thể)

    / home / user_name / AndroidStudio

    Windows (Vị trí Có thể)

    c: \ user \ username \ .AndroidStudio

    Chỉ cần sử dụng IDE Android Studio cũ hơn nếu bạn có hoặc nhập các tùy chọn của IDE cũ vào IDE mới và cũng đặt tệp kho khóa vào cùng đường dẫn mà trước đây khi bạn đã ký và lưu mật khẩu lần trước.

    Bằng cách này khi bạn mở dự án và thử Build-> Generate Signed APK và chọn tệp kho khóa từ vị trí cũ hơn. Nó sẽ tự động lấy mật khẩu và tiếp tục tạo APK đã ký để phát hành.

    Sau khi APK phát hành tạo thành công, bạn có thể làm theo tùy chọn 2 đã đề cập trước đó để kiểm tra mật khẩu của bạn từ tệp nhật ký của bạn cho APK phát hành được tạo gần đây.


Tìm kiếm trong các bản ghi đã giúp đỡ như một sự quyến rũ. Cảm ơn bạn, bạn đã lưu bình tĩnh của tôi
rommex

Tôi đã tìm thấy ý tưởng.log.1. Làm thế nào tôi có thể mở nó?
KZoNE

Các bạn là những người tiết kiệm cuộc sống. Tìm thấy của tôi trong idea.log.12 - chỉ cần mở nó dưới dạng txt!
Victor R. Oliveira

7

Đầu tiên tải xuống AndroidKeystoreBrute_v1.05.jar và sau đó làm theo hình ảnh đã cho.nhập mô tả hình ảnh ở đây

chuẩn bị một tệp wordlist như (wordlist.txt), trong tệp đó đưa ra gợi ý của bạn như

Gợi ý mật khẩu:

người dùng

Người dùng

Mật khẩu

mật khẩu

pa55word

Mật khẩu

@

*

#

$

&

1

2

123

789

Bạn sẽ nhận được mật khẩu của bạn.


Xin chào, tôi không nhận được kết quả. Hãy giúp đỡ
Nimisha V

@NimishaV gì cấp cho bạn phải đối mặt
Srinivas Keerthiprakasam

7

Cách đơn giản nhất để lấy mật khẩu kho khóa

project_folder \ app \ build \ Intermediateates \ sign_config \ release \ out \ sign-config.json

Kiểm tra tìm kiếm tệp này cho StorePassword trong sign -config.json

{"mName":"externalOverride","mStoreFile":"C:\\Users\\dAvInDeR\\Desktop\\KEYSTORE\\keystore.jks","mStorePassword":"1234@#abcd","mKeyAlias":"uploadkey","mKeyPassword":"1234@#abcd","mStoreType":"jks","mV1SigningEnabled":false,"mV2SigningEnabled":false}

Hy vọng đầy đủ nó sẽ giúp bạn.


2
Đây thực sự là mật khẩu cuối cùng mà bạn đã thử, có thể là người dùng đã thử mật khẩu khác. Sau đó, họ sẽ nhận được mật khẩu sai
Amir Dora

Đó chỉ là mật khẩu APK được tạo cuối cùng và tất cả thời gian tệp json đó đều bị thay đổi khi bạn tạo apk mới
Tarit Ray

Điều này đã cứu ngày của tôi!
Chathurika Senani

bạn thực sự đã cứu tôi!
Benhar Upasana

5

Thêm điều này như một khả năng khác. Câu trả lời có thể nằm ngay dưới mũi bạn - trong tệp build.gradle của ứng dụng nếu bạn đã tình cờ chỉ định cấu hình ký vào một thời điểm nào đó trong quá khứ:

signingConfigs {
    config {
        keyAlias 'My App'
        keyPassword 'password'
        storeFile file('/storefile/location')
        storePassword 'anotherpassword'
    }
}

Bạn có cảm thấy may mắn không?!


3

Tôi đã có cùng một vấn đề cùng một lúc. Mặc dù với tính năng Ký ứng dụng của Google Play, việc mất kho khóa hoặc mật khẩu không phải là vấn đề lớn như trước đây, Với tư cách là nhà phát triển, chúng tôi vẫn muốn thay đổi mật khẩu của ứng dụng và sử dụng tệp kho khóa đã tạo mà không phải đợi vài ngày để google xử lý. (Để xử lý vấn đề này với google, hãy sử dụng liên kết này để đưa ra yêu cầu) Để tự xử lý vấn đề này, Đầu tiên hãy tải xuống hai tệp .java từ liên kết này . Sau đó, biên dịch ChangePassword.java bằng javac ChangePassword.javalệnh. Sau đó, sau khi bạn có thể chạy

java ChangePassword <oldKeystoreFileName.keystore> <newKeystoreFileName.keystore>

Thay đổi oldKeystoreFileName.keystore bằng đường dẫn / tên của tệp kho khóa hiện tại của bạn và newKeystoreFileName.keystore bằng đường dẫn / tên cho tệp kho khóa mới được tạo mới. Điều này sẽ khuyến khích bạn

Nhập mật khẩu kho khóa:

. Chỉ cần nhập bất cứ điều gì bạn thích :) không cần phải là mật khẩu ban đầu bị mất. Sau đó, nhập mật khẩu mới bằng *

mật khẩu kho khóa mới:

  • Vậy là xong. Điều này sẽ không thay đổi tổng kiểm tra kho khóa của bạn và sẽ không gây ra bất kỳ sự cố nào khi ký ứng dụng hoặc tải lên các sự kiện play.google.

@SIW, tôi thay đổi mật khẩu của mình bằng cách tạo một kho khóa mới bằng cách sử dụng kho khóa cũ với ChangePassword. Khi tôi muốn ký hợp đồng tôi đã quan trọng gắn liền với bí danh của tôi không phải là một khóa bí mật
Teddy Kossoko

3

Mở taskHistory.binvà tìm kiếmstorePassword


Không nhận được bất kỳ thứ gì được liên kết với "storePassword" trên tệp đó
Tarit Ray

3

NẾU bạn có thể xây dựng ứng dụng của mình từ PC, nhưng bạn không nhớ mật khẩu, đây là những gì bạn có thể làm để lấy lại mật khẩu:

Phương pháp 1:

Trong build.gradle của bạn, hãy thêm println MYAPP_RELEASE_KEY_PASSWORDnhư sau:

signingConfigs {
    release {
        if (project.hasProperty('MYAPP_RELEASE_STORE_FILE')) {
            storeFile file(MYAPP_RELEASE_STORE_FILE)
            storePassword MYAPP_RELEASE_STORE_PASSWORD
            keyAlias MYAPP_RELEASE_KEY_ALIAS
            keyPassword MYAPP_RELEASE_KEY_PASSWORD
            println MYAPP_RELEASE_KEY_PASSWORD
        }
    }
}

Sau đó, chạy cd android && ./gradlew assembleRelease

Phương pháp 2:

Chạy keytool -list -v -keystore your <.keystore file path> ví dụ: keytool -list -v -keystore ./app/my-app-key.keystore.

Nó sẽ yêu cầu bạn Nhập mật khẩu kho khóa: Chỉ cần nhấn phím enter tại đây. và bạn sẽ có thể tìm thấy được ánh xạ tới tên Bí danh:

Sau đó, chạy grep -rn "<your alias name>" .trong thiết bị đầu cuối của bạn và bạn sẽ có thể thấy tệp sign.json của mình như bên dưới:

./app/build/intermediates/signing_config/release/out/signing-config.json

Tệp sẽ có mật khẩu của bạn ở định dạng json với khóa "mKeyPassword": "<mật khẩu của bạn>"


3

Trong Ionic, tôi có thể tìm thấy nó ở đây: /app/platforms/android/app/build/intermediates/signing_config/release/out/signing-config.json

Có thể điều này sẽ giúp một ai đó. hoan hô.


Cảm ơn bạn rất nhiều!
Hugo Ramos

2

Android brute force sẽ không hoạt động nếu cả hai mật khẩu của bạn đều khác nhau, vì vậy tùy chọn tốt nhất có thể là cố gắng tìm tệp có tên là

log.idea

trong C: / users / tài khoản được đặt tên của bạn thì bạn có thể thấy rằng trong đó, trong thư mục android, hãy mở tệp lpg.idea đó trong notepad và sau đó tìm kiếm

bí danh

sử dụng tùy chọn find trong notepad, bạn sẽ thấy mật khẩu và bí danh và mật khẩu đã được hiển thị ở đó


Nó phải là idea.log.
Felix

2

Tôi đã tìm thấy mật khẩu trong

C:\Users\{Username}\.AndroidStudio2.2\system\log\idea.txt

Tìm kiếm

Pandroid.injected.signing.store.password

2

Tới taskhistory.bintrong .gradlethư mục của dự án mật khẩu tìm kiếm cuộn xuống cho đến khi bạn tìm ra mật khẩu


1

Tóm lại, có 3 câu trả lời cho câu hỏi này (và giải pháp không được đưa ra bởi câu trả lời được chấp nhận):

  1. Nếu vẫn còn nguyên nhật ký, bạn có thể tìm thấy mật khẩu trong tệp nhật ký Android Studio theo câu trả lời của Georgi Koemdzhiev ở trên.

  2. Bạn có thể lấy mật khẩu từ tệp 'taskArtifacts.bin' trong thư mục .gradle của mình theo câu trả lời của ElDoRado1239Gueorgui Obregon ở trên. Điều này dường như không hoạt động đối với các phiên bản mới hơn của Gradle (2.10 trở lên).

  3. Sử dụng AndroidKeystoreBrute để đoán hoặc cưỡng chế mật khẩu của bạn theo câu trả lời của Srinivas Keerthiprakasam ở trên.

Tất cả 3 giải pháp này được đề cập sâu tại liên kết này .


1

Trong trường hợp của tôi, tôi đã lấy sai tên bí danh, mặc dù tôi đã lưu đúng mật khẩu. Vì vậy, tôi nghĩ đó là mật khẩu sai (sử dụng gói ion) nên tôi đã sử dụng lệnh này để lấy tên bí danh

keytool -list -v -keystore

Và tôi đã có thể sử dụng lại kho khóa!


1

C: \ Users \ admin \ AndroidStudioProjects \ TrumpetTVChannel2.gradle \ 2.14.1 \ taskArtifacts \ taskArtifacts.bin

Đầu tiên, hãy thử tạo kho khóa mới .... sau đó mở taskArtifacts.bin bằng notepad và tìm mật khẩu mà bạn vừa cung cấp .... bạn sẽ có thể tìm ra các từ gần với mật khẩu mà bạn vừa cung cấp, sau đó tìm kiếm các từ gần với mật khẩu của bạn trong cùng một tệp .... bạn sẽ có thể tìm ra mật khẩu ..... :)


1

Nếu không có gì hoạt động, hãy thử dòng này. Di chuyển đến đường dẫn nơi .jks được lưu trữ. Chạy lệnh này trong dấu nhắc lệnh. Nó sẽ hỏi mật khẩu, bỏ qua điều đó và nhấn enter.

keytool -list -keystore sample.jks


1

GIẢI PHÁP 2018 : Đăng ký ứng dụng bằng tệp kho khóa mới nếu bạn thiếu mật khẩu hoặc tệp jks.

1) Tạo tệp keystore.jks mới với dòng comand (không phải menu xây dựng studio android)

keytool -genkeypair -alias upload -keyalg RSA -keysize 2048 -validity 9125 -keystore keystore.jks

Ví dụ về Windows: "C:\Program Files\Android\Android Studio\jre\bin\keytool.exe" -genkeypair -alias upload -keyalg RSA -keysize 2048 -validity 9125 -keystore "C:\keystore_new.jks"

2) Tạo tệp .pem từ kho khóa mới

keytool -export -rfc -alias upload -file upload_certificate.pem -keystore keystore.jks

Ví dụ về Windows: "C:\Program Files\Android\Android Studio\jre\bin\keytool.exe" -export -rfc -alias upload -file "C:\upload_cert.pem" -keystore "C:\keystore_new.jks"

3) Sử dụng biểu mẫu hỗ trợ này, đặt "sự cố kho khóa" và với tệp đính kèm, hãy thêm tệp .pem: https://support.google.com/googleplay/android-developer/contact/otherbugs

4) 12-48h bạn mới kích hoạt kho khóa. Cập nhật ứng dụng của bạn trên playstore bằng apk mới được ký với keystore mới: D


Tôi nghĩ rằng nó dành cho những người chọn tùy chọn đăng nhập ứng dụng google?
Sumit Kumar


0

Không cần sử dụng brute force, một cách đơn giản là tìm mật khẩu văn bản thuần túy của bạn.

đi đến:

C:\Users\<your username>\AndroidStudioProjects\WhatsAppDP\.gradle\2.2.1\taskArtifacts

Mở:

taskArtifacts.bin 

khi bạn mở taskArtifacts.bin có thể trông đã được mã hóa, đừng lo lắng về việc tìm kiếm ".keyPassword" đó một vài lần. Sau đó, bạn sẽ tìm thấy mật khẩu của mình ở dạng văn bản thuần túy. Nó có thể giống:

signingConfig.keyPassword¬í t <your password>Æù

Hy vọng điều này là hữu ích.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.