回家住了八天,今天返校,学校里除了大三的实习的、考研的,似乎也没剩几个人了。
坐在图书馆里,突然又想起了高中班主任每次在暑假之前都会说的那句话,“这一段时间很关键,……”,后面几句不记得了,大意就是虽然现在是暑假时期,但是我们不放假,要留在学校补课,这段时间虽然很苦,但是好好努力的话会有很大的蜕变的。虽说高中毕业好几年了,但是还是很想跟自己说,“这一段时间很关键”。
回想这大学三年,每逢暑假,基本在家躺尸,带回去的一本本书基本上都在吃灰。技术上没有丝毫的进步。今年暑假,得亏有要实习的外部因素的限制,要不然估计跟往年一样。
这四十多天里,自己主要是以下几方面的事情需要自己去努力完成:
1、南一楼实验室实习,实习主要是做逆向方面的东西,自己还是要好好对待,不能划划水就过去了,每三天就去鲁老师那儿汇报一下进度情况或者交流遇到的问题。
2、准备上机考试,虽说能不能参加保研上机还是挺悬的,但是还是准备好,尽人事听天命吧,可以刷一下牛客网上的编程题,还有自己买的算法笔记。个人认为,计算机行业里面真的是没必要等你完全掌握一门技术之后再去上手开发,同理,自己也不需要先去重新学一遍算法再去刷题,刷题的过程中碰到了基本上忘记了的算法针对性的学习不失为聪明人的做法。
3、准备考研,万一保研失败了还是得给自己留一条退路,不然到时候芝麻没捡着西瓜也丢了就慌的一批。看了很多经验帖,暑假的宝贵时间就留给数学吧。边刷视频边看做李永乐全书,练习为主,视频为辅。平时也要抽空背一背单词。如果时间还安排的过来可以想再看一看操作系统,这门课邹德清讲的很水,自己也没太用功学,掌握的不太好。
时间安排上,每天上午以及晚上回宿舍的时间搞逆向的事情吧,下午的时间用来做算法以及编程练习,晚上的在图书馆的时间用来学数学。嗯,上午和晚上回宿舍后的时间比较固定,包括下午的时间以及晚上在图书馆的时间可以安排的稍微灵活一些。
不管最后的结果怎样,都希望自己能够从容应对吧。
下面简单记录下每天做的事情吧:
7.12
返校,看算法笔记到第二章。
7.13
上午没起来,下午到晚上做逆向相关工作,逆向环境的搭建,包括android sdk, ndk的安装配置,eclipse集成开发环境的配置(ADT、CDT插件的安装),学习简单的android开发基础知识,活动、运行栈、xml代码编写、活动的生命周期,运行实现了第一个hello world代码。
7.14
上午看完了算法笔记的第二章,讲的大多数都是C语言基础知识,大致浏览了一下后面的习题,因为大都是C语言的课后习题就没做;下午继续刷了算法题,做了5道简单模拟类型题目。晚上看电影去了。
7.15
效率比较低,宅寝室,晚上挣扎着看完了逆向基础知识,Dalvik指令格式以及Smali语法。
7.18
学习Smali调试方法,即对模拟器中运行的应用进行调试,静态分析Smali代码查找关键语句。
7.19
实战Smali调试,结合AliCrakeme进行第一次安卓逆向练习。参照博客:安卓逆向之旅—动态方式破解apk前奏篇
7.20
实战尝试去除腾讯视频手机播放软件中的广告,过程中遇到了Framework相关的很多的问题,使用android killer总会在最后回编译的过程中出错,最后采用提取class.dex文件并修改替换的方式修改apk,尽管如此,依然没能去掉其中的广告,个人感觉应该是在新版的apk中采取了防护策略。
7.21
写博客。采取各种方式尝试,但是都没能解决问题。下次尝试可以仔细阅读一下videoinfo.smali文件。
7.22
打造自己的smali代码库
7.23
学习Xposed框架、Cydia Substrate框架
7.24
安装Xposed框架,实践:编写一个简单的验证用户名密码的apk程序,并通过xposed框架提供的api编写相应的模块,实现密码验证函数的挂钩。参照链接https://blog.csdn.net/qq_18870023/article/details/51753587。
7.27
完成一个简单的阶段考核cm1.