Open rainggo opened 1 year ago
你去看机型对应的AlivePullStartup 和AlivePullStartUpImpl 与 CommonAlivePullStartUp就能知道该咋利用了。重要的也就这几个文件。调用链在往上都是一些接口类没啥值得看的。而AlivePullStartUpImpl是整个调用的核心,通过他才能让整个恶意代码开始工作。
AlivePullStartUpImpl 里的这个方法是调用恶意代码运行的。
private IManuAlivePullStartUp getManuAlivePullStartUp() { return (RomOsUtil.instance().isNewHuaweiManufacture() || RomOsUtil.instance().isHonerManufacture()) ? new HwAlivePullStartup() : RomOsUtil.instance().isOppo() ? new OppoAlivePullStartup() : RomOsUtil.instance().isSamsung() ? new SamsungAlivePullStartup() : RomOsUtil.instance().isXiaomiManufacture() ? new MiAlivePullStartUp() : RomOsUtil.instance().isVivoManufacture() ? new VivoAlivePullStartUp() : new DummyManuPullStartUp(); }
AlivePullStartUpImpl我也看了好久, 有几个比较关键的方法。
AlivePullStartUpImpl我也看了好久, 有几个比较关键的方法。
- startSpecialActivity,绑定了PDD的一个服务,好像是让这个服务去启动activity
- startAccount, 好像是通过一些手段,尝试在在后台启动Activity(Android中是限制后台起Activity的)
- makeBundle, 关键的漏洞代码在这里, 但是不知道怎么使用的,也没看明白Bundle里面放了什么东西
反编译代码然后按照代码的思路写一份然后运行不就知道效果了, 光看没啥用要写代码然后编译运行。
AlivePullStartUpImpl我也研究了好久,有几个比较关键的方法。
- startSpecialActivity,绑定了PDD的一个服务,希望让这个服务去启动activity
- startAccount,希望是通过一些手段,尝试在后台启动Activity(Android中是限制后台启动Activity的)
- makeBundle,关键的漏洞代码在这里,但是不知道怎么使用的,也不看明白Bundle里面放了什么东西
您这边复现了吗,我通过AlivePullStartUpImpl获得bundle,但是我卡在context上了,仿佛context并没有获得提权
老设备无力抵抗,遍地开花