一、重打包检测
- svc直接调用系统调用,绕过libc读取apk文件,然后自己算签名。常见inlinehook无法拦截这种方案
- 命令行启动子进程,通过子进程调用pm。(很多重打包工具对开启的子进程没有下hook)。
- 自己实现binder,通过binder的协议和pm service交互。这样java层无法hook,因为就没有走任何Android官方的api。
hook server 就行了。app与系统server使用binder进行通信,server端被改了,app是完全没办法。
有现成的例子 https://github.com/ElderDrivers/EdXposedManager/blob/master/app/src/main/java/org/meowcat/edxposed/manager/xposed/Enhancement.java
hook com.android.server.pm.PackageManagerService getInstalledApplications
其他相关的也可以使用这种方式。
网友评论