亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > iOS > 正文

揭開iOS逆向解密的神秘面紗

2019-10-21 18:41:02
字體:
來源:轉載
供稿:網友

前言

學習和了解逆向工程,可以幫助我們分析競品和自己喜歡的APP的開發架構和某些功能的大體實現思路,也可以自己手動對其它APP大刀闊斧進行二次加工,滿足自己的需求。 學習iOS逆向一段時間了,這里簡單做個總結,揭開iOS逆向的神秘面紗。

Mac遠程登錄iPhone

iOS和Mac OS X都是基于Darwin(蘋果的一個基于Unix的開源系統內核),所以iOS中同樣支持終端的命令行操作。

在逆向工程中,我們經常會通過命令行來操縱iPhone。為了能夠讓Mac終端中的命令行能作用在iPhone上,我們得讓Mac和iPhone建立連接。連接有兩種方式:wifi連接和usb連接。

先在越獄軟件上安裝ssh插件OpenSSH ,命令行下和應用交互的插件Cycript
讓越獄手機和mac電腦在同一個局域網下(為了能夠通過ssh服務從mac電腦訪問手機)
在mac的命令行終端 通過ssh服務登錄手機 輸入ssh root@手機ip。默認情況下的root密碼是alpine。root密碼可以自己修改。
然后在手機上運行程序,在mac終端上利用ps -A 查看手機當前運行的進程,找到進程id后便可以利用cycript進行一些列操作。例如:進入當前運行著的微信進程的cycript狀態cycript -p WeChat

采用wifi連接有時候會出現卡頓延遲的現象,所以我通常采用usb連接。

Mac上有個服務程序usbmuxd(它會開機自動啟動),可以將Mac的數據通過USB傳輸到iPhone
我使用了兩個腳本進行登錄:

  • python ~/iOS/tcprelay.py -t 22:10010進行端口的映射
  • ssh -p 10010 root@localhost usb的登錄

Cycript的使用

Cycript是Objective-C++、ES6(JavaScript)、Java等語法的混合物,可以用來探索、修改、調試正在運行的Mac/iOS APP。官網:http://www.cycript.org

比如一些簡單的使用:

// 微信進程cycript -p WeChat// 獲得沙盒路徑NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES)[0]// 打印當前頁面view的層級UIApp.keyWindow.recursiveDescription().toString()

主要搭配Reveal使用,從Reveal中獲得某個界面或者view所屬的類或控制器,然后拿到該類或控制器利用cycript進行調試。比如,知道了一個view對應的類為testView,想把該view從當前界面移除,達到不顯示的效果:

[testView removeFromSuperview];

代碼Hook分析

如果要逆向App的某個功能少不了代碼的分析。

1.通過上面的分析,找到某個view對應的類后,就需要導出該類對應的頭文件進行具體的分析了。

2.首先找到App的二進制文件(Mach-O類型),(使用iFunBox把該文件導出到Mac上)然后使用class-dump工具導出其中的所有頭文件,這些頭文件中可以看到其中的屬性和方法。class-dump -H Mach-O文件路徑 -o 頭文件存放目錄

3.如果要查看Mach-O文件完整信息,建議用MachOView。otool -l打印所有的 Load Commands,建議搭配grep進行正則過濾。otool -L 可以查看使用的庫文件。

4.頭文件分析完畢后,就可以利用theos進行越越代碼的開發了,編譯生成Tweak插件(deb格式)。

利用nic.pl指令,選擇iphone/tweak,創建一個tweak工程。
在這個tweak工程中編輯Tweak.xm文件,編寫自己的越獄代碼。
開發完成后利用make package打包和make install安裝到手機。重啟應用,你會發現對應的功能已經根據hook的代碼改變了。
原理:iOS在越獄后,會默認安裝一個名叫mobilesubstrate的動態庫,它的作用是提供一個系統級的入侵管道,所有的tweak都可以依賴它來進行開發。在目標程序啟動時根據規則把指定目錄的第三方的動態庫加載進去,第三方的動態庫也就是我們寫的破解程序,從而達到修改內存中代碼邏輯的目的。

