学习路线:
8周
Android基础知识
学习Android开发编程,了解其原理。
熟悉Java,C和C++三种在Android系统中使用较多的语言,了解几种语言的特性。
学习Android开发,推荐使用Android studio进行开发,也可以使用eclipse。完成一些小程序,学习Native开发,利用NDK完成一些native程序。在过程中了解Android系统的层次结构,四大组件等Android系统的基本知识。尽可能的了解Andorid系统的概貌。
在基础学习的过程中学习有效的使用搜索引擎,对不熟悉的属于进行了解学习。
written by: 路人甲
8周
逆向基础知识
学习逆向基础相关知识和工具、并试图动手实践。
熟悉Android逆向工具的使用,如dex2jar,JEB,AndroidKiller,Androguard等,SecWiki上收录d的移动安全工具也很多,并且有很多开源,尝试自己搜索并使用自己喜欢的。
大致学习APK中包含的各文件格式,最好的方式是阅读Android系统解析APK的源码。也可以利用开源项目Androguard来学习。推荐《Android软件安全与逆向分析》
学习和熟悉smali语言。
尝试自己写小程序,并利用工具逆向,对比学习。
尝试逆向一些小程序,分析其功能逻辑。
written by: 路人甲
8周
逆向进阶学习
对ARM汇编、Smali语法、相关调试工具等进行学习。
学习和熟悉ARM汇编指令;
学习学习并熟悉IDA,gdb两种逆向工具的使用;
学习Smali调试的方法,参考书籍《Android软件安全与逆向分析》;
学习使用IDA静态分析Native程序,自己写Native程序并逆向,对比学习;
使用IDA和gdb对Native程序进行调试;
分析和调试一些带有Native代码的APK;
开始学习Android系统知识,推荐《Android系统源代码情景分析》;
written by: 路人甲。
4周
逆向实战
病毒分析语脱壳学习
找一些病毒木马分析博客跟着博客内容的教程进行分析实践推荐用Ransomware类和木马类进行学习
找一些分析加壳程序的分析文章进行手动脱壳
written by: 路人甲
8周
漏洞分析与挖掘
学习漏洞类型和原理。
学习常见的漏洞类型,例如堆溢出,栈溢出,UAF等,可以参考SecWiki漏洞分析相关书籍;
关注android security bulletin,根据提供的diff分析漏洞成因;
学习并调试以前的经典漏洞和分析文章;
学习漏洞挖掘fuzzing思路,参考书籍《Android安全攻防权威指南》;
written by: 路人甲。

作者:季逸超
链接:https://www.zhihu.com/question/20317296/answer/14735312
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

按照意图和深度的话,大概有这么几种途径与资源:为了学习框架,提升开发水平,可以看看私有API列表。iOS (Cocoa Touch)的各私有API都可以通过runtime查看获得,您可以自己写个method browser。如果觉得麻烦的话可以到Github看现成的,我收藏了俩: https://github.com/kennytm/iphone-private-frameworks 和 https://github.com/nst/iOS-Runtime-Headers ,但还是推荐自己来实时获取,因为iOS在更新,API也在更新。在App Store产品中使用私有API是违反苹果规定的,所以能不用这些API而实现一些功能是iOS工程师水平的体现。对iOS工程师而言,如果只是开发的话(1)也就差不多了。如果您十分有爱,想了解API以下的东西的话,依然可以利用Obj-C的runtime。可以在这里看到 http://opensource.apple.com/source/objc4/objc4-493.11/runtime/ ,尤其是objc-runtime.m,这里提供了很多学习用的"工具"。比如经典的method_exchangeImplementations(),您可以用它研究很多黑箱过程的来龙去脉。值得一提的是,这种技巧(method swizzling)是合法的,可以在App Store 中使用! 苹果曾给使用了相关技巧的开发者发过邮件,表示出于安全性和稳定性最好不再使用,但没有禁止。如果是对系统本身感兴趣的话,不妨越狱看看。iOS和Mac OS X类似,基于Darwin,是一种UNIX系统。越狱后你就有了root权,可以安装个Terminal,装gcc都没问题的哈哈~ 接下来就像您研究Linux那样摆弄就好了。对于开发者来说,有了root权也就可以写一些system tweak或全局的代码,自然也可以用来深入了解系统、原生app等。这方面我很久没折腾了,所以不敢瞎说。如果您是想成为一名iOS Hacker的话,最近有本书挺火的: http://www.amazon.com/iOS-Hackers-Handbook-Charlie-Miller/ 我没空看不知道咋样,但作者很神。另外现在iOS越狱界也有了自己的大会,可以看看“越狱梦之队”的演讲和文档: http://absinthejailbreak.com/dream-team-presentation-at-hitbsecconf-videos/ 。如果您还是没有满足的话,可以看看从硬件入手的逆向工程和调试,分享一个我收藏的宝贝: http://wenku.baidu.com/view/dae22c30eefdc8d376ee32c9.html 另外说iOS代码是封闭/闭源的其实不全对,苹果算是开源界的一面大旗了,比如WebKit。iOS的组成部分也一样是开源的,可以在官网 http://opensource.apple.com/ 看到,最新的iOS 5.1.1在这: http://opensource.apple.com/release/ios-511/ 。但是如您所见,这里并没有iOS操作系统的代码,而是一些库和编译器、调试器…其中JavaScriptCore和WebCore很有用,这两者是WebKit的基础,可以说WebKit是iOS最重要的组成之一,截止iOS 5 (6我还没下呢=___=),所有多于一行文字的控件其实都是WebKit标准的(不可思议吧?!)。很多iOS的Hack都是从这里开始的。说到WebKit,之前Comex大神的Spirit越狱(那个"Slide to Jailbreak")就是利用Safari->WebKit->PDF Engine->TIFF字体的漏洞实现了代码注入!所以每一个系统组件都可能是iOS逆向/Hack的突破口!水平有限,如有错误和遗漏还请各位纠正、补充 ?
--------------------- 
作者:游人阿k 
来源:CSDN 
原文:https://blog.csdn.net/c2289206/article/details/86515440 
版权声明:本文为博主原创文章,转载请附上博文链接!

