狂暴补师亚丝娜 发表于 2019-11-6 14:53

前途迷茫?从xposed与安卓逆向的关系说开去

本帖最后由 狂暴补师亚丝娜 于 2019-11-6 15:13 编辑

昨天,一个15PB的学弟找我聊天,问了我一下目前破解与逆向的一个行情和薪资待遇。其实刚听到这个问题,真的感叹啊,像我这种9期的学员,真的是太老了太老了。{:1_937:}{:1_937:}
然后刚好,某个群里面,又有人在问【xposed与安卓逆向】到底是什么关系?有什么区别?好像xposed需要逆向知识,那为什么xposed属于开发,而不属于逆向呢?今天就来浅谈一下xposed与安卓逆向的关系~
首先,亚丝娜这边先来用最容易让人解释一下什么是xposed,什么叫安卓逆向。
xposed:
其实是一个安卓框架服务,当安卓手机刷入xposed框架过后,xposed的插件,能够通过框架注入到安卓系统,从而实现底层功能。不过现在可以理解为:xposed = 安卓注入技术(HOOK)。当然,安卓还有其他的注入方式(如jar包),但是最流行的还是xp。
没理解?举个简单的例子:PC端的外挂(输入法注入型),输入法 = xposed框架,外挂 = xp插件。

安卓逆向:
安卓逆向是一个很广的领域,和PC端是一样的,逆向包括:破解APP、破解算法、脱壳等,统称为逆向。
所以其实从本质来讲,xposed和安卓逆向就不是一回事,xposed属于开发,安卓逆向属于安全领域,但是两者的关系又密不可分。因为xposed需要安卓逆向的知识,而逆向很多时候则需要借助XP框架,当然,两者都得具备安卓开发的技能~

然后来说说xposed和安卓逆向的共同点:
假设这里有一个类似于QQ一样的APP,叫blued,咱们想要做这么些功能:防撤回、破解会员权限。XP和逆向都可以做到,那么他们会怎么做呢?
XP插件的开发者:
方式一:使用ddms来录制轨迹,寻找特征码,然后寻找关键入口点进行hook。
方式二:使用反编译工具(如MT管理器),找到关键函数进行Hook。

安卓逆向:
方式一:查壳并脱壳,然后通过反编译工具(如MT管理器),通过关键字搜索,修改源码,并签名重新打包APK,达到我们要求的效果。
方式二:通过抓包等技术,看看能不能破解,如果能,则在源码里面添加自己的代码,并签名重新打包。

从这个例子,就可以看出:
XP插件主要是寻找关键的函数进行注入,将自己的代码执行,运行自己的代码,从而达到想要的效果,而安卓逆向方面则是修改源码达到效果,两者虽然体现出来的效果一样,但是原理不同。不过两种技术都需要逆向,不过XP不依赖于反编译(如果APP加壳了),还有其他方式可选。

https://static.52pojie.cn/static/image/hrline/1.gif

再来说说一个安卓逆向做不到的功能:
微X模块里面的伪集赞,伪评论功能,安卓逆向是做不到的,因为微信本身不存在这么一个功能。等等,你说为什么不在微信源码里面添加功能也能做到,前提是:你确定你能逆向微信??

再来说说一个XP做不到的功能:
我们想要模仿某APP做一个智能推荐系统,去看看这个APP的算法...我们想做一个类似于XX的功能,去看看他们这个功能是怎么实现的....

综上:
功能性方面,安卓逆向想要做到的功能,XP基本上都可以做到,而XP插件开发需要一定的逆向能力,不会像专业逆向那么精通。但是在算法、原理这一块,必须得靠安卓逆向,且逆向能力需要比较强,XP只是一种hook技术技术,是做不到这些的。
我记得C佬说得好:安卓注入的方式很多,而xposed就是安卓注入的一种方式,但是确实最强大的一种方式。

https://static.52pojie.cn/static/image/hrline/1.gif

详细的对比:
XP插件
优势:无需修改原APP,使用官方的APP即可获得相应的功能,技术门槛低,新功能拓展性强。
缺点:用户门槛高,手机需要root并安装XP框架。

安卓逆向
优势:全安卓手机通用,搞到源码即可为所欲为。分析竞品无可取代。
劣势:技术门槛高,打包出来的APP不是官方原版(签名不同)

https://static.52pojie.cn/static/image/hrline/1.gif

再来说说之后大家应该学习安卓逆向还是XP插件开发呢?
总体来说,安卓逆向是许多公司需要的一个岗位,安全行业也不可或缺的一个岗位。也是薪资很高的一个岗位。
而XP插件开发更像是蓝海,虽然公司用得少,但是私活钱可不少,定制化插件开发,赚得不比安卓逆向少,不过收入会存在不稳定,且可能涉及到法律相关的问题~~~

为什么说XP插件是蓝海,因为除了中国大陆,其他地区,包括港澳台,很多地方对于这个框架还比较少了解,并且网上也没有所谓的LINE防撤回,message(脸书聊天工具)的防撤回等插件~~~市场也是非常大的。

https://static.52pojie.cn/static/image/hrline/1.gif

最后,再给大家一点建议:
如果你是喜欢外挂,喜欢捣鼓一些创新的功能,一些花里胡哨并具有实用性的功能,建议学习XP插件开发,努力闯闯蓝海,说不定会有意外的收获。
如果你是喜欢算法、原理类底层的东西,建议从事安卓逆向,看看别人的代码是怎么写的~将自己的能力达到为所欲为的境界~~不过逆向技术门槛比较高,选择之前先看看自己的技术,适不适合,比如脑筋是否灵活~

慵懒丶L先森 发表于 2019-11-6 15:58

Xposed属于JAVA层的HOOK,再往下学,还有native层的和jni层的,安卓逆向这一块的学习要沉住心才能学到东西

aakk007 发表于 2019-11-6 15:20

大佬牛逼!

冬雪雨泉 发表于 2019-11-6 16:08

感谢楼主分享

cxl0825 发表于 2019-11-6 18:01

感谢楼主分享,对我而言,都太深了,学不懂

钱途迷茫 发表于 2019-11-6 18:08

看到有大神召唤,我就进来看看{:301_998:}

loveshy 发表于 2019-11-6 19:27

aakk007 发表于 2019-11-6 15:20
大佬牛逼!

看你这头像我以为是H大……{:301_1004:}

54264 发表于 2019-11-6 20:06

本帖最后由 54264 于 2019-11-6 20:08 编辑

感谢楼主分享,看的一脸懵逼,不过对需要学习这方面的人一些指导

qq18566 发表于 2019-11-6 22:58

大佬,我只想我抓包工具能继续鼓捣,自学了好久xposed有点迷茫

cao10085 发表于 2019-11-7 09:49

都是人才,我的手机不支持root,框架没得装,用太极后微信经常收不到后台消息
页: [1] 2
查看完整版本: 前途迷茫?从xposed与安卓逆向的关系说开去