<rp id="scfsb"></rp>

      1. <ol id="scfsb"></ol>
        <th id="scfsb"><pre id="scfsb"></pre></th>
        1. <tbody id="scfsb"></tbody>
          设为首页 - 加入收藏 湛江站长网 (http://www.wow-il.com)- 中小站长们必上的网站 - 聚焦湛江站长前沿资讯!
          热搜: 网站 站长之家 什么 平台
          当前位置: 首页 > 业界 > 正文

          来,教你如何破解一个 iOS APP

          发布时间:2018-10-20 12:27 所属栏目:[业界] 来源:谢幺谢幺
          导读:副标题#e# 【新产品上线啦】51CTO播客,随时随地,碎片化学习 今天给大家来一个硬知识科普。 黑客中有一类人,注定跟程序开发者是死对头,是宿敌。 他们总跟开发者对着干: 开发者的日常是用一段段代码写出一个个软件,实现各种功能。 他们的日常则是把一个
          【新产品上线啦】51CTO播客,随时随地,碎片化学习

          今天给大家来一个硬知识科普。

          黑客中有一类人,注定跟程序开发者是“死对头”,是宿敌。

          来,教你如何破解一个 iOS APP

          他们总跟开发者对着干:

          开发者的日常是用一段段代码写出一个个软件,实现各种功能。

          他们的日常则是把一个个完整的软件逆推,还原成一段段代码。

          他们,就是传说中的“逆向工程师”。

          假如让你钥匙撬开一把锁,你或许感到无从下手,但如果这把锁的外壳完全透明的,内部结构清晰可见,你便会觉得容易了许多。

          在赛博世界里,逆向工程就有这种看穿一个物体的本领。

          来,教你如何破解一个 iOS APP

          给他们一个手机APP、电脑程序,用不了多久,就能逆推出程序的运行逻辑,找到里头的关键代码,篡改、破解、发现漏洞。

          人们把这种技术叫做“逆向工程”。我们在网上看到的各种破解软件,多半都跟逆向工程有关。

          然鹅,

          逆向的江湖有正亦有邪。

          正义的逆向者只是做安全研究,而那些邪恶的逆向者却拿着这项技能四处干坏事牟利。

          比如盗版软件。开发者们累死累活才写好的程序,分分钟就被人逆向破解,植入广告和木马,重新打包成盗版。拼多多变成拼夕夕,一款软件多出好几十个远方表亲。

          来,教你如何破解一个 iOS APP

          (网曝各种山寨的彩票软件)

          再比如有朋友总抢不到群红包,怀疑有人用了外挂,其实所谓的“抢红包外挂”就是有人逆向破解了微信APP,在里头添加了自动领红包的代码。

          来,教你如何破解一个 iOS APP

          (网上流传的破解软件)

          对于那些跟钱打交道的金融类APP,逆向破解更是噩梦,一旦APP被逆向,就很容易面临巨额损失。

          最近我撩到一位逆向技术大牛,聊了聊手机APP的破解与反破解,今天与诸位浅友分享一下。

          话说,这位大牛有点奇特,虽然他是个逆向技术高手,却不去破解别人的手机应用。相反,他的日常是带着团队专门帮 iOS 应用开发者做反破解。

          来,大家认识一下这位新朋友,他就是通付盾的研发副总裁、 iOS 加固项目的总负责人,华保健。

          来,教你如何破解一个 iOS APP

          此人灰常厉害,他是中科大的计算机学博士,做了几十年信息安全、系统渗透等方面的工作,2015年前后还在微软主导过 Office 365 和 必应搜索(Bing)的研发项目,前两年加入通付盾,负责技术研发。

          话说华博士一心做技术,人比较腼腆,所以我没能拿到他的1080P高清无码近照,只能从他的微信头像里扣下一张AV画质的照片。关于他的技术故事,我相信非常精彩,不过来日方长,回头再写。

          今天继续聊破解和反破解。

          1、破解一个APP的标准大路

          华保健告诉我,要破解一个苹果手机的APP,其实有一些标准套路。

          第一步是脱壳。

          所谓“壳”,就是原有的软件代码上再外包一层“壳代码”。机器运行程序时,先运行壳代码,这样可以保护应用的代码逻辑不容易暴露。

          苹果商店会给每个上架的 iOS APP 都加一层壳。

          “不过,这层自带的壳并没什么实质性作用。”

          华保健说,由于苹果商店给全世界几百万个 APP 都用的同一种加壳方法,因此全世界的逆向工程师、黑客们都盯着它,老早就做出了针对这种壳的脱壳工具,开源在网上供免费下载,总之,苹果自带的壳分分钟就能脱掉。

          脱壳之后,第二步是反编译。

          到这一步,幺哥必须给大家先普及一个有趣的计算机知识。

          各位同学请看,下图中的两个人是早期的程序员,他们正在检查代码:

          来,教你如何破解一个 iOS APP

          也不知道是谁出的主意,早期的计算机代码就这么直接用打孔的方式记录在长长的纸带上。打孔代表0,没打孔代表1,对应着电子元件的开闭状态,以此控制机器运行。

          这种原始的代码记录方式叫“机器码”,是一种二进制编码。

          来,教你如何破解一个 iOS APP

          相信你已经发现,这种代码记录方式用起来非常麻烦。

          据说,当时要编写一个程序,光是打孔就得几天几夜,还容易出错,程序员们不仅每天都在打孔、改错,还得记住一堆 0101010 这样长长的代码。

          后来有人发明了一种汇编语言,这才开始用英文字符来替代一串串的二进制字符。

          从此,像1000100111011000 这样的代码就可以用“mov ax,bx”这样的一串字母来替代,它的意思是“把b寄存器(一种机器元件)里的数据挪到a寄存器”。

          来,教你如何破解一个 iOS APP

          再后来,程序越来越复杂,汇编语言也不够用,更高级的语言就诞生了。比如 C、C++、Java、Python、PHP、Rust、Nodejs 等等……

          【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

          网友评论
          推荐文章
          旺彩娱乐