Cydia Substrate插件编写

一、安装Cydia Substrate

官方下载:http://www.cydiasubstrate.com/

官方文档:http://www.cydiasubstrate.com/id/38be592b-bda7-4dd2-b049-cec44ef7a73b/

1、点击Link Substrate Files

2、获取root权限

3、重启设备

Cydia Substrate插件编写_第1张图片

二、编写插件

1、配置确定文件

    
 

2、编写代码

public class Main {
	 static void initialize() {
	        Log.d("JAVAHOOK", "initialize");
	        //指定的类被加载的时候发出通知
	        MS.hookClassLoad("android.content.res.Resources", new MS.ClassLoadHook() {
	            @Override
	            public void classLoaded(Class aClass) {
	                Log.d("JAVAHOOK", "calssloaded");
	                //从这个类中获取要hook的方法
	                Method getColor;
	                try {
	                    getColor = aClass.getMethod("getColor", Integer.TYPE);
	                } catch (Exception e) {
	                    getColor = null;
	                }
	                if (getColor != null) {
	                    final MS.MethodPointer old = new MS.MethodPointer();
	                    //该API允许开发者提供一个回调函数替换原来的方法
	                    MS.hookMethod(aClass, getColor, new MS.MethodHook() {
	                        @Override
	                        public Object invoked(Object o, Object... objects) throws Throwable {
	                            int color=(Integer) old.invoke(o,objects);
	                            return  color& ~0x0000ff00 | 0x00ff0000;
	                        }
	                    }, old);
	                }
	            }

	        });
	    }

}

三、最后效果

Cydia Substrate插件编写_第2张图片

你可能感兴趣的:(Android开发)