移動安全/app逆向學到自閉(1) -- 開篇簡介

引言 

 

現在是數據爲王的時代,很多平臺,不管國內還是國外都有各種防護,保護自己的數據,所以你會發現,最近幾年,要用個東西,要查個東西,變得越來越不再依賴百度之類的搜索引擎了,爲什麼?

 

因爲很多平臺已經越來越封閉,不再或者很少給搜索引擎提供搜索功能了,再加上現在手機是人手一部的時代,未來還會更氾濫,那麼各大平臺,各大公司都是希望的讓用戶停留在自己平臺的時間多一點,而用電腦的人反而變少或者變得有需要的時候纔會用電腦了,比如玩3A大作,那必須得用電腦,除了手機上不能實現或者實在不方便操作意外,其他的電腦能完成的,手機也能完成。

 

 

所以,大勢所趨,各大平臺也開始主推移動端平臺,不管是app還是m端(也叫h5,手機端的網頁版),或者說小程序,都算是移動端了,而且很多必要的環節裏也必須要手機操作纔行,比如你在淘寶買個東西,你本來一直是在電腦上看的,你看好以後,到最後付款的時候,你還是把你的手機掏了出來掃碼支付,而電腦端的平臺反而成了展示爲主,不再是主力業務,相信你一定遇到過,打開某平臺的電腦端網站,用着用着你就被限制了,提示讓你下載app才能使用,或者有些平臺的電腦端網站就是個app下載頁面,而不是數據展示頁面或者功能頁面了,你必須要下載他家的app你才能使用了,所以web端正在被app逐漸的替代

 

所以,這樣的結果就導致,可能3年,5年以後,web端會更少,那麼我們爬蟲工程師,到目前爲止,很大部分的工作內容和工作經驗都是針對web端的爬取的,包括我也是,然後如果你是最近正在找工作的,你絕對看到過有些公司的招聘要求是能搞app端的數據了

 

 

行業走勢啊,沒辦法,作爲爬蟲工程師,你現在不得不跟着學app的爬取,不然你就會被淘汰,再不然你就轉行吧,這個問題其實我在我之前的博客裏有提過,但是最近是真的越發的體會到這種行情了,而我們從爬蟲過渡到app,首先java或者object-c/swift肯定就不會的,而市面上的安卓應用基本都是java寫的,ios端的是用object-c/swift寫的,以後的鴻蒙,也說不定會多一種逆向方向,這方面,我們肯定是不能跟做安卓和ios正向開發了好幾年的人比的,那麼只有惡補這方面的知識了。

 

 

爲什麼要做app逆向

 

假如現在你正在分析某app的接口,你突然的發現,以前的那套流程走不下去了,爲什麼?你發現接口抓不到了,因爲app端有ssl證書檢測,你也許過證書驗證就花了好多時間研究,是不走代理呢?還是用的自己那一套協議呢?比如微信用的mmtls,還是有雙向證書認證呢?摳出證書文件,也許這個證書還有密碼,花了半天,把密碼找到,導入到抓包工具開始繼續抓包,這一關就算過了,接口裏面多了個sign加密參數,如果是web端的話,那還可以搞搞js逆向,但是這是app啊,你怎麼搞?只有逆向了,你要找出app源碼裏面的sign生成的方法在哪,現在主流的app都有加固,那麼首先你得會脫殼吧,脫殼分了工具脫殼和手動脫殼,那工具脫殼你選用哪些呢?是dumpdex還是fdex2,還是fart,還是youpak呢?而且現在國內做加固的平臺那麼多,不同的加固平臺有不同的加固方法,也就有不同的脫殼方法,你這方面至少得惡補下吧,手動脫殼,那彙編,寄存器啥的,得有個大概熟悉吧,搞完脫殼,拿到源碼的dex,你發現裏面的代碼是混淆過的,那麼你得解混淆吧,怎麼解,用jeb,還是jadx,還是什麼呢?最後你解完混淆,你還是沒找到在哪裏,那麼你得作調試吧,firda,objecttion這些工具得會用吧,hook得會用吧,找到那段關鍵代碼時,你摳出來,準備用python代碼實現,然後你發現還是不行,那把那段代碼轉爲class,再轉jar包,用python庫調用jar得結果,結果還是不行,那你得修改或者註釋源碼裏面的代碼吧,在哪裏修改,哪裏註釋,源碼dex是smail語言,你得會smail吧,改完後,重打包,安卓app打包流程也需要會吧,找一個簽名生成文件,生成簽名,然後用這個簽名打包成新的app,安裝上運行的時候,你發現閃退了,那麼這個app有簽名校驗,那麼你又得回過去改smail源碼吧,最後折騰下來,你終於把這個app喫下來了。

 

這其中經歷這些,遠遠比搞一個web端的接口難很多很多倍,所以這也是一個門檻,我上面羅裏吧嗦說那麼多,都是我以前遇到過的或者看到過別人發的技術貼裏的,那麼這些東西,你不花個幾個月時間,你是真的搞不下來的,我估計很多人在抓包時遇到的證書檢測那裏就卡死了,不誇張的說,因爲我最開始搞app的時候就是,搞了半天,fiddler抓包就是抓不到,或者手機上裝了證書後,app就提示沒網之類的,再或者只能抓到靜態資源(圖片,視頻),數據接口就是抓不到。

 

 

現在爬蟲工程師一直是灰色地帶,搞app逆向,搞不好也會進去,看你怎麼選擇,移動安全這塊,以後大概率是個大頭,你學起來的時候,你會發現,app端有好多騷操作,是你web端可能搞一輩子都遇不到的,這也是它吸引我的地方,有時候看到別人的技術貼分析過程時,那種看到奇思妙想的時候,不自覺的起雞皮疙瘩那種感覺,可能懂的人才能懂了。而且,像什麼風控,app端的風控可能更成熟點,對這種感興趣的,你搞起來絕對不無聊,老帶勁了。

 

當然不是說web端就沒意思了,我其實js逆向和app逆向也都在研究,什麼某數,某美,某驗啥的,jsdom,wasm啥的,js平坦流,ast啥的也在研究,這個估計也是目前web端的天花板了,有很多東西確實值得研究的,所以,js逆向部分我也會跟着一起更新的。

 

 

不是在販賣焦慮,懂的自然懂

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章