目录

充电学习中...

存档: 2021 年 07 月 (2)

使用frida-gumjs将sekiro注入到任意app进程 有更新!

使用frida-gumjs将sekiro注入到任意app进程 在之前的文章中,我们讨论了原生环境下,使用NPS和Sekiro在黑盒调用场景下的一些差别和优劣,其中提到Sekiro相比于NPS,对目标应用的代码有入侵性,在实际应用时,如果要向目标app进程注入sekiro,常用的途径一般是利用xposed模块,除此之外可能就需要解包添加代码。而本文重点介绍这一需求的另一种实现方式,即先将Sekiro打包成dex文件,然后通过Frida进行载入。当然,在这之前我们需要先将Frida进行持久化,实现的方式有两中,一是使用frida-inject实现脱离pc环境运行,二是借助Magisk的Riru模块将frida-gumjs引擎注入孵化器。由于第一种方案需要执行shell命令来启动app,因此我们暂不考虑。第二种实现方式见文章。 1.将Sekiro打包成Dex文件 这一步骤我们直接用Android Studio实现,新建一个空白的安卓项目,然后引入Sekiro库,如下 implementation 'com.virjar.sekiro.business:sekiro-business-api:....

Xcubebase_Riru打包部署实践(过反调试、Frida持久化) 有更新!

Xcubebase_Riru打包部署实践(过反调试、Frida持久化) 一、需求起因 在研究某加壳APP时,发现其做了反调试,无法直接使用frida。使用adb shell查看包名下的进行列表,并结合加固壳特征发现,此app的壳使用了双进程保护,主线程已经被子进程ptrace,并且检测到子进程关闭后,主进程也会自动关闭。由于需求是只需要对其做hook分析即可,经过搜索找到一个曲线救国的方案。 简单来说,此方案的原理即是利用Magisk模块Riru,将frida-gumjs注入到孵化器进程,以达到hook的目的,由于没有调试行为,所以也不会受到反调试的影响 二、打包Xcubebases_riru 此处先介绍xcubebase_riru模块的build,主要的坑都在这里 作者的git项目使用的是版本为10的Riru,而目前最新版本已经到了25,经过测试,直接将此项目clone下来是无法build的,我的做法是参照Riru Demo项目的设置,将Riru的版本升级到25 下面是需要改动的地方 1.gradle文件名 将项目根目录的module.example.gradle文件名修改为modu....