前言
額,端午期間偶然下載了一款遊戲 'FC時代',它是一款相似遊戲模擬器同樣的應用,裏邊提供了遊戲應用商店,能夠下載,遊戲仍是蠻多的。大部分都是童年時代小霸王遊戲,都是童年的回憶啊。html
這些遊戲畫面,音質模擬的很是像之前小霸王插卡遊戲,甚至之前動不動碰一下卡死機,這種現象也模擬出來了,玩着有時候會卡死。。。及時存檔吧。。。git
就這樣玩了玩,可是發現不充錢只能玩一個遊戲。在玩第二個時候就出現彈框讓去充錢,不充錢就不讓玩。錢不是不少,查了查,貼吧有人說充錢了還玩不了。github
忽然有了個想法破解它!sass
所以有了這兩篇教程,這篇打算先介紹逆向開發工具的使用。支持非越獄機器安裝。下篇教程打算介紹下這款遊戲的破解。app
工具
IPASearch
- 功能:
一款用來下載pp助手等脫過殼的ipa文件。
脫殼:正常appStore下載的ipa文件是有外殼的,外殼就是一種加密方式將app的可執行文件進行混淆加密等。pp助手等是脫過殼的ipa,方便逆向開發
下載地址
- 使用:
使用很簡單按照gitHub上的提示下載ipa便可
- 注意:下載完成後必定要將文件名字改爲app.ipa,否則後續過程會報錯。
IPAPatch
-
功能:
能夠用來代碼注入,hook原app,支持真機聯調等。工具
-
配置:開發工具
- 將下載的工程文件中Assets目錄下放入pp助手上下載的app.ipa文件(命名改寫成app.ipa)
- 考慮是否用Reveal功能,若是用就在IPAPatch-master/Assets/Frameworks路徑下放入RevealServer.framework(可選,framework的獲取看下邊Reveal部分)
- 打開工程,修改options.plist文件中的RESTORE_SYMBOLS值爲NO
- 將target -> IPAPatchFramework中的compileSources中的IPAPatchEntry.m文件移至最後一位置
- 修改bundleId,選擇一個能夠在真機神運行的證書,開始run。
- 經過後添加JRSwizzle三方類,在IPAPatchFramework中的compileSources中添加這個三方類,以後開始編寫hook代碼。
-
使用:
將上面下載的ipa文件放到IPAPatch-master/Assets路徑下便可。
下載地址加密
Reveal
- 功能: 能夠方便查看要逆向的app的圖層,支持wifi,數據線兩種方式,也就是咱們可手機和電腦不連接數據線也能夠查看該app的圖層。
- 配置: 首先安裝應用到mac,而後顯示包內容Contents/SharedSupport/tvOS-Libraries/RevealServer.framework將這個framework複製一份粘貼到IPAPatch工程中的IPAPatch-master/Assets/Frameworks路徑下便可
- 使用:只要當前要逆向的app中已經加入了RevealServer.framework,而且已經打開了這個app那麼打開mac端的Reveal這款軟件便可查看圖層。 下載地址:
完成以上步驟便可運行app,選擇一個能夠在真機運行的證書,運行試試看吧。查看圖層等,隨意查看三方app。翻譯
hopper disassembler
- 功能:
一款強大的將機器碼翻譯成彙編並附帶oc僞代碼。經過分析這些彙編僞代碼來慢慢的逆向app。
- 加載ipa:
打開軟件。將以前的app.ipa文件複製一份,將副本後綴改爲.zip在解壓出來文件夾。將app文件夾打開查找Payload文件夾,下邊就是無後綴的app將這個文件複製粘貼到桌面備用,而後將副本拖動到hopper disassembler界面中,一路點擊肯定便可。
- 使用:
左側有搜索欄能夠搜索方法,類名等。點擊方法後能夠在右側看到具體的機器碼以及彙編等僞代碼。點擊上邊的if(b) f(x);按鈕便可分析僞代碼。點擊的時候有可能頂部出現黃條警報,這是由於該軟件還沒處理完機器碼,等等就行了。
下載地址htm
總結
利用這種辦法不只能夠查看別人app的圖層,僞代碼,分析。還能夠進行應用雙開,多開,改個bundleID的事。