2020-04-26 漫谈爬虫工程师如何入门Android逆向

背景:爬虫工程师对逆向的需求及安卓逆向发展前景浅析

这篇文章写给Python爬虫工程师们,互联网寒冬的就业压力越来越大,流量越来越涌向移动端,爬虫和反爬的攻防不断升级,这一切的一切,都让我们不得不学习新技能,才能保持竞争力和养家糊口(一群单身狗,挣的钱连自己都养不活) 。

App逆向不断出现在爬虫工程师的日程表里,可是到底该怎么入门App逆向?

这篇文章就是漫谈App逆向的学习,主要分成三个部分。

**1. 指出一些自学的误区

2. 推荐一些入门的学习资料

3.推荐一些长期的学习资料 **

这篇文章的目标读者是计划学习Android逆向的爬虫er,他们可能有如下特征:

几乎没有Java基础

几乎没有Android基础

对Android逆向的思路和工具缺少了解

下文会一一解答这些困惑和焦虑,但适合每个人的学习模式也各有不同,可以选择性的实践。本文对Android逆向老手帮助不大,但如果老手愿意在评论区分享经验和教训,给过来人一些指点,我表示衷心的感谢。

一、自学Android逆向的误区和陷阱

1.1. 不要试图熟练掌握Java编程和Android开发后再开始学习逆向

如果你才十五岁,有大把时间可以学习和泡妹,那我收回这话。看雪论坛不乏12岁踏上逆向之旅的天才少年,他们可以恣意的吸收知识,全部随着自己的兴趣和心意在逆向世界中遨游。而你呢,你可能不再年轻,并且即将或已经踏上工作岗位,准备让Android逆向成为你的加分项和一块跳板,那么我认为你有更优的方式学习Android逆向。而不是耗费数个月甚至更久的时间沉迷开发,最后磨损掉兴趣,放弃逆向的学习,叹一句“逆向真难,行不通的”。

Java是一门复杂精妙 的语言,但你又不是要当Java开发工程师???

Android应用开发充满魅力,新技术迭出,但你又不是要做Android工程师???


你可能很想反驳,那我不懂Java,不懂Android怎么可能搞得了逆向,佛系逆向?随缘逆向?别别别,这可行得通,我指的只是入门时不必精通Java和Android。原因有一堆,但我认为最主要的原因在于——开发和逆向的关注点不同。

我们先罗列一下Android面试和实际应用开发中出现的一些技术关键词

而我们破解时需要关注什么?尤其是对爬虫的逆向需求来说,简而言之,我们在破解加密字段如何生成,那我们的关键词是这些

开发人员需要开发和实现App的各种功能、关注数十个厂商上百个机型的适配、Apk体积的优化,App性能的优化,更吸引用户的UI,更友好的bug解决机制(热修复),而我们破解,一般来说,需要关注应用的网络通信、加解密、安全防护。开发和逆向的目标和目的不同,所以你并不需要对开发的那一套了然于胸,才能开始破解。

除此之外,App的安全问题只是Android开发的众多议题之个。一部分Android开发人员,甚至连反编译App的流程和工具都只是听闻过而已,尤其是对于小厂/一般App,安全问题它们能投入的精力十分有限,这个原因十分好理解。

狗仔和偷拍只是明星成名之后才会烦恼的事,而十八线女星正在下雨的横店乞讨着生活,App也是这样,如果你搞的不是大厂App(腾讯系/阿里系/今日头条系等)、超级App(支付宝/微信/抖音/快手等),或者特殊用处的App(买票/支付/网商等),那么开发人员给App弄个市面上常见的加固,搞个so层的加密,已经是它们防护的上限,可能这些不算太简单,但难也难得有限。因为App的用户留存率和开发人员的温饱才是他们最重要的议题。

所以,你不必花太多时间了解和实践纷繁复杂的Android开发知识,只需要看两本Java入门书,Android入门书,就可以开始学习逆向了,各种技术和知识可以在逐渐深入的过程中学习。

1.2. 不要好高骛远

这一点非常重要,上来就想学如何解密复杂的so、如何脱壳,ollvm,vmp或者撸抖音,小红书,美团这种成熟且大型的应用……

先跟着一些优良的入门教程和视频,打好基础训练思路,从简单的demo开始,一步一个脚印。

1.3. 不要收集过多的资料 & 分辨资料的时效性

比较久远的实战/破解/逆向文就不要去看了,逆向这个圈子本来就比较封闭和迟缓,应用开发和保护的技术日新月异。此时建议【易锦大学安卓逆向系统班入门课!】

1.4. 不要自负,觉得Android逆向很简单