5.有時候想看某個類中的某個方法的實現以及調用邏輯,就需要用到Hopper Disassembler工具。

theos的常用語法

  • %hook ,%end : hook一個類的開始和結束
  • %log:打印方法調用詳情
  • HBDebugLog:跟NSLog類似
  • %new:添加一個新的方法的時候使用
  • %orig:函數原來的代碼邏輯
  • %ctor:在加載動態庫時調用
  • logify.pl:可以將一個頭文件快速轉換成已經包含打印信息的xm文件
  • 如果有額外的資源文件(比如圖片),放到項目的layout文件夾中,對應著手機的根路徑/

砸殼(脫殼)

如果使用越獄手機直接從pp助手下載下來的部分應用免去了我們自己脫殼的過程。但是如果是從App Store下載下來的應用,App Store已經為該應用進行了加密,再使用class-dump是無法導出頭文件的,這是時候就需要對APP進行脫殼操作了。

脫殼工具有兩種,Clutch 和 dumpdecrypted

Clutch :

在Mac終端登陸到iPhone后,利用Clutch脫殼
Clutch -i 列舉手機中已安裝的應用中加密的應用。
Clutch -d 應用bundleid 對加密的應用脫殼,脫殼成功后會生產新的Match-O文件。對這個新的文件進行class-dump操作即可。

有時候使用Clutch脫殼,會出現失敗的情況,比如脫殼微信的時候就會出現錯誤。這個時候就需要使用dumpdecrypted:

