工具:
1.反编译利器apktool
2.反编译姐妹花dex2jar+jd-gui 这两个工具其实是辅助使用的,一般是直接解压apk得到classes.dex文件,使用dex2jar转化成jar文件,使用jd-gui来直接查看Java源码。
3.反编译友好工具JEB和Jadx 这两个工具其实是整合了上面两个工具的功能,让反编译实现了可视化操作,而且高效快捷,适合在快速分析apk内部信息的场景,也是不可或缺的工具。
4.Hook神器Xposed框架 这个工具主要用于编写游戏外挂,获取应用关键数据此工具也可以算得上神器,有了它,逆向App就是手到擒来的事,用它可以把每个App的关键逻辑分析得非常清楚。
5.Native Hook神器Cydia Substrate 这个工具和上面的Xposed框架非常类似,但是这个工具除了可以Hook Java层功能,还可以很方便地Hook Native层功能。对于一些游戏和应用有so文件,可以利用这个框架进行hook so中的指定函数功能。
6.脱壳神器ZjDroid工具 现在很多应用为了安全,做了加固策略,那么逆向中有一个技术是脱壳就是针对加固策略的。所谓脱壳就是要把原本加固的应用进行解密,那么ZjDroid工具就是一款脱壳神器。这个工具其实是基于前面的Xposed框架编写的。
7.堪称神器的工具IDA 这个工具不用多解释了,如果说搞逆向不知道这个工具,那就等于还没有进入逆向的大门,比较可惜的是它是收费的。这个工具最厉害的地方就是它能够分析so文件,同时可以动态调试so,而且可以打开apk文件,dex文件也是不在话下的。
知识: smali语法、arm指令、Android中的NDK开发