首页
社区
课程
招聘
[原创]绕过爱奇艺新版libmsaoaidsec.so Frida检测
发表于: 2024-3-3 22:20 37782

[原创]绕过爱奇艺新版libmsaoaidsec.so Frida检测

2024-3-3 22:20
37782
收藏
免费 40
支持
分享
最新回复 (66)
雪    币: 102
活跃值: (2150)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
26
linkin5epk 我们看这一行[pid 15576] [000000751926c008] exit_group(0 ,显示15576线程是在0x751926c008地址处调用exit_group退出的,通过proc/ ...
他的意思是exit退出这个函数并不在libc.so的地址范围内,说明这个exit的代码很可能是动态申请的,所以才会关注后面的mmap动态申请内存的函数,而这个mmap申请的返回值基址是0x751926c000,正好0x751926c008在这里面,说明exit退出这个函数代码就是在这段动态申请的地址里。
2024-3-8 10:28
0
雪    币: 632
活跃值: (774)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
27
linkin5epk 我们看这一行[pid 15576] [000000751926c008] exit_group(0 ,显示15576线程是在0x751926c008地址处调用exit_group退出的,通过proc/ ...
动态释放代码:通过mmap申请内存,把exit_group系统调用的汇编指令写到这段内存中,然后执行。此时如果用strace查看exit_group系统调用的地址就在前面mmap申请内存的空间范围里。
2024-3-8 12:57
0
雪    币: 632
活跃值: (774)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
28
jueqingqiai Log 如何打印的 id 和 ThreadId?
  static log(msg: string) {
      let pid = Process.id
      let tid = Process.getCurrentThreadId()
      msg = pid + '-' + tid + ' ' + msg
      console.log(`${msg}`)
    }
  }
2024-3-8 12:59
0
雪    币: 27
活跃值: (1065)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
29
yyy123 动态释放代码:通过mmap申请内存,把exit_group系统调用的汇编指令写到这段内存中,然后执行。此时如果用strace查看exit_group系统调用的地址就在前面mmap申请内存的空间范围里。

大佬太强啦懂了懂了...我一开始理解成动态释放内存了....现在我的理解是系统调用的汇编代码是动态释放执行的吧...所以安卓系统调用只能通过libc库实现?或者直接执行汇编?exit_group的执行地址不在libc.so中,所以是动态释放的汇编代码来执行?(但是我ida查看libc.so也没有exit_group的导出函数?这是为什么呢?)

最后于 2024-3-8 14:57 被linkin5epk编辑 ,原因:
2024-3-8 14:43
0
雪    币: 27
活跃值: (1065)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
30
koflfy 他的意思是exit退出这个函数并不在libc.so的地址范围内,说明这个exit的代码很可能是动态申请的,所以才会关注后面的mmap动态申请内存的函数,而这个mmap申请的返回值基址是0x751926 ...
嗯嗯嗯,思路转过来了....我的我的,太辣了我
2024-3-8 14:56
0
雪    币: 344
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
31
我是把这个文件删掉
2024-3-8 15:53
0
雪    币: 136
活跃值: (1525)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
32
牛逼,学习了
2024-3-14 11:12
0
雪    币: 268
活跃值: (856)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
33
学习了,新的思路
2024-3-14 14:06
0
雪    币: 180
活跃值: (1323)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
34
请教一下:
[pid 15576] [000000751926c008] exit_group(0 <unfinished ...>  这行前面还有一个exit(0),怎么忽略了呢?感觉这个exit(0)也很重要啊,exit_group是svc退出吗?strace能够监控svc退出吗?
2024-3-14 16:00
0
雪    币: 357
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
35

用的确实是arm64的包,15.2.5版本,

目前百度手机助手还是没有更新,爱奇艺 百度手机助手 15.2.5版本,ARM64位的

< hook mmap打印一下调用栈 if(parseInt(length, 16) == 28)  >

为啥我这里这个判断一直进不去呀?进去之后一直获取不到 前线程的回溯 和符号(函数名、类名),并且程序视乎被暂停了

最后于 2024-3-15 01:36 被mb_xsfdfkko编辑 ,原因:
2024-3-14 23:19
0
雪    币: 632
活跃值: (774)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
36
Damn7Kx 我是把这个文件删掉[em_86]
牛逼,这个好使
2024-3-15 14:51
0
雪    币: 27
活跃值: (1065)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
37
mb_xsfdfkko 用的确实是arm64的包,15.2.5版本,目前百度手机助手还是没有更新,爱奇艺 百度手机助手 15.2.5版本,ARM64位的&lt;&nbsp;hook&nbsp;mmap ...
确实,我复现的时候也是进不去
2024-3-15 19:20
0
雪    币: 220
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
38
手机怎么装 readelf
2024-3-23 14:19
0
雪    币: 831
活跃值: (122)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
39
不知道是什么原因,复现失败了,strace中可以观察到同样的mmap 28参数调用,但frida却无法hook到该条28参数的mmap,有哪位大佬能推测下可能是什么原因导致的嘛?
2024-4-4 10:06
1
雪    币: 0
活跃值: (452)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
40
????????????????????????????
2024-4-5 19:41
0
雪    币: 189
活跃值: (1625)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
41
大佬,附件的strace如何使用啊,谢谢。
2024-4-8 23:41
0
雪    币: 57
活跃值: (982)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
42
牛逼,感谢大佬分享,我好好学习学习
2024-4-10 15:21
0
雪    币: 90
活跃值: (591)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
43
strace 可以跟踪到svc么大佬
2024-4-11 14:58
0
雪    币: 75
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
44
666
2024-4-11 16:25
0
雪    币: 1
活跃值: (77)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
45
好像这个方案被公布后,人家修改了检测逻辑,后边的人又要等新的方案了。函数换成了munmap,应该是版本更新了
2024-4-15 13:08
0
雪    币: 3028
活跃值: (2522)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
46
linkin5epk 我们看这一行[pid 15576] [000000751926c008] exit_group(0 ,显示15576线程是在0x751926c008地址处调用exit_group退出的,通过proc/ ...
代码不是静态的,是通过解密或者什么方式,动态下发释放到内存中,然后执行,你看一下那块代码就知道了,exit__group不是libc调的

下面那个问题,mmap申请了一块内存,exit_group在申请等得那块内存附近执行,说明是先申请内存,后执行代码,把代码释放到了申请的内存中然后执行的
2024-4-15 15:32
0
雪    币: 20
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
47
strace -e trace=process,memory -i -f -p 25947
2024-4-27 11:04
0
雪    币: 20
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
48
strace -e trace=process,memory -i -f -p 25947
请问这个 pid是从哪来的呢,这个搜索的是什么应用的pid呢?
2024-4-27 11:05
0
雪    币: 234
活跃值: (1914)
能力值: ( LV5,RANK:73 )
在线值:
发帖
回帖
粉丝
49
学习了,谢谢分享
2024-4-27 21:05
0
雪    币: 657
活跃值: (5509)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
50
楼主 请教下strace这个工具怎么编译不同安卓版本的啊   我看文章都是编译aarch64的
2024-7-4 14:28
0
游客
登录 | 注册 方可回帖
返回
//