crackme-one 和 crackme-two 的破解思路差不多,先定位到跳轉前的代碼
*注:cond_0 和 cond_1 分別對應密碼不正確和用戶名不存在的分支*
通過閱讀跳轉前的代碼,我們看到兩個看起來很像是用戶名和密碼的字符串:“manager@corp.net” 和 “b2c4782f0afc0d9ccf21af70ac6c5c7e”,通過和 crackme-one 相似的分析發現與 “manager@corp.net” 比較的確實是從輸入用戶名的 EditText 里獲取的字符串,因此它就是用戶名
接著確認 “b2c4782f0afc0d9ccf21af70ac6c5c7e” 是不是其對應的密碼。繼續分析跳轉前的代碼發現,從密碼框獲取的密碼其實并沒有直接與該字符串比較,而是先把它進行了一次 md5 加密后再進行比較,因此該字符串應該是密碼加密后的結果,隨便找一個 md5 在線解密網站進行解密后得到密碼為 “zipdrive”
輸入用戶名 “manager@corp.net” 密碼 “zipdrive”,成功