• <tbody id="mx1tb"></tbody>
    <rp id="mx1tb"></rp>
  • <rp id="mx1tb"></rp>

    <th id="mx1tb"><p id="mx1tb"></p></th>
    <dd id="mx1tb"></dd>

    <th id="mx1tb"><pre id="mx1tb"></pre></th>
    <th id="mx1tb"></th>

    <span id="mx1tb"></span>
    <th id="mx1tb"><pre id="mx1tb"><sup id="mx1tb"></sup></pre></th>
    设为首页 - 加入收藏 湛江站长网 (http://www.morinnbuzz.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,我们将及时予以处理。

    网友评论
    推荐文章
    金亚洲代理