频道栏目
IT货架 > > 正文
使用Cydia Substrate实现Android Hook
网友分享于:Jan 1, 1970 8:00:00 AM    来源: IT货架   

标签:

使用Cydia Substrate来实现Android hook,文章来自于官方提供的教程。

1、安装Cydia Substrate框架apk,手机必须root。

2、代码编写;

在manifest文件中声明如下:

<application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <meta-data
            android:name="com.saurik.substrate.main"
            android:value=".Main" />
</application>

<uses-permission android:name="cydia.permission.SUBSTRATE" />

Main类的代码如下:

public class Main {
    
    public static void initialize(){
        hookSaygoer() ;
    }
    
    static void hookResColor() {
        MS.hookClassLoad("android.content.res.Resources",
                new MS.ClassLoadHook() {

                    @Override
                    public void classLoaded(Class<?> resources) {
                        Method getColor = null;
                        try {
                            getColor = resources.getDeclaredMethod("getColor",Integer.TYPE);
                        } catch (NoSuchMethodException e) {
                            e.printStackTrace();
                        }
                        if (getColor != null) {
                            MS.hookMethod(resources,getColor,
                                    new MS.MethodAlteration<Resources, Integer>() {
                                        public Integer invoked(Resources resources,
                                                Object... args)
                                                throws Throwable {
                                            return invoke(resources, args)& ~0x0000ff00 | 0x00ff0000;
                                        }
                                    });
                        }
                    }
                });
    }
    
}

其中initialize()相当于入口函数,代码实现的效果图如下:

技术分享技术分享技术分享

个人感觉Cydia Substrate是基于类加载,方法调用,关键还是依赖于Java反射,Android系统源码可读的当然可以进行修改,如果是第三方程序进行了代码混淆或者加密的,那么Java反射失效,此框架还有用吗?

使用Cydia Substrate实现Android Hook

标签:

广告服务联系QQ:1134687142 | 网站地图

版权所有: IT货架- 内容来自互联网,仅供用于技术学习,请遵循相关法律法规. 京ICP备11030978号-1