終端進入dumpdecrypted.dylib所在的目錄 var/root
使用環境變量 DYLD_INSERT_LIBRARIES 將 dylib 注入到需要脫殼的可執行文件(可執行文件路徑可以通過ps -A查看獲?。?br /> 執行命令 DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib 可執行文件路徑 即可完成脫殼操作。

結語

了解以上逆向的流程后,你可以實現一些有趣的功能,比如:視頻客戶端去廣告,修改微信運動步數,防止微信消息測回,微信自動搶紅包等功能。同時,也會在自己客戶端的開發過程中更注重信息的安全保護。研究逆向,一定要善于利用各種工具,并且做好不斷失敗的準備,愈挫愈勇,終會成功。

好了,以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。


注:相關教程知識閱讀請移步到IOS開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
中文字幕一区二区三区电影| 91超碰中文字幕久久精品| 日韩欧美在线视频| 亚洲视频在线观看网站| 欧美国产日韩中文字幕在线| 日韩**中文字幕毛片| 久久久久99精品久久久久| 欧美大片第1页| 久久电影一区二区| 亚洲a在线播放| 国产成人精品综合| 狠狠躁天天躁日日躁欧美| 久热在线中文字幕色999舞| 最近更新的2019中文字幕| 中文字幕精品网| 亚洲精品在线看| 久久精品视频网站| 精品调教chinesegay| 色av中文字幕一区| 亚洲国产又黄又爽女人高潮的| 久久91精品国产91久久跳| 欧美日韩成人网| 国产精品第一页在线| 欧美视频一区二区三区…| 久久精品2019中文字幕| 成人性生交大片免费看小说| 久久久久这里只有精品| 欧美黑人xxx| 国产精品美女午夜av| 欧美亚洲一级片| 欧美成人免费一级人片100| 成人免费在线视频网址| 国产精品丝袜高跟| 美女精品视频一区| 亚洲综合中文字幕在线| 永久免费毛片在线播放不卡| 亚洲精品视频中文字幕| 亚洲精品久久久久久久久| 国产精品日日摸夜夜添夜夜av| 最近中文字幕mv在线一区二区三区四区| 欧美日韩国内自拍| 久久久久久91香蕉国产| 国产日韩精品综合网站| 午夜精品福利视频| 色综合久综合久久综合久鬼88| 亚洲综合日韩在线| 高清一区二区三区日本久| 午夜精品久久久久久久久久久久久| 日韩欧美在线视频日韩欧美在线视频| 欧美洲成人男女午夜视频| 国内精品久久久久久中文字幕| 欧美视频裸体精品| 亚洲欧洲日韩国产| 日韩av第一页| 一本大道久久加勒比香蕉| 欧美第一淫aaasss性| 午夜精品福利在线观看| www.国产精品一二区| 成人激情在线播放| 国产精品免费一区| 国产欧美精品一区二区三区-老狼| 国产精品视频在线播放| 国产美女扒开尿口久久久| 国产精品一区二区性色av| 欧美精品久久久久| 亚洲男女自偷自拍图片另类| 欧美一级淫片丝袜脚交| 国产成人精品免高潮在线观看| 久久久久久久久综合| 亚洲最大在线视频| 日韩av一区二区在线| 亚洲xxx视频| 亚洲97在线观看| 欧美成人免费观看| 色无极影院亚洲| 日韩精品欧美国产精品忘忧草| 26uuu日韩精品一区二区| 国产69精品久久久| 97精品在线观看| 亚洲自拍欧美色图| 色综合久综合久久综合久鬼88| 亚洲欧美日韩国产中文专区| 国产欧美精品一区二区三区-老狼| 欧美超级免费视 在线| 亚洲国产欧美一区二区丝袜黑人| 亚洲黄色片网站| 日本精品久久久| 亚洲国产私拍精品国模在线观看| 亚洲free性xxxx护士hd| 国产一区二中文字幕在线看| 91麻豆桃色免费看| 中文字幕亚洲天堂| 91在线免费视频| 91色精品视频在线| 国产精品爽爽爽爽爽爽在线观看| 色琪琪综合男人的天堂aⅴ视频| 国产精品美女久久| 亚洲国产精品免费| 久久免费视频在线| 日日狠狠久久偷偷四色综合免费| 久久久精品欧美| 日本高清视频精品| 色综合久久久888| 欧美三级欧美成人高清www| 国产精品27p| 中文字幕成人精品久久不卡| 亚洲热线99精品视频| 91精品视频在线看| 久久天天躁狠狠躁夜夜躁2014| 欧美大片网站在线观看| 日韩精品免费在线播放| 久久久久久久久国产| 欧美国产极速在线| 国产日产久久高清欧美一区| 亚洲欧美精品一区二区| 久久久久在线观看| 97精品一区二区视频在线观看| 亚洲毛片在线观看| 欧美精品999| 欧美一区二区三区图| 91精品国产一区| 日韩福利伦理影院免费| 亚洲精品国精品久久99热| 78m国产成人精品视频| 国产一区二区三区在线观看网站| 久久精品国亚洲| 欧美视频在线观看免费| 国产精品美女视频网站| 色黄久久久久久| 午夜精品美女自拍福到在线| 亚洲欧美国产精品久久久久久久| 欧美在线观看日本一区| 国产成人精品优优av| 欧美激情乱人伦| 国产v综合v亚洲欧美久久| 中文字幕欧美视频在线| 日韩电影中文字幕av| 91久久精品美女高潮| 人人爽久久涩噜噜噜网站| 久久影视三级福利片| 亚洲天堂免费观看| 91精品久久久久久久久不口人| 国产亚洲一区二区精品| 国产精品久久久久久久久久久不卡| 国产91精品久久久久久久| 岛国视频午夜一区免费在线观看| 欧美日韩国产成人高清视频| 精品久久久999| 精品成人在线视频| 国产91精品久久久久| 欧美黄色免费网站| 亚洲欧美国产高清va在线播| 久久久爽爽爽美女图片| 欧美性猛交xxx| 69av在线视频| 日韩成人av一区| 国产精品欧美激情在线播放| 国产精品极品在线| 91tv亚洲精品香蕉国产一区7ujn| 欧美日韩一区二区三区在线免费观看| 色噜噜狠狠狠综合曰曰曰| 成人黄在线观看| 亚洲国产三级网| 国产精品丝袜一区二区三区|