在理想的状态下,Android app的逆向工作者需要非常熟悉java和C/C++ 语言,有开发大型或成熟Android软件的经验,熟悉Android底层和App运行原理,简而言之,最好是一个成熟老练的android高级工程师。但是,这并不意味着我们必须得到这个地步才能开始Android逆向的旅程。你应该先从一个比较系统的角度尽可能了解Android逆向的全貌,然后摘取那些"低垂的果实",跟着教程去使用一些成熟的工具,学习思路,完成几次破解。然后在问题中不断去学习和补充知识。如果你想要准备好一切在上路,也是可以的,万流如海,殊途同归,只不过你要忍受漫长的枯燥学习期罢了。

二、Android逆向入门的资料和基础

这些书和内容都是非常好的,

一、基础

1.Java

《Java 核心技术 卷一》公认经典

2.Android

《第一行代码(第2版)》

这本书写的很好,是公认的Android入门书。你可以认认真真照着例子全部敲一遍,也可以只走马观花了解一边App的开发流程,看完本书,你会明白一个Android App是怎么从无到有。

3.加解密

《Java 加密与解密的艺术 (第二版)》

讲了如何使用Java实现各种各样的加密,这本书可看可不看。

接下来就可以开始Android逆向之旅了,这是最简单的配置,按照需求,你后续可以学习这些东西。

二、Android逆向书籍和资料

1.《Android 软件安全权威指南》

白色的封面,我爱叫它白皮书。Android逆向入门需要的方方面面,它都涉及到了。

这本书适合按照需求找章节看,如果按照顺序看,你可能会死在第三章“Dalvik可执行格式与字节码规范”

我重新排一下序,同时,我建议易锦大学工具安装教程去配置工具环境(需要工具联系qq:3251901516)。可以装了java开发环境后,用jadx或者jeb万金油直接撸,但如果你喜欢敲命令行,用无大碍,下面的阅读顺序只是我个人喜好,读者自行甄别和选择。

第一、二章——环境搭建和如何分析Android程序,浏览即可。

第三、第四章——Dalvik可执行格式与字节码规范和Android文件格式,浏览即可,内容很重要,但不是入门的内容。

第五章——静态分析Android app,这也是很多培训课程的第一课,我个人也认为这个应该先看,而且写的很好。

第六章——动态分析Android应用,写的很好,但6.1的动态分析框架我没有用过,似乎有些老旧不太好用,读者可以试试。

第十章——Hook与注入,Xposed+Frida是这一章节的重点,Frida是目前最流行的动态插桩工具。

第一十章节——软件保护技术,讲的很全面。

章节七八九是Native层的内容,我把它划分到下一部分,入门单单指Java层,章节十二是软件壳的内容,也是进阶的内容。

2.《Android应用安全防护和逆向分析》

黄色封面,我叫它黄皮书,这本书的内容也充实有料,和白皮书一样,也是面向Android开发/安全人员,门槛比较高。我个人也是建议按照模块看,按照顺序看的话小心坑。

全书分成三个部分,防护篇和工具篇都讲的很好。这本书也是必备。

这两本书是引路明灯,但光看这两本书,是远远不够的,你需要真正的实战,还有看书也是比较枯燥的,如果条件允许的话建议去报班系统学习,有老师带,看视频比看书好的多,书籍的话更多是帮助你一些提升,但是对于自学能力不强的不建议!

最后再大家附带一张安卓逆向工程师前景大致图。不止是爬虫行业,其他编程行业逆向安全也会等着你!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,294评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,493评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,790评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,595评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,718评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,906评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,053评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,797评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,250评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,570评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,711评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,388评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,018评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,796评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,023评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,461评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,595评论 2 350

推荐阅读更多精彩内容

  • 一个投资品,能够帮我们有效的在退休时拥有百万资产,基金。 认识基金: 基金就是由一家基金公司收集很多投资者的钱,汇...
    北国南乡阅读 139评论 0 0
  • “微樯,我把公司道德模范申报放到你桌上了。”小素急火火地说,看她一脸的狂躁,鼻孔里都快急出火来了。 ...
    微樯阅读 2,071评论 46 93
  • 今天晚上鲆叔在微信群召开了一场《八戒蟐蛾》电影说明会,这场说明会让人脑洞大开。 投资电影?这是我之前想都没有想过的...
    小牛妈妈日记星球阅读 288评论 0 3
  • Day2/21 #27#李凝珊#佛山 【书籍名称】《 拥抱你的内在小孩》 【阅读感受】 1. 书本很烧脑,比较不好...
    sumkids03阅读 117评论 0 0