加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 湛江站长网 (https://www.0759zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

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

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

从此,程序员圈子里便有了“谁才是世界上最好的编程语言之争”……

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

所以,当今程序世界里的规则是这样的:

程序员们先用高级语言写好程序代码,编译器把它们编译成机器能读懂的机器码用来执行。

逆向工程师的工作恰恰相反,他们直接从机器里抓取机器码,然后反汇编成汇编语言,再反编译成高级语言。

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

到这里,恭喜你已经学会了反编译的原理,现在我们继续破解iOS应用。

“反编译工具网上有很多,但大体上方法分为两类:静态分析和动态调试。”

华保健说,所谓“静态分析”就是在程序不运行的状态直接反编译,把它从二进制的机器码转化成十六进制的编码、再到汇编代码,再到人类能直接理解的语言,一路转化。

在这个过程中,如果对方没有做任何防护措施,你就能直接找到并改掉里头的关键信息,比如版权信息、游戏数值等等,单挑 BOSS 怒刷装备。

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

(十六进制查看程序是这样子,图源自网络)

华保健告诉我,由于反编译涉及很多不同的语言,所以没法把机器码直接还原成源代码,但是能用伪代码的形式把源代码的逻辑还原个七七八八。

所谓动态调试,顾名思义就是让程序先运行起来,在里头输入不同的值来观察各种组件、函数的反应,从而梳理出它们之间的关系。

如果把静态分析比作翻译一本外国漫画,动态调试就是翻译一部蓝光高清有码外国大片。

在整个过程中,逆向工程师需要反复调试,并且需要给程序打上“断点”,随时暂停下来慢慢欣赏,反复把玩。

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

经过这两步,一个程序的运行逻辑就被完全还原。接下来,只需要找到登录验证、加密、授权等关键部位找出漏洞,篡改掉关键数据,完成破解,为所欲为。

最后,再从网上买个iOS签名,就能把代码重新打包成一个APP,安装在自己或别人的手机里。

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

华保健:到这一步,一个iOS应用破解的流程就讲完啦~ 其实破解很简单,就三步,脱壳、反编译、签名打包,懂了吗?

谢幺:懂了!~

华保健:好的,既然懂了,现在随便找个APP去练练手吧~不如就试试破解微信吧!

(编辑:PHP编程网 - 湛江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!