国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

來,教你如何破解一個 iOS APP

安全 移動安全 移動開發
開發者的日常是用一段段代碼寫出一個個軟件,實現各種功能。他們的日常則是把一個個完整的軟件逆推,還原成一段段代碼。他們,就是傳說中的“逆向工程師”。

今天給大家來一個硬知識科普。

黑客中有一類人,注定跟程序開發者是“死對頭”,是宿敵。

來,教你如何破解一個 iOS APP

他們總跟開發者對著干:

開發者的日常是用一段段代碼寫出一個個軟件,實現各種功能。

他們的日常則是把一個個完整的軟件逆推,還原成一段段代碼。

他們,就是傳說中的“逆向工程師”。

假如讓你鑰匙撬開一把鎖,你或許感到無從下手,但如果這把鎖的外殼完全透明的,內部結構清晰可見,你便會覺得容易了許多。

在賽博世界里,逆向工程就有這種看穿一個物體的本領。

來,教你如何破解一個 iOS APP

給他們一個手機APP、電腦程序,用不了多久,就能逆推出程序的運行邏輯,找到里頭的關鍵代碼,篡改、破解、發現漏洞。

人們把這種技術叫做“逆向工程”。我們在網上看到的各種破解軟件,多半都跟逆向工程有關。

然鵝,

逆向的江湖有正亦有邪。

正義的逆向者只是做安全研究,而那些邪惡的逆向者卻拿著這項技能四處干壞事牟利。

比如盜版軟件。開發者們累死累活才寫好的程序,分分鐘就被人逆向破解,植入廣告和木馬,重新打包成盜版。拼多多變成拼夕夕,一款軟件多出好幾十個遠方表親。 

來,教你如何破解一個 iOS APP

(網曝各種山寨的彩票軟件)

再比如有朋友總搶不到群紅包,懷疑有人用了外掛,其實所謂的“搶紅包外掛”就是有人逆向破解了微信APP,在里頭添加了自動領紅包的代碼。 

來,教你如何破解一個 iOS APP

(網上流傳的破解軟件)

對于那些跟錢打交道的金融類APP,逆向破解更是噩夢,一旦APP被逆向,就很容易面臨巨額損失。

最近我撩到一位逆向技術大牛,聊了聊手機APP的破解與反破解,今天與諸位淺友分享一下。

話說,這位大牛有點奇特,雖然他是個逆向技術高手,卻不去破解別人的手機應用。相反,他的日常是帶著團隊專門幫 iOS 應用開發者做反破解。

來,大家認識一下這位新朋友,他就是通付盾的研發副總裁、 iOS 加固項目的總負責人,華保健。

[[245842]]

此人灰常厲害,他是中科大的計算機學博士,做了幾十年信息安全、系統滲透等方面的工作,2015年前后還在微軟主導過 Office 365 和 必應搜索(Bing)的研發項目,前兩年加入通付盾,負責技術研發。

話說華博士一心做技術,人比較靦腆,所以我沒能拿到他的1080P高清無碼近照,只能從他的微信頭像里扣下一張AV畫質的照片。關于他的技術故事,我相信非常精彩,不過來日方長,回頭再寫。

今天繼續聊破解和反破解。

1、破解一個APP的標準大路

華保健告訴我,要破解一個蘋果手機的APP,其實有一些標準套路。

第一步是脫殼。

所謂“殼”,就是原有的軟件代碼上再外包一層“殼代碼”。機器運行程序時,先運行殼代碼,這樣可以保護應用的代碼邏輯不容易暴露。

蘋果商店會給每個上架的 iOS APP 都加一層殼。

“不過,這層自帶的殼并沒什么實質性作用。”

華保健說,由于蘋果商店給全世界幾百萬個 APP 都用的同一種加殼方法,因此全世界的逆向工程師、黑客們都盯著它,老早就做出了針對這種殼的脫殼工具,開源在網上供免費下載,總之,蘋果自帶的殼分分鐘就能脫掉。

脫殼之后,第二步是反編譯。

到這一步,幺哥必須給大家先普及一個有趣的計算機知識。

各位同學請看,下圖中的兩個人是早期的程序員,他們正在檢查代碼:

[[245843]]

也不知道是誰出的主意,早期的計算機代碼就這么直接用打孔的方式記錄在長長的紙帶上。打孔代表0,沒打孔代表1,對應著電子元件的開閉狀態,以此控制機器運行。

