教你如何反編譯app,拿到加密方式

來源:互聯網
上載者:User

標籤:rms   驗證碼   黑蘋果   md5加密   1.2   ice   好運   shift   rsa演算法   

大家知道app 有安卓和ios安卓是apk 現在基本上apk都是經過加密的 想動態脫殼沒一定的技術是搞不定的IOS是ipa 今天我主要講的是這個 準備好反編譯裝置1.一套越獄的ios手機 我的裝置是iphone6 ios8.3 已越獄2.一個mac系統 可以是vmware上的mac 黑蘋果 或者直接用自己的mac電腦 我為了方便就用了黑蘋果(如何搞黑蘋果可以看我之前發表的部落格) 給大家看下我的環境吧:  準備反編譯環境1. 越獄手機上1.1 Cydia上面安裝 OpenSSH 安裝成功後 可以remote到你的手機 預設的密碼是 alpine 1.2 github上下載clutch然後放置在手機的 bin目錄下(可以使用Itools工具)解釋一下這個工具是幹什麼的:如果app是直接從appstore下載的話 預設會被加密的 那麼你用反編譯工具IDA(下面會說到)的話就不行。得用這個工具解密產生一個ipa2. mac機器上面準備好 LLDB Remote Debug 環境 (lldb是什麼具體可以搜尋Google)2.1 配置Debug Server從 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/ DeviceSupport/7.0.3\ \(11B508\)/DeveloperDiskImage.dmg 獲得debugserver 然後複製到案頭(中間的那個 DeviceSupport 可以根據具體路徑替換)    2.2 光有這個不行 還得弄下籤名建立一個 檔案叫 Entitlements.plist 然後用 xcode開啟進行編輯寫入 輸入命令 codesign -s - --entitlements entitlements.plist -f debugserver 之後 把這個 debugserver 傳回 手機裝置 的 /usr/bin/debugserver (可以使用Itools工具)  3. windows系統上安裝反編譯利器IDA工具,大家可以百度搜破解版  反編譯實驗開始在mac系統上 ssh串連 手機裝置 如果你的app是從appstore上下載的那麼請先用clutch解密 【我這裡就舉了一個Discord程式的例子】1 用clutch -i 命理 找到你安裝的app的編號2 用clutch -d 2命令進行解密操作 由於某頭條我是從越獄版本Itools上下載的 本身就已經解密過了 所以不需要上面的操作我直接用Itools匯出ipa包 開啟 Fiddler 進行抓包分析(如何配置手機代理請自行百度了)開啟app的註冊頁面這裡有一個擷取驗證碼的圖片的請求請求的url裡面有一個sign參數 一看就知道這個是md5加密接下來我們就是要拿到這個md5是如何產生的用IDA開啟ipa包(第一次開啟需要花點時間)按SHift+F12開啟 搜尋String關鍵字 "sign" 雙擊進入繼續雙擊進入 Function按 F5這裡我們可以得知 加密的類叫 BFCrytor 裡面有一個 MD5方法在Function列表搜尋一下 果然有好了 已經成功找到了 加密md5的類和方法名稱了 接下來開始最重要的步驟了 要根據 類和方法名稱找到 程式啟動並執行 記憶體位址 然後對這個記憶體位址進行下斷點 1.把ipa包copy到mac系統裡面 然後 用 Class-DumpXApp -H -A -S -oheaders/ dump出來的標頭檔裡面標記了 IMP 的地址 輸入到 header檔案夾在該檔案夾搜尋剛剛我們找到的類名稱 BFCryptor 用Xcode開啟 記錄下這個記憶體位址 0x0000000100241e30 lldb 掛載用 px -a 命令找到 app 啟動並執行 id然後用命令執行掛載 執行完後 發現app被卡主了 一切都靜止了 再開啟另外一個bash 執行本地命令> lldb> platform select remote-ios> process connect connect://iOSIP:8888過一會兒就會看到下面這個就代表掛載成功 擷取 ASLR 位移量   那麼 斷線的記憶體位址 的演算法 就是 基址 + 位移量也就是md5 方法的記憶體位址 = 0x00000000000fc000 + 0x0000000100241e30用下面的命令進行下斷點 斷點下完後 執行 c 命令 讓 app 跑起來 觸發一個網路請求 就會發現 斷點停下來的用 po 命令列印參數 發現 arg3就是我們md5加密前的資料接下來 就寫一個類比請求實驗一下  請求成功了!!!!! 總結:這篇文章給大家講了 如何配置反編譯環境反編譯一個app 拿到加密方式的一般步驟是怎樣的。md5的方式還是比較簡單的,用rsa演算法加密(例如國壽app,12306app等)的就比較難。但是方法都是一樣的。祝大家好運!

 

教你如何反編譯app,拿到加密方式

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.