1.dex整体加固的脱壳方法
dex加固算是第二代主流加固工,下面是常见脱壳方案。
1.app运行后,直接在app内存中暴力搜索 dex\n035,然后进行dump数据。
2.dvmDexFileOpenPartial通过hook这个函数解密。
2.ptrace注入流程
主要就是通过利用系统ptrace函数进行实现的,目前主流的frida注入框架也是这个原理实现的。
1.attach到远程进程;
2.保存寄存器环境
3.远程调用mmap函数分配内存空间
4.想远程进程写入加载模块名称和调用函数
5.通过dlopne打开注入模块
6.dlsym获取调用函数地址
7.远程调用注入模块的函数
8.恢复寄存器
9.剥离远程进程
3.zygote注入流程
zygote注入的代表产品就是xposed注入框架。
zygote注入主要就是通过修改对应的可执行文件其实就是app_process这个文件,然后实现全局注入
1.把自己实现要进行注入的so库拷贝到/system/lib/下面
2.把这个so库的文件名追加到/system/etc/public.libraries.txt里
4.inline hook实现原理
主要原