android逆向学习路线相关推荐

  1. Android逆向 学习Android安全和逆向开发的路线总结,啃下这些Framework技术笔记

    此篇整理了最完整的–Android逆向学习线路知识体系.希望给迷糊的入门者指出一个明确的方向. 真心建议:先正向开发几年再搞逆向吧--正向都不会破解的是啥?不看代码只会脱壳?只会xposed ?远远不 ...

  2. Android逆向 学习Android安全和逆向开发的路线总结,android开发平台的发展

    学习Android逆向之前,必备条件.[必备,出去面试正经公司的安全岗位都会问的基础问题] 从事3-5年真实的Android开发工作,熟练使用C/C++,Java,kotlin,dart等Androi ...

  3. Android逆向学习之如何在抖音发链接

    背景 本文处于Android安全学习为目的. 众所周知,抖音目前不支持发送自定义链接消息,前段时间也是在开发SDK公布了分享内容到抖音的功能.那么就给发卡片提供了一种途径. 功能实现 这个功能最简单的 ...

  4. 如何自学?Android开发学习路线指南,最详资料解析

    现状 后端转 Android 我该从何处下手,现在学习 android 晚吗? 不晚,一点也不晚.因为Android系统在全球范围内仍然是最受欢迎的移动操作系统之一,而且随着智能手机和移动应用的普及, ...

  5. 真香定律!2021最新Android开发者学习路线,年薪超过80万!

    开头 移动应用开发从逐渐开始火爆到如今也有小十年了,大部分的学校还是没有开放专门的课程. 目前市场上的大部分 Android 开发工程师大多数是自学或者是培训出身,用一段时间上手 Android 开发 ...

  6. 2021最新Android开发者学习路线,已整理成文档

    前情 首先介绍一下自己的情况吧,由于当年高中年少轻狂,不努力,差二本线16分.我自己也没有意识到学历的区别,最终听了家里的安排上了一个专科,电气专业. 现在想想都很后悔,当年为什么没有自己的主见,如果 ...

  7. 太赞了!2021最新Android开发者学习路线,offer拿到手软

    前言 面试:如果不准备充分的面试,完全是浪费时间,更是对自己的不负责. 文末会给大家分享下我整理的Android面试专题及答案其中大部分都是大企业面试常问的面试题,可以对照这查漏补缺,当然了,这里所列 ...

  8. 逆向学习路线(推荐书籍)

    必须要看的书:看雪站长段刚所著<加密与解密>第三版:<琢石成器-Windows环境下32位汇编语言程序设计>.罗云彬.第三版:<windows高级编程>:<C ...

  9. Android逆向学习(1)--记一次破解某直播盒子App

    打击违法直播 净化网络环境 某天,我的一个朋友(这个朋友真不是我自己)发了我一款聚合直播App,大喜过望之后发现需要充值才能继续观看, 我这种穷逼哪来的钱充值,所以就有了这次逆向之旅 一.反编译 用  ...

最新文章

  1. LeetCode--258--各位相加*
  2. Java反射研究(2)
  3. 二分+最大化最小值 River Hopscotch POJ - 3258
  4. em算法 实例 正态分布_EM算法解GMM
  5. linux yum安装redis5.0,CentOS 7安装Redis 5.0.5并加入Systemd服务
  6. Hadoop源代码分析之Configuration
  7. 几步教你用 Python 制作一个 RPA 机器人!
  8. 【Linux 命令学习第一天
  9. 如何自动清理从 Mac 到 Dropbox 的屏幕截图?
  10. 使用VS2019创建控制器时出现运行所选代码生成器时出错:“值-1超出了可接受的[0,2147483647]范围。参数名称:value”错误
  11. java私塾跟我学系列_java 私塾作业
  12. 必须要知道的多媒体知识-音视频编解码-h265、h264-直播-点播
  13. “一把梭:REST API 全用 POST”
  14. Couldn‘t store trigger ‘‘ for ‘‘ job:Couldn‘t retrieve job because the BLOB couldn‘t be deserialized
  15. 如何彻底清除还原精灵
  16. vue微信分享给朋友,朋友圈自定义网页链接url改变了
  17. 程序员练级攻略(2018):前端基础和底层原理
  18. 网页认不出USBKEY
  19. windows下载openjdk1.8
  20. Microsoft-pubs(图书馆管理系统)-数据库设计

热门文章

  1. 七剑下天山(二)疑问篇
  2. bootstrap btn按钮颜色
  3. 一套牛逼哄哄的开源的监控系统(附源码)
  4. java自定义类加载器并观察类卸载过程
  5. Linux [11] -- Recap Linux Basic Command
  6. 阿里云直播生成推流和播流地址类
  7. Java 解析括号内子字符串的内容
  8. 为什么地球上的第一个复杂生命体出现在海洋中
  9. 图灵mysql_图灵学院JAVA架构师-VIP-MySQL底层实现之B+树
  10. 阿里云云服务器 ECS基础知识