逆向经历回顾总结

逆向经历回顾总结

一、前言

将自己的逆向经验做个总结,希望新手对逆向大方向能快速了解。高手有啥不一样的经验也可以讨论讨论。

逆向经历回顾总结_第1张图片

二、个人经历

本人入行逆向全因一部韩剧“幽灵”,里面涉及渗透、病毒分析、取证的攻防对抗,我觉得对新手来说,还是有点意思的。那时看完觉得攻防对抗很有意思。

我做过病毒分析、app检测,对社交软件、银行app都有不少的逆向实战经验,当我回过头看,逆向给了我很多其他娱乐活动带不来的快乐,但是搞久了也累,攻防一直升级,就比如十年前的腾讯某个游戏都能直接重打包,现在太难了。虽然现在看到一些技术也会觉得很有意思,但再研究,就像在重复三五年前的经历。

三、我对逆向的理解

网上专业描述太专业,我记得我第一次理解逆向工程这个东西时有点懵逼又觉得高大上。当我现在看,我觉得它就是利用各种工具、技巧让你能分析出程序的逻辑,或者某个点的逻辑,然后再利用它去实现新功能。

四、安卓逆向

安卓逆向,算是经历了它一整个的发展,以下的都是不断在学的

1. 正向开发的学习必不可少,我个人偏向基础有了之后,逆向实战中再根据问题加深学。

2. 壳从一代壳到四代壳,也有一些吹六代七代的,里面涉及的攻防对抗:脱壳加壳,优化各种工具更好的分析,防工具分析,调试,反调试,反反调试,然后又是各种工具的定制,再针对可执行文件的保护,又细到整体文件、部分文件、函数、指令的保护,针对这些保护又有了从系统下手的对抗...。学壳是一个很好的提升技逆向术的方法。这儿我看到的问题是实际业务大多数不需要那么深的技术,不少技术人员沉迷其中无法自拔。

3. 文件结构的了解,逆向过程常要分析不同格式的文件。逆向让我加深了对“linux中一切皆文件”的理解,业务涉及的文件,只要有阻碍就看两下文件分析分析。

4. 加密算法学习,攻防对抗实战中,太多加密算法,所以我单独列出来

5. 代码混淆,从java层的代码膨胀,VMP到so层的OLLVM、VMP等,又涉及不少工具的保护和反保护要学,这个也是不断升级。

6. 数据抓包,一个小点,但是还不少事

7. 技巧,一些高手提醒你几句的技巧、工具、脚本,会让你逆向速度提升不少。

8. 定制系统,还是攻防升级,应用层打到了系统层。

9. 实际业务中的逆向,单独列出来是因为,即使会上面的所有点,它和实际业务最终的产出还是有差距的,实际业务需要快速出东西,我们必须结合业务,更快的定位关键点,更快的组出软件。

五、iOS逆向

和安卓平台类似。会一个平台后,技能迁移到另一个平台会比较快。

六、其他平台逆向

和安卓平台类似,本人样本量比较少,就不瞎吹了。接触其他平台也是因为业务的需求。当你有其他平台逆向经验时,来一个其他平台的活时你感觉有难度又好像可以试试,然后慢慢就上手了。

七、CTF

做过一些题,不精通,我觉得这个方向有点神奇又有点不理解,逆向本就是需要耐心需要时间有逻辑的去分析的一个活,而逆向CTF题涉及渗透、pwn的一些技巧,又有时间限制,有时靠暴力破解。这个方向我觉得是一个新的提高逆向技术的方向。

八、总结

回顾逆向这几年,就是个攻防不断升级,更明显的体现了那句“逆水行舟,不进则退”。好久没研究技术了,不知道高手们又在深挖哪块的难点,让我用小说里的话感叹一句“啊~,仙路尽头谁为峰...”

你可能感兴趣的:(逆向开发,android,ios,协议,快手,算法)