android逆向学习路线

学习路线:
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 
版权声明:本文为博主原创文章,转载请附上博文链接!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值