威鋒網友寫的 360 App 逆向分析結果可信么?

http://bbs.weiphone.com/read-htm-tid-3979777.html


1)各家高手反彙編提供的數據,目前我們還沒有證實。CSDN已邀請反彙編高手正在研究。

2) 調用私有API,這個是蘋果在開發者指南裡面明令禁止的。但並不是絕對不能用

比如這個案例-蘋果通知開發者調用私有API但也通過了

*Usage of such non-public API, as outlined in the iPhone Developer Program License Agreement section 3.3.1, is prohibited:

"3.3.1 Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs."

CSDN彙編了一篇文章:私有API:不能用?還是不能不用?

http://articles.csdn.net/plus/view.php?aid=311632

3)這次360下架,我和蘋果相關人員的確認,是360應用出現異常評論,導致蘋果appstore審查人員有疑問,但又無法聯繫到360的相關人員,導致全部下架。並不是調用私有API導致的。

4)這次私有API的網路曝光,可能會對中國相關應用以後都會有影響。


受邀,不會返編譯、逆向工程什麼的。但是今天早上看到了這個帖子:

帖子地址:http://bbs.weiphone.com/read-htm-tid-3985366.html

帖子內容:「這幾天關於蘋果下架360的事吵得真熱鬧。今天下午看到圈內一些人在轉威鋒網那條「獨家工程逆向」帖子,一開始也沒在意,後來看到CSDN蔣濤都轉了,然後又有個「美國矽谷工程師」也來湊熱鬧,這才進去看了一下。卧槽!公布幾了張反編譯代碼的截圖,居然就得出了一「驚人發現」,360 瀏覽器是因為調用了蘋果私有API介面而被下架的!

我雖然也不太喜歡360這麼一個多事之主,但問題是,這樣就能算找到了「驚人發現」嗎?小弟我也略做過一些蘋果App開發,不敢說精通,但忍不住還是要給被蒙得暈里八素的大家普及一下蘋果APP開發知識。實際上,那位「獨家兄」的帖子中提到的幾個API介面,很多國內外的iPad瀏覽器都在調用,主要用於瀏覽器加速,也就是上網時使網頁在瀏覽器里顯示得更快。

我隨便用個最流行的反編譯工具,逆向了幾個比較出名的國內外iPad瀏覽器,包括國內的QQ瀏覽器HD,還有國外的 iCab Mobile 瀏覽器,發現它們都調用了那位「獨家兄」的帖子中提到的私有API介面!...」

再往下就混雜圖片了,自己去看吧,我帖不了了。


ls那哥們刷票呀。

首先我要說明App 是否可以進行逆向工程,答案,是可以的。做破解的有兩個概念,一個是discompiled (反編譯),一個是rework(大概就是把反編譯的代碼再編譯回去),前者所使用的工具是可以找到,後者用的工具暫時沒有。在windows下面有一個非常著名的od。而做破解iphone,也有一個叫做IDA pro的工具,這個工具是跨平台的。從截圖上看是應該是一個windows工具。如果這個網友是一個linux開發工程師,他會有更多的工具選擇,其中有集體智慧貢獻的otool,另外一個是可能是天才17歲少年的class_dump_x。因為iphone上面的軟體是做加密並且簽名的,當然還需要一系列其它的工具。逆向工程是可以有的。

圖上的稱為disassembly。這是沒有錯的。本來看的就是彙編代碼。

因為我手頭上沒有360的app。今天本來想尋來分析一下。也許熱心網友可以提供一下。

360是否侵犯用戶隱私,得看是否有網路請求上傳用戶數據。

感謝樓下糾正


下面那個分析靠譜一點,調用非公開API的問題,蘋果是會下殺手,但是不至於這麼狠,這事我干過,蘋果最多也就是單個應用審核不通過或者下架,然後直接指出你在什麼地方,使用了什麼非公開的API,責令整改,改掉就好,像這樣整體下架而不知會原因,肯定是不會的(至少360說蘋果沒公布原因)。如果是調用非公開API的問題的話,我看不出來360為啥要遮著掩著


是否調用非公開API,這個在技術上很容易界定,而且根據樓上的說法,360貌似也已經默認了。但是調用非公開API屬於360跟蘋果之間的矛盾,跟用戶沒有關係。

另外一點,關於訪問用戶私人路徑和獲取安裝APP列表的問題,參照360、QQ管家等任何一個安全類APP的功能說明,我不認為安全軟體訪問用戶私人路徑和獲得APP列表就能與侵犯用戶隱私劃等號。真正界定用戶隱私是否被侵犯的,要具體分析360的上傳行為和數據內容。但是這個帖子無法回答這個問題。

因此,假如這個帖子是有心人所寫,個人覺得有誤導嫌疑,畢竟他的論據並不能站住腳,他卻販賣了他的觀點。並且我不認為寫得出這篇文章的人,會發現不了自己證據里的缺陷。


更新:想了一下評論,確實在 Objective-C 這種動態環境下繞過初期審查並不難。所以我先前的質疑不成立。如果原文中的 disasm 代碼屬實(這點我無法證實),那麼還是可信的。

=====================

原文稱由於 360 加密了調用 API 的字元串從而繞過 Apple 的上架審查,這點我不太相信。

  1. Apple 對於開發語言是有要求的。所以對 ABI 的調用規範也會做檢查。像加密可執行碼這類動作也會落入它的 radar 之內吧。
  2. 動態檢測一下私有 API 有沒有被調用是很簡單的事情。


我不是技術專家,但據我所知,國內絕大多數蘋果手機瀏覽器,包括QQ手機瀏覽器,都採用了非公開的API。在這方面,騰訊可能是更在行吧。(註:本人言論不代表360公司)


從社會工程學來說 黑360的人應該相對黑的應該是真的


主要還是360公司在國內樹敵眾多,本來蘋果下架APP並不算大事,結果被它的對手炒得翻天覆地。


老蔣也在上面,回應一下,我更願意相信蘋果因為隱私安全問題下架360.而且我更願意這樣鼓吹,就算錯殺360,也會 給相關行業的廠商心存忌憚。但是蘋果的反饋是否因為公關的需求,那是另外一個問題。因為隱私安全下架的處罰,對每個消費者只有好處。用中國的流氓規則去適 配我認為的美國公平安全的價值觀,出這點血本是值得的。


對反編譯不了解 ,但是從他分析出的結果看,無非就是使用了UIWebView,沒有發現文中所說的webkit似有api,文中對於訪問照片和音樂的訪問,據個人了解這些在非越獄的機器上是沒有許可權訪問的。


推薦閱讀:

安全行業的逆向工程有多難?
那些年病毒用過的損招——反調試技術
要脫掉VMP3.1的殼子需要掌握哪些知識?
閑扯ARM指令集一

TAG:逆向工程 | 奇虎360 |