您好,登錄后才能下訂單哦!
這是最簡單的題目,都在java層。
反編譯后看關鍵源代碼:
由于對android程序不熟悉,完全忽略了android.util.Log.i函數。后來看了大牛的writeup,才知道onClick函數里面的3個android.util.Log.i用輸出日志信息的方式告訴了密碼本、密碼,以及猜測的結果。
我用的是標準的分析方法。跟進access$0函數。
密碼生成規則是
這個代碼的意思就是將用戶的輸入轉成字節數組p4,以p4的每一個字節為索引,在密碼本p3中找出對應的字符。這里需要注意的是p3是utf8編碼,中文對應3個字節(一個字符),而ascii對應1個字節。
密碼本和題目設置的密碼(winhex提取):
逆推用戶的輸入就是找passwd的每一個字在密碼本中的索引,輸出索引對應的ascii值就可以了。
由于本人的python處理中文編碼不過關,所以老老實實在winhex里面3個字節3個字節的搜索,手工計算了。
因為utf8中文字符3個字節,所以winhex里面的偏移要除以3.
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。