学习安卓逆向差不多有一段时间了,之前重心都放在ctf的,大概是疫情后吧,差不多重心就慢慢转移了,原因是我发现必须要转变了。
这次,我也是对我四个多月的安卓逆向学习进行了一些总结,自我的审视,以及一些未来的规划,然后想了一下,自己既然总结了,不如发出来,让同学们也能做一些自己的思考。
学习过程:像我的话,逆向题型win,Linux,Android都会涉及到,比较杂。首先就是看书刷视频,看文章,看帖,复盘,然后差不多了就去实战一下,找app去分析和逆向。收货最大的时候是在刷视频和实战部分,因为会有各种疑问,莫名其妙的问题,这个时候带着问题去解决会非常有成就感,兴趣也是这么慢慢培养来的,随着能解决的疑惑越多,成就感和新思路等因子会越多。有些app比较简单,有些企业版的加固难,目前水平不行就带着问题放那里,做好标记。然后再去看资料视频,不停的带着问题去研究,这个过程能让我学到好多新的知识,或者拓展到好多新的工具,再回过头去分析,可能之前的问题迎刃而解,好几个都是这样。
常用工具:逆向分析过程的话,IDA,JEB,frida,jadx,charles,还有MT管理器几个工具都很常用,java层的分析是jeb,jadx还有frida互相配合进行静态分析和动态调试以及hook。so层的就是ida,静态分析比较困难就动态调试,大部分时候都先用frida hook libart跑一下,打印参数,获得注册函数名称地址,还有就是动态调试过程中有时候需要dump下来dex文件和so文件,会使用idapython脚本和idc脚本。
这次,我也是对我四个多月的安卓逆向学习进行了一些总结,自我的审视,以及一些未来的规划,然后想了一下,自己既然总结了,不如发出来,让同学们也能做一些自己的思考。
学习过程:像我的话,逆向题型win,Linux,Android都会涉及到,比较杂。首先就是看书刷视频,看文章,看帖,复盘,然后差不多了就去实战一下,找app去分析和逆向。收货最大的时候是在刷视频和实战部分,因为会有各种疑问,莫名其妙的问题,这个时候带着问题去解决会非常有成就感,兴趣也是这么慢慢培养来的,随着能解决的疑惑越多,成就感和新思路等因子会越多。有些app比较简单,有些企业版的加固难,目前水平不行就带着问题放那里,做好标记。然后再去看资料视频,不停的带着问题去研究,这个过程能让我学到好多新的知识,或者拓展到好多新的工具,再回过头去分析,可能之前的问题迎刃而解,好几个都是这样。
常用工具:逆向分析过程的话,IDA,JEB,frida,jadx,charles,还有MT管理器几个工具都很常用,java层的分析是jeb,jadx还有frida互相配合进行静态分析和动态调试以及hook。so层的就是ida,静态分析比较困难就动态调试,大部分时候都先用frida hook libart跑一下,打印参数,获得注册函数名称地址,还有就是动态调试过程中有时候需要dump下来dex文件和so文件,会使用idapython脚本和idc脚本。