標籤:
最近一直在做python開發的事情,資訊安全方面做得很少,也是"蛋蛋"的憂傷呀。今天有朋友請我幫忙,將一個app裡的文字和表徵圖替換一下,花了一下午和一晚上的時間搞了一下,主要是表徵圖的PS很傷腦筋,弱項呀。。。滿眼都是淚。。。。。。只能慢慢的做了。。。
先把工具更新一下,發現AndroidKiller_v1.3已經發布一段時間,看來真是好久沒搞了。。。把apk拖進去進行反編譯。
AndroidKiller提供了很好的搜尋和替換功能,所以文本替換變得極其的方便。
替換文字極其方便,替換表徵圖稍微麻煩一點,首先找到對應16進位ID,再找到布局檔案,接著找到表徵圖,最後PS修改一下,改一下布局,就OK了,技術上不複雜,就是費時間。
當然這不是我們幾天說的重點,咱們討論的是反編譯,修改,打包,簽名,這一系列工作之後遇到的痛點。
這個停車app在我改完之後,能在手機上安全運行,不出現異常,以為就要大功告成的時候。我的朋友發現了問題,就是百度地圖顯示不出來了。。。
此番逆向的難度也就在這個地方了。怎麼解決這個問題呢?
既然是百度地圖顯示不出來,可以判斷出百度地圖進行了校正,反編譯後的app和原app最大的不同是簽名,差不多可以肯定是校正了簽名。幸虧之前做過兩三年的android開發,瞭解過百度地圖的開發,這次發揮了作用。看來要搞好資訊安全,學會開發是基本功呀。廢話不多說,既然確定了秘鑰問題,那咱們就去 百度地圖開發人員中心 去解決問題。
登入百度地圖開發人員中心,註冊成開發人員。我已經註冊完成了。
大家注意到圖中這句話了嗎!!!
百度地圖Android SDK提供的所有服務是免費的,介面使用無次數限制。您需申請密鑰(key)後, 才可使用百度地圖Android SDK。
由此看來咱們的猜測是對的,是通過密鑰進行判斷,是否被允許使用百度地圖SDK。咱們看一下,密鑰是怎麼產生的,怎麼放到程式中校正的。
http://lbsyun.baidu.com/index.php?title=androidsdk/guide/key
這就是申請密鑰的整個流程,密鑰的產生主要和數位簽章(SHA1)和包名有關。
包名咱們可以在manifest檔案中找到。
由於咱們使用的是AndroidKiller的簽名檔案(原程式的也搞不到。。。),所以數位簽章(SHA1)就使用AndroidKiller的。
最後咱們把包名和數位簽章填寫好,提交之後,就產生咱們自己的應用和密鑰。
那這個密鑰應該填寫到什麼地方呢????
從開發文檔中,咱們可以看到
好,那咱們就直接找到咱們反編譯器的AndroidManifest檔案,然後使用我自己的密鑰把他原來的給替換掉。
當這一切都做完後,打包安裝,看效果,可想而知,成功了,地圖出來了。
今天的分享就到這裡,如果大家覺得不錯的話,記得打賞呦。
歡迎大家支援我的公眾號:
逆向某停車app(原創)