因為我沒有在蘋果審查小組工作過,以下只是我猜測的三種方式:
1)otool -l
將應用程式的名單鏈結到所有的庫中,清楚您不應該使用的,像iokit和webkit就可以通過這個庫可以檢測出來。
2)nm -u
3)objective-c選擇器位置,或者串
由於選擇器是你的資訊的單獨類,所以即使您的自定義類的定義setorientation:uidevice無關,這將會是被拒絕的可能性。
你還可以使用erica sadun』s apikit去檢測是否由於(誤報)潛在拒絕私有api。
(如果你是真的想要這些檢查的解決辦法,你可以使用執行庫等功能:
去得到私有庫、類、方法和ivars。)
我猜想他們正在試圖匯入所有二進位制符號(毫無疑問,他們會很容易獲得符號表中的資訊),並且將這些符號建立在自己的「私有api列表」中。所以事實上,實現自動化,其實很簡單。
乙個可執行檔案不完全是乙個黑盒子。如果你呼叫了乙個庫,它會很容易的發現。這就是我為什麼感嘆現代cs教育的組合語言的損失。
比方說你想要使用一些私有api;objective c允許你從乙個字串構造任何的sel:
sel my_sel = nsselectorfromstring([nsstring stringwithformat:\ @"%@%@%@", "se","tor","ientation:"]); [uidevice performselector:my_sel ...];
如何能讓機械人或者庫趕上掃瞄?他們將不得不使用一些私人訪問時執行監視的工具。即使他們構造這樣乙個執行工具,但是它還是很難趕上,因為這個呼叫可能隱藏在一些很少行駛的路徑中。
即使你是靜態鏈結,最壞也就是,他們從他們的私有api名單中抽取樣本**,對他們的二進位制進行搜尋(相對來說容易實現自動化)。
Apple如何知道你用私有API?
1.kennytm 因為我沒有在蘋果審查小組工作過,以下只是我猜測的三種方式 1 otool l 將應用程式的名單鏈結到所有的庫中,清楚您不應該使用的,像iokit和webkit就可以通過這個庫可以檢測出來。2 nm u 列出所有的應用程式鏈結符號。你可以檢測到 3 objective c選擇器位置...
Apple 如何知道你使用了私有API
寫在開頭 ios開發者 群532084214 給大家提供乙個交流技術 也可以聊天打屁的平台 otool l 這個工具可以清晰的列出你鏈結所有的庫 像io.kit是不允許使用的 nm u 這個工具可以清晰的列出你所有鏈結符號 如 c方法 oc方法 檢查所有selecter的字串 occlass sel...
你所不知道的Apple 產品篇
編輯 jin emma 專欄 九章演算法 說起蘋果公司,我們最先想到的就是它的產品了。然而,關於蘋果產品,可不僅僅是我們市面上所見到的那些,先後還出現過不少有意思的設計。一起來了解一下吧 當時發布的時候這個裝置大概價值2100美元,考慮到通貨膨脹等因素,相當於目前的3500美元。mac tv 並沒有...