爱生活

标题: Dex加密(下)—替换Application,dex怎么加密 [打印本页]

作者: 123    时间: 2022-12-19 21:21
标题: Dex加密(下)—替换Application,dex怎么加密

Dex加密(下)—替换Application


在 dex加密 中我们使用了解密的ProxyApplication作为了application的name,但是通常我们都会在主App中自定义一个MyApplication,并在其中做一些初始化工作,这个时候我们就需要把ProxyApplication替换成原本的MyApplication。
   在替换之前,我们先看看Application在系统中是什么时候开始创建的。
   ActivityThread的main方法是一个进程的入口,这里会调用attach()方法,从而通过binder机制调用ActivityManagerService的attachApplication()方法,然后这个方法又反过来调用ActivityThread的bindApplication()方法,接着发Handler调用handleBindApplication()方法。
   在handleBindApplication方法中调用makeApplication去创建一个Application对象。
   在newApplication()中才是真的去创建一个新的Application。
   回过头来看看实例化完Application之后在哪些地方用到了这个Application。
   替换完成之后看看四大组件中Application是否改动:
                                           Activity和service已经修改成功,Provider修改失败了,BroadCastReciver有点不同是个ReceiverRestrictedContext。
   先看看 BroadCastReciver:
   在ActivityThread中的















欢迎光临 爱生活 (https://ish.ac.cn/) Powered by Discuz! X3