[九九Tips]-iOS反編譯獲取線上APP的素材圖片

weixin_34019929發表於2017-05-04

[九九Tips]- http://www.jianshu.com/users/bab86b3e8aa3/latest_articles

前言

iOS初學者一般都會經歷仿照出名的app進行練習的過程,本篇文章總結怎樣拿出現有APP的圖片素材,包括Assets.xcassets內的全部切圖.

有人會說,拿到.ipa包,右鍵顯示包內容,就有圖片了,但這種方法拿到的圖片只是專案配置的圖片,包括一些啟動圖片和icon之類的,卻無法拿到Assets.xcassets資料夾內部的切圖.想要完整的拿到圖片,就要好好閱讀以下內容啦~~

第一步,拿到你要仿的app部分配置圖片

我拿自己的專案為例,開啟iTunes,在App Stores目錄中搜尋你要拿到圖片的APP名稱.我要拿到"口袋會計"的圖片,如圖一;

2423912-790d1f8b521b4776.png
圖1 拿到APP.png

點選獲取,等待下載完成以後,在資料庫找到剛剛下載的內容,右鍵"在Finder中顯示",如圖2;

2423912-60988d87851c823e.png
圖2 顯示檔案.png

如圖3,顯示出ipa的安裝包以後,不要立刻開啟,右鍵,選擇歸檔實用工具(圖4);

2423912-341df6e9ade7e4be.png
圖3 ipa安裝包.png
2423912-3431f05ffacc7c73.png
圖4 開啟方式.png

下一步出現一個APP同名資料夾,在PayLoad資料夾下找到一個檔案(圖5),右鍵顯示包內容.即可獲取部分圖片資源(圖6).此時拿到的圖片是有限的,有些是啟動圖片和APPIcon,還有些網路圖片等.要想獲取Assets.xcassets資料夾中的詳細切圖,還需要往下看~~

2423912-2d2d58e1328096fe.png
圖5 顯示包內容.png
2423912-44802f19cdd35421.png
圖6 獲取圖片.png

第二步,拿到Assets.xcassets資料夾內部的切圖(解壓Assets.car)

在剛剛的圖片檔案中,找到Assets.car.

  • 當開發者使用Image Assets管理圖片資源後,我們下載App解包後無法看到原始的圖片,所有的圖片都被儲存在Assets.car檔案中。
2423912-5b02d15b82b8bc33.png
圖7 assets.png

在github上有個開源工具cartool,用於解壓Assets.car.地址https://github.com/steventroughtonsmith/cartool下載demo後用Xcode執行一次.編譯後自動生成可執行檔案(在工程目錄下的product資料夾中,見圖8.)

2423912-95780551855ba102.png
圖8 可執行檔案.png

拿到cartool後,右鍵showInFinder找到檔案路徑

  • 在控制檯輸入命令
>命令格式: cartool路徑  “待解壓的檔案路徑” “解壓後的檔案路徑”

例如:

cartool 路徑 /Users/vivian/Desktop/Assets.car    /Users/vivian/Desktop/解壓後的圖片
  • 解壓的過程實際上就是執行命令: cartool檔案路徑 然後拼接上 “待解壓的檔案路徑” “解壓後的檔案路徑” .
  • 路徑檢查無誤,點選回車,所有圖片就都解壓好啦~

-----------------補充一下獲取cartool路徑的捷徑------------

其實就是簡單粗暴地執行3個拖拽.

  • 1.將cartool整個檔案拖進控制檯(圖9)

  • 2.將Assets.car拖進控制檯

  • 3.解壓後的存放資料夾拖到控制檯

  • 例: 解壓口袋會計:


    2423912-362b94e5cb94be72.png
    圖9-1獲取cartool路徑.png
2423912-180fc4e9d25ec4da.png
圖9-2待解壓檔案路徑.png
2423912-815a20bc661a9abc.png
圖9-3 解壓後檔案路徑.png

這篇文章搜了很多資料總結的,過程並不是一帆風順,走了許多彎路,才寫下這篇小結,希望我總結的清晰明瞭,對讀者有幫助.多如有疑問,歡迎留言交流,大家一起進步~~

相關文章