商城网站要多少钱广州seo网络推广员
imei值也成功的hook成功了。到这里我们就用Substrate框架hook了Java层功能。当然这些功能Xposed也是可以做到的哦。
四、Hook Native层功能
那么下面继续来看如何hook native层的功能,也是本文的重点哦。
第一步:创建一个Native工程
这里用Eclipse操作,简单便捷,有很多人问我为什么不用AS,我想说在我心中Eclipse最好用,AS真心好丑,不想用而已。
第二步:导入Substrate的native功能包
上图可以看到,需要导入一个substrate.h头文件,和两个so功能包。native层应用都是这么干的,提供一个头文件告诉你api,具体实现在so包中。
第三步:寻找hook的函数名
这里网上没有好的hook代码,这里我们为了更好的查看这个工具的牛逼之处,弄一个比较实际的案例就是hook系统加载dex的函数,这样我们就可以获取到每个应用的dex文件了,这种方式对于早期加固是一个比较好的脱壳方案。在之前介绍脱壳我们会使用IDA在指定函数处下个断点,那么我们这里如果要hook的话,就需要找到这个加载dex的函数名称,这里一定要记的是导出的函数名,首先我们导出设备的libdvm.so文件:system/lib/libdvm.so
然后使用IDA打开,寻找加载dex函数:
切换到Exports视图页面,然后搜索dexFileParse函数,点进去:
看到了,我们 需要