這種原始的代碼記錄方式叫“機器碼”,是一種二進制編碼。

[[245844]]

相信你已經發現,這種代碼記錄方式用起來非常麻煩。

據說,當時要編寫一個程序,光是打孔就得幾天幾夜,還容易出錯,程序員們不僅每天都在打孔、改錯,還得記住一堆 0101010 這樣長長的代碼。

后來有人發明了一種匯編語言,這才開始用英文字符來替代一串串的二進制字符。

從此,像1000100111011000 這樣的代碼就可以用“mov ax,bx”這樣的一串字母來替代,它的意思是“把b寄存器(一種機器元件)里的數據挪到a寄存器”。

來,教你如何破解一個 iOS APP

再后來,程序越來越復雜,匯編語言也不夠用,更高級的語言就誕生了。比如 C、C++、Java、Python、PHP、Rust、Nodejs 等等……

從此,程序員圈子里便有了“誰才是世界上最好的編程語言之爭”……

來,教你如何破解一個 iOS APP

所以,當今程序世界里的規則是這樣的:

程序員們先用高級語言寫好程序代碼,編譯器把它們編譯成機器能讀懂的機器碼用來執行。

逆向工程師的工作恰恰相反,他們直接從機器里抓取機器碼,然后反匯編成匯編語言,再反編譯成高級語言。

來,教你如何破解一個 iOS APP

到這里,恭喜你已經學會了反編譯的原理,現在我們繼續破解iOS應用。

“反編譯工具網上有很多,但大體上方法分為兩類:靜態分析和動態調試。”

華保健說,所謂“靜態分析”就是在程序不運行的狀態直接反編譯,把它從二進制的機器碼轉化成十六進制的編碼、再到匯編代碼,再到人類能直接理解的語言,一路轉化。

在這個過程中,如果對方沒有做任何防護措施,你就能直接找到并改掉里頭的關鍵信息,比如版權信息、游戲數值等等,單挑 BOSS 怒刷裝備。 

來,教你如何破解一個 iOS APP

(十六進制查看程序是這樣子,圖源自網絡)

華保健告訴我,由于反編譯涉及很多不同的語言,所以沒法把機器碼直接還原成源代碼,但是能用偽代碼的形式把源代碼的邏輯還原個七七八八。

所謂動態調試,顧名思義就是讓程序先運行起來,在里頭輸入不同的值來觀察各種組件、函數的反應,從而梳理出它們之間的關系。

如果把靜態分析比作翻譯一本外國漫畫,動態調試就是翻譯一部藍光高清有碼外國大片。

在整個過程中,逆向工程師需要反復調試,并且需要給程序打上“斷點”,隨時暫停下來慢慢欣賞,反復把玩。

來,教你如何破解一個 iOS APP

經過這兩步,一個程序的運行邏輯就被完全還原。接下來,只需要找到登錄驗證、加密、授權等關鍵部位找出漏洞,篡改掉關鍵數據,完成破解,為所欲為。

最后,再從網上買個iOS簽名,就能把代碼重新打包成一個APP,安裝在自己或別人的手機里。

來,教你如何破解一個 iOS APP

華保健:到這一步,一個iOS應用破解的流程就講完啦~ 其實破解很簡單,就三步,脫殼、反編譯、簽名打包,懂了嗎?

謝幺:懂了!~

華保健:好的,既然懂了,現在隨便找個APP去練練手吧~不如就試試破解微信吧!

謝幺:呃……這……

[[245849]]

2、如何反破解

搞懂了逆向破解的基本套路,自然也就能對癥下藥。

華保健的解決方法是,給APP做加固。

如果你玩過《植物大戰僵尸》這款游戲,就能理解“APP加固”的意義。 

來,教你如何破解一個 iOS APP

華保健告訴我,通付盾的iOS加固第一步是“環境檢測”。

他們會在 APP 的最外層布置很多探針,探針實時監測運行環境,一旦發現手機處于越獄狀態,或者發現環境中有逆向分析工具,就立即進入警戒狀態,告警提示,或者直接讓程序崩潰。

這讓我不禁腦補出一萬個土豆雷圍著代碼的樣子……

來,教你如何破解一個 iOS APP

第二步,叫威脅感知。

除了檢測運行環境,探針還會實時監測應用的運行狀態,因為一旦程序中途中止,那就說明有人設置了“程序斷點”,正在做動態調試。

第三步和第四步有些類似,分別是常量加密和符號隱藏。

代碼中有一些內容永遠是破解者的重點關注對象,比如一些名叫 password 的字符串,比如一些隱秘的URL。

為了防止破解者定位到這些關鍵位置,“常量加密”會把這些關鍵的字符都加密隱藏掉。“符號隱藏”類似,也是把一些類名、方法名、屬性名加密隱藏起來。

總之,這兩步的關鍵在于“打碼”,保護關鍵部位。

第五步是“代碼邏輯混淆”。

這個其實很好理解,我給大家做個比喻:

你想去超市買岡本卷紙杜蕾斯,但又是不想讓人知道,于是你先去買了岡本和地瓜回來,又去操場跑兩圈,再去趟超市買了卷紙和可樂,最后再去買了杜蕾斯回來。

雖然最后都買回來了岡本卷紙杜蕾斯,但是你隱藏了自己的行動目的。

來,教你如何破解一個 iOS APP

“代碼邏輯混淆”就是這樣,在清晰明了的代碼里加入各種多余的垃圾指令和代碼,把原來的邏輯拆分成各種怪癖語法,改得連親媽都不認識,從而防止破解。

“只要做完這幾步,逆向破解的難度就會大大提高,雖然從理論上來講沒有破解不了的系統,但是只要把破解成本提高到足夠高,黑客就會放棄破解,或者轉向那些更容易的目標。”

華保健說。

只要做完加固就能抗住大部分破解?

是的。

聽起來,反破解挺簡單,就那么回事。

然鵝,現實永遠比你想象得殘酷。

3、“加固是不可能加固的“

“令我頭疼的,不是扛不住逆向破解,而是開發者們都不肯用加固。”

華保健說,目前市面上只有20%左右的 iOS 應用做了加固,其中金融類的APP比例略高,但也只有50%左右,很多中小型金融機構甚至銀行的APP都沒做加固。

謝幺:納尼?既然加固這么安全,為什么大家都喜歡裸奔呢?

華保健:因為裸奔更涼快呀~

謝幺:???

華保健說,以往的加固方法雖然安全,但弊端也很明顯,這跟“衣服穿多了會顯得臃腫”是一個道理(果然是裸奔更涼快。。。 。。。 )

首先是拖慢程序性能。

就拿代碼邏輯混淆來說,原本一步能干完的活,現在非得分成好多步,為了迷惑對手還得故意磨洋工,那可不就拖慢性能了。

其次是程序體積會更大。

“一般來說,基于源碼的加固方式能讓程序增大20~30%的體積”,華保健直言,這一點很多開發者都接受不了,因為體積增大會降低用戶的下載欲望。

不過,最令開發者受不了的是加固帶來的代碼泄露風險,以及兼容性問題。

“傳統的 iOS 應用加固技術普遍采用的是源碼編譯的方式,需要開發者把程序的源代碼提交給第三方加固平臺,光這一點就讓不少開發者打退堂鼓。”

來,教你如何破解一個 iOS APP

“并且基于源碼的加固過程需要反復改動代碼,可能影響對機型、系統版本的兼容適配,導致程序閃退,影響用戶體驗。”

華保健坦言,在很長一段時間里,他不是在琢磨如何抗住更厲害的逆向破解者,而是在解決“怎么讓開發者愿意用加固” 的問題。

一開始,他們試著“戴著鐐銬跳舞”,犧牲一小部分安全性來提高性能,卻發現解決不了多少問題,并且一味地降低加固強度顯然不是個辦法。

華保健帶著團隊研究了大半年,這才想到一個新的思路。

于是他們開始借鑒安卓應用“加殼”的技術思路,直接對 iOS 應用程序的 IPA (iOS程序安裝包)進行一層專門的加殼。在此基礎上,再用底層二進制代碼從程序中抽取出關鍵部分的代碼邏輯進行混淆。

如此一來,開發者就不再需要把程序源代碼上傳給第三方加固廠商,并且由于不用對源代碼進行大量邏輯混淆和修改,加固的性能、安裝包體積、兼容性也都可以兼顧。

來,教你如何破解一個 iOS APP

按照華保健的說法,開發者把 IPA 安裝包上傳到他們的加固平臺,10分鐘就能直接加固完成。

通付盾的iOS加固具體的體驗和強度如何,幺哥其實沒來得及做詳細測試,諸位有興趣可以自己試試。

不過話說到這,我忽然發現,其實華保健遇到的“安全與體驗如何平衡”的問題,大部分安全創業者都會遇到。

來,教你如何破解一個 iOS APP

之前就遇到一個做安全創業的朋友很納悶,他說自家產品明明比競爭對手的技術更好,更安全,為什么就是干不過別的競爭對手?

最后轉了一大圈才發現,因為他的產品太難用了!我的這位朋友是個耿直的技術流,只想著一股腦把安全強度做到最高,卻忽略了一件事:安全的本質是維護業務,技術的本質是輸出實用價值。

人也好公司也好,偶爾換個視角,興許看起來像是一種妥協,但實際上也是一種以退為進。

最后再介紹一下我自己吧,我是謝幺,科技科普作者一枚,日常是把各種高大上的技術知識、黑科技講得通俗有趣。

責任編輯:未麗燕 來源: 淺黑科技
相關推薦

2022-07-26 08:14:16

注冊中心ProviderConsumer

2021-06-07 12:08:06

iOS Python API

2018-01-08 14:31:09

Electron桌面APP前端

2020-10-13 10:49:23

APPAndiroid終端

2014-07-02 10:03:42

App推廣渠道

2020-08-17 08:20:16

iOSAOP框架

2013-10-15 10:30:33

2018-08-07 09:45:17

數據庫數據庫密碼破解密碼

2020-01-11 17:00:07

DjangoPythonWeb API

2019-07-31 07:36:12

架構運維技術

2019-09-30 09:26:29

Java編程語言國旗

2013-11-01 10:23:37

Web程序

2011-08-22 14:04:52

2023-05-31 08:06:45

iOSmacOS云服務器

2024-05-16 10:59:16

Vue項目前端

2017-02-13 08:21:36

2015-09-08 10:32:21

開源項目選擇方式

2015-09-11 10:29:13

開源項目閱讀

2017-08-22 11:16:06

課程開放日2000門免費學

2023-08-09 14:43:42

應用開發ArkTS
點贊
收藏

51CTO技術棧公眾號

99精品热视频| 亚洲制服av| 国产精品一区二区久久不卡 | 在线免费看av不卡| www.国产精品一二区| 三上悠亚在线一区二区| 亚洲一区二区三区| 宅男66日本亚洲欧美视频| avtt天堂资源网| 一本到不卡精品视频在线观看| 成人看片app| 国产一区二区女| 亚洲国产欧美不卡在线观看| 97成人超碰| 成人免费黄色大片| 性色av香蕉一区二区| 日本一区高清| 欧美激情黄色片| 色综合视频一区二区三区高清| 成人在线免费观看视视频| 久蕉在线视频| www.xxx黄| 国产欧美一区二区| 黄色片免费在线| 久久www成人_看片免费不卡| 色婷婷亚洲综合| 久久精品国产综合精品| 国产激情精品一区二区三区| 亚洲国产裸拍裸体视频在线观看乱了| 国产精品无码电影在线观看| 成人黄色免费观看| 午夜视频一区二区三区| 激情伦成人综合小说| 成人涩涩视频| 欧美性猛xxx| 国产l精品国产亚洲区久久| 轻轻色免费在线视频| 久久最新视频| 欧美精品成人网| 奇米精品一区二区三区四区| 91专区在线观看| 亚洲一区二区三区四区五区午夜 | 亚洲精品少妇久久久久久 | 日韩欧美亚洲国产一区| 久久综合九色99| 日韩美女一区二区三区在线观看| 你懂得网站在线| 丁香花视频在线观看| 亚洲视频综合在线| 国产日韩精品久久| 日韩脚交footjobhd| 国产精品你懂的在线欣赏| 五月天亚洲综合情| 欧美丰满日韩| 91精品视频免费| 9l视频自拍蝌蚪9l视频成人| 欧美sm美女调教| 性色视频在线观看| 99在线免费观看视频| 亚洲调教一区| 久国内精品在线| 国产精品亚洲一区二区三区在线观看 | 久久精品国产免费看久久精品| 九九九久久国产免费| 亚洲天堂av资源在线观看| 日韩女优av电影| 性欧美videoshd高清| 国产凹凸在线观看一区二区| 免费99精品国产自在在线| av网站大全在线| 一本到三区不卡视频| 国产一二三区在线观看| 欧美中文字幕亚洲一区二区va在线 | 国产精品二三区| 亚洲爱爱爱爱爱| 在线不卡日本v二区707| 日韩欧美黄色影院| 日韩在线资源| 欧美一区二区三区思思人| 高清色视频在线观看| 一本免费视频| 性欧美1819| 久久久一本精品| 亚洲成av人片在线| 黄色国产一级视频| 国产欧美日本一区二区三区| 激情伦成人综合小说| 国产精品sss在线观看av| 成年无码av片在线| 99pao成人国产永久免费视频| 成人一区二区三区中文字幕| 国产专区一区二区| 精品欧美日韩精品| 精品国产99国产精品| 午夜影院免费播放| 91嫩草在线视频| 美女做暖暖视频免费在线观看全部网址91| 亚洲色图清纯唯美| 国产福利一区视频| 调教+趴+乳夹+国产+精品| 国产精品久久..4399| 免费看男男www网站入口在线| 另类专区欧美制服同性| 99久久精品国产一区| 欧美日韩在线免费播放| 制服丝袜国产精品| 日本三级亚洲精品| 男女免费观看在线爽爽爽视频| 精品一区久久久久久| 丝袜美腿亚洲一区| 伊人网在线免费观看| 国产精品大片wwwwww| 亚洲va在线va天堂| 国产影视精品一区二区三区| 午夜精品成人av| 日本伊人午夜精品| а√中文在线8| 鬼打鬼之黄金道士1992林正英| 亚洲欧美国产日韩中文字幕| 国产精品主播| 国产一级视频| 日韩视频在线观看免费| 精品一区二区三区免费视频| av在线app| 久久久免费观看| 国产精一区二区三区| 午夜激情在线| 成人免费在线看片| 在线观看国产精品网站| 欧美日韩另类图片| 国产成人免费电影| **欧美大码日韩| 欧美人与拘性视交免费看| 久久久久狠狠高潮亚洲精品| 久久久久久噜噜噜久久久精品| 久久久久国产精品厨房| 精品亚洲a∨一区二区三区18| 91网站免费看| 成人偷拍自拍| 青青草视频在线免费播放| 中文字幕在线中文字幕日亚韩一区| 激情视频小说图片| 黄色片在线免费看| 手机在线免费av| 国产精品久久久久永久免费看| 日韩美女福利视频| 亚洲精品视频一区二区| 国产精品福利在线观看播放| 伊人网在线免费观看| 成人午夜电影免费在线观看| 国产精品三级| 黄色一级片av| 欧美日韩成人高清| 欧美电影三区| 超碰在线人人爱| 久久视频在线视频| 国产在线看一区| 欧美va亚洲va在线观看蝴蝶网| 成人三级视频| 欧美在线性爱视频| 国产乱码一区二区三区| 男女视频在线| 精品伊人久久大线蕉色首页| 91福利在线观看| 欧美大黑bbbbbbbbb在线| 国产欧美韩日| 亚洲高清不卡在线观看| 欧美一区二区三| 国产精品一国产精品最新章节| 国产精品视频在线观看| 国产精品私拍pans大尺度在线| 亚洲电影成人av99爱色| 欧美性极品少妇精品网站| 国产欧美日韩亚州综合| 五月精品视频| 91精品综合久久久久久| 国产精品久久久久久久久免费桃花 | 日本大片在线观看| 日韩毛片在线看| 四虎在线观看| 日本一区午夜艳熟免费| 操bbb操bbb| 成人免费xx| 免播放器亚洲| 嫩草国产精品入口| 精品入口麻豆88视频| 不卡av在线网| 国产又粗又大又爽的视频| 亚洲最大福利视频| 亚洲人体一区| 一区二区传媒有限公司| 欧美一区二区三区四区高清| 午夜精品视频在线观看| 国产亚洲人成网站| 不卡的av在线播放| 影音先锋电影在线观看| 免费成人毛片| 亚洲日产国产精品| 日韩久久综合| 亚洲手机在线|