基于Aosp的应用对抗行为分析沙箱

最近在做一个沙箱,来收集应用的一些对抗行为。

一、桩点

1 bionic

Get

Find

/bionic/libc/system_properties/system_properties.cpp监控应用获取的prop字段
popen/bionic/libc/upstream-netbsd/lib/libc/gen/popen.c监控应用执行的popen指令
open/bionic/libc/bionic/open.cpp监控应用打开过的文件路径
stat/bionic/libc/bionic/stat.cpp监控应用读取的 目录或文件 信息
mmap/bionic/libc/bionic/mmap.cpp监控内存映射信息
fork/bionic/libc/bionic/fork.cpp监控应用运行期间创建的子进程信息
pthread_create/bionic/libc/bionic/pthread_create.cpp监控应用native层创建的所有线程的线程函数地址
ptrace/bionic/libc/bionic/ptrace.cpp监控应用运行期间ptrace信息
strstr/bionic/libc/upstream-openbsd/libc/string/strstr.c监控应用运行期间进行的所有字符串比对
strcmp/bionic/libc/upstream-openbsd/libc/string/strcmp.c监控应用运行期间进行的所有字符串比对
connect/bionic/libc/bionic/connect.cpp监控应用进行的所有链接socket操作
readlink/bionic/libc/bionic/readlink.cpp监控应用读取的所有文件链接
access/bionic/libc/bionic/access.cpp监控应用读取的文件访问状态
__fgets_chk/bionic/libc/include/bits/fortify/stdio.h监控应用读取的文本信息
dlopen_ext/bionic/linker/dlfcn.cpp监控应用打开的库文件
dlsym_impl/bionic/linker/dlfcn.cpp监控应用获取的库文件函数

2 kernel 内核桩点,现在很多应用都会使用svc调用,故内核桩点也得打

__NR_inotify_add_watchfs/notify/inotify/inotify_user.c
__NR_openatfs/open.c
__NR_mmap2mm/mmap.c
__NR_socketnet/socket.c
__NR_newfstatatfs/stat.c
__NR_mprotectmm/mprotect.c
__NR_readlinkatfs/stat.c
__NR_connectnet/socket.c
__NR_faccessat/fs/open.c
__NR_ptrace/kernel/ptrace.c

3 其他桩点

call_function/bionic/linker/linker_soinfo.cpp打印所有动态库 init_array函数地址
RegisterNative/art/runtime/art_method.cc打印所有动态注册的函数地址
InvokeWithArgArray/art/runtime/reflection.cc打印JNI call的函数调用关系
DoCall/art/runtime/interpreter/interpreter_common.cc打印Java call的函数调用关系

效果:

打印init_array节函数地址

打印动态注册函数名及地址

检测虚拟机

 检测root

 检测frida

 ptrace反调试

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值