android.hardware.Camera.PreviewCallback#com.android.reverse.util.Logger源码实例Demo

下面列出了android.hardware.Camera.PreviewCallback#com.android.reverse.util.Logger 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: ZjDroid   文件: DumpClassCommandHandler.java
@Override
public void doAction() {
	String[] loadClass = DexFileInfoCollecter.getInstance().dumpLoadableClass(mCookie);
	if (loadClass != null) {
		Logger.log("Start Loadable ClassName ->");
		String className = null;
		for (int i = 0; i < loadClass.length; i++) {
			className = loadClass[i];
			if (!this.isFilterClass(className)) {
				Logger.log("ClassName = " + className);
			}
		}
		Logger.log("End Loadable ClassName");
	}else{
		Logger.log("Can't find class loaded by the dex");
	}
}
 
源代码2 项目: ZjDroid   文件: ActivityThreadHook.java
@Override
public void startHook() {
	// TODO Auto-generated method stub
	try {
		Class receiverDataClass = Class.forName("android.app.ActivityThread$ReceiverData");
		if (receiverDataClass != null) {
			Method handleReceiverMethod = RefInvoke.findMethodExact("android.app.ActivityThread", ClassLoader.getSystemClassLoader(),
					"handleReceiver", receiverDataClass);
			hookhelper.hookMethod(handleReceiverMethod, new AbstractBahaviorHookCallBack() {

				@Override
				public void descParam(HookParam param) {
					Logger.log_behavior("The Receiver Information:");
					Object data = param.args[0];
					Logger.log_behavior(data.toString());
					
				}
			});
		}
	} catch (ClassNotFoundException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
}
 
源代码3 项目: ZjDroid   文件: DexFileInfoCollecter.java
/**
     * @param mCookies
     * @return 所有可用的dexFile的mCookie
     */

    public static long[] parseMCookies(Object mCookies) {

        if (mCookies instanceof Integer) {
            return new long[]{(Integer) mCookies};
        } else if (mCookies instanceof Long) {
            return new long[]{(Long) mCookies};
        } else if (mCookies instanceof long[]) {
            long[] cookies = ((long[]) mCookies);
            long[] longs = new long[cookies.length - 1];
//            sdk23开始的art虚拟机中,mCookie为long[],其中第一个为oatFile,余下的为(o)dexFile
//            摘自源码:
//            constexpr size_t kOatFileIndex = 0;
//            constexpr size_t kDexFileIndexStart = 1;
            System.arraycopy(cookies, 1, longs, 0, longs.length);
            return longs;
        } else {
            //没有满足的情况
            Logger.log("bad mCookies at " + DexFileInfoCollecter.class.getName() + "#" + "parseMCookies(Object) :" + mCookies);
            return null;
        }


    }
 
源代码4 项目: HeyGirl   文件: ConnectivityManagerHook.java
@Override
public void startHook() {
	
	Method setMobileDataEnabledmethod = RefInvoke.findMethodExact(
			"android.net.ConnectivityManager", ClassLoader.getSystemClassLoader(),
			"setMobileDataEnabled",boolean.class);
	hookhelper.hookMethod(setMobileDataEnabledmethod, new AbstractBahaviorHookCallBack() {
		
		@Override
		public void descParam(HookParam param) {
			boolean status = (Boolean) param.args[0];
			Logger.log("Set MobileDataEnabled = "+status);
		}
	});
	
}
 
源代码5 项目: ZjDroid   文件: ActivityThreadHook.java
@Override
public void startHook() {
	try {
		Class receiverDataClass = Class.forName("android.app.ActivityThread$ReceiverData");
		if (receiverDataClass != null) {
			Method handleReceiverMethod = RefInvoke.findMethodExact("android.app.ActivityThread", ClassLoader.getSystemClassLoader(),
					"handleReceiver", receiverDataClass);
			hookhelper.hookMethod(handleReceiverMethod, new AbstractBahaviorHookCallBack() {

				@Override
				public void descParam(HookParam param) {
					Logger.log_behavior("The Receiver Information:");
					Object data = param.args[0];
					Logger.log_behavior(data.toString());
					
				}
			});
		}
	} catch (ClassNotFoundException e) {
		e.printStackTrace();
	}
}
 
源代码6 项目: ZjDroid   文件: RuntimeHook.java
@Override
public void startHook() {

	Method execmethod = RefInvoke.findMethodExact(
			"java.lang.Runtime", ClassLoader.getSystemClassLoader(),
			"exec", String[].class,String[].class,File.class);
	hookhelper.hookMethod(execmethod, new AbstractBahaviorHookCallBack() {			
		@Override
		public void descParam(HookParam param) {
			Logger.log_behavior("Create New Process ->");
			String[] progs = (String[]) param.args[0];
			for(int i=0 ;i <progs.length; i++){
			   Logger.log_behavior("Command" + i + " = "+progs[i]);
			}
		}
	});
	
}
 
源代码7 项目: ZjDroid   文件: ProcessBuilderHook.java
@Override
public void startHook() {
	// TODO Auto-generated method stub
	Method execmethod = RefInvoke.findMethodExact(
			"java.lang.ProcessBuilder", ClassLoader.getSystemClassLoader(),
			"start");
	hookhelper.hookMethod(execmethod, new AbstractBahaviorHookCallBack() {			
		@Override
		public void descParam(HookParam param) {
			// TODO Auto-generated method stub
			Logger.log_behavior("Create New Process ->");
			ProcessBuilder pb = (ProcessBuilder) param.thisObject;
			List<String> cmds = pb.command();
			StringBuilder sb = new StringBuilder();
			for(int i=0 ;i <cmds.size(); i++){
			   sb.append("CMD"+i+":"+cmds.get(i)+" ");
			}
			Logger.log_behavior("Command" + sb.toString());
		}
	});
}
 
源代码8 项目: ZjDroid   文件: NetWorkHook.java
@Override
public void startHook() {
	// HttpURLConnection
	Method openConnectionMethod = RefInvoke.findMethodExact("java.net.URL", ClassLoader.getSystemClassLoader(), "openConnection");
	hookhelper.hookMethod(openConnectionMethod, new AbstractBahaviorHookCallBack() {
		@Override
		public void descParam(HookParam param) {
			URL url = (URL) param.thisObject;
			Logger.log_behavior("Connect to URL ->");
			Logger.log_behavior("The URL = " + url.toString());
		}
	});

	if(Build.VERSION.SDK_INT < 23){
		httpHook = new ApacheHttpHook();

		httpHook.startHook();

	}



}
 
源代码9 项目: ZjDroid   文件: CommandBroadcastReceiver.java
@Override
public void onReceive(final Context arg0, Intent arg1) {
	if (INTENT_ACTION.equals(arg1.getAction())) {
		try {
			int pid = arg1.getIntExtra(TARGET_KEY, 0);
			if (pid == android.os.Process.myPid()) {
				String cmd = arg1.getStringExtra(COMMAND_NAME_KEY);
				final CommandHandler handler = CommandHandlerParser
						.parserCommand(cmd);
				if (handler != null) {
					new Thread(new Runnable() {
						@Override
						public void run() {
							handler.doAction();
						}
					}).start();
				}else{
					Logger.log("the cmd is invalid");
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}
 
源代码10 项目: zjdroid   文件: DexBackedMethod.java
public DexBackedMethod(@Nonnull DexReader reader,
                       @Nonnull DexBackedClassDef classDef,
                       int previousMethodIndex) {
    this.dexFile = reader.dexBuf;
    this.classDef = classDef;

    // large values may be used for the index delta, which cause the cumulative index to overflow upon
    // addition, effectively allowing out of order entries.
    int methodIndexDiff = reader.readLargeUleb128();
    this.methodIndex = methodIndexDiff + previousMethodIndex;
    this.accessFlags = reader.readSmallUleb128();
    this.codeOffset = reader.readSmallUleb128();
    Logger.log("the codeoffset :" +this.codeOffset);
    this.methodAnnotationSetOffset = 0;
    this.parameterAnnotationSetListOffset = 0;
}
 
源代码11 项目: ZjDroid   文件: DexBackedMethod.java
public DexBackedMethod(@Nonnull DexReader reader,
                       @Nonnull DexBackedClassDef classDef,
                       int previousMethodIndex) {
    this.dexFile = reader.dexBuf;
    this.classDef = classDef;

    // large values may be used for the index delta, which cause the cumulative index to overflow upon
    // addition, effectively allowing out of order entries.
    int methodIndexDiff = reader.readLargeUleb128();
    this.methodIndex = methodIndexDiff + previousMethodIndex;
    this.accessFlags = reader.readSmallUleb128();
    this.codeOffset = reader.readSmallUleb128();
    Logger.log("the codeoffset :" +this.codeOffset);
    this.methodAnnotationSetOffset = 0;
    this.parameterAnnotationSetListOffset = 0;
}
 
源代码12 项目: zjdroid   文件: ContextImplHook.java
@Override
public void startHook() {
	// TODO Auto-generated method stub
	Method registerReceivermethod = RefInvoke.findMethodExact(
			"android.app.ContextImpl", ClassLoader.getSystemClassLoader(),
			"registerReceiver", BroadcastReceiver.class,IntentFilter.class);
	hookhelper.hookMethod(registerReceivermethod, new AbstractBahaviorHookCallBack() {
		
		@Override
		public void descParam(HookParam param) {
			// TODO Auto-generated method stub				
			Logger.log_behavior("Register BroatcastReceiver");
			Logger.log_behavior("The BroatcastReceiver ClassName = "+param.args[0].getClass().toString());
			if(param.args[1] != null){
			   String intentstr = descIntentFilter((IntentFilter) param.args[1]);
			   Logger.log_behavior("Intent Action = ["+intentstr+"]");
			}
		}
	});
}
 
源代码13 项目: zjdroid   文件: ActivityThreadHook.java
@Override
public void startHook() {
	// TODO Auto-generated method stub
	try {
		Class receiverDataClass = Class.forName("android.app.ActivityThread$ReceiverData");
		if (receiverDataClass != null) {
			Method handleReceiverMethod = RefInvoke.findMethodExact("android.app.ActivityThread", ClassLoader.getSystemClassLoader(),
					"handleReceiver", receiverDataClass);
			hookhelper.hookMethod(handleReceiverMethod, new AbstractBahaviorHookCallBack() {

				@Override
				public void descParam(HookParam param) {
					Logger.log_behavior("The Receiver Information:");
					Object data = param.args[0];
					Logger.log_behavior(data.toString());
					
				}
			});
		}
	} catch (ClassNotFoundException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
}
 
源代码14 项目: zjdroid   文件: AudioRecordHook.java
@Override
public void startHook() {
	// TODO Auto-generated method stub
	Method startRecordingMethod = RefInvoke.findMethodExact(
			"android.media.AudioRecord", ClassLoader.getSystemClassLoader(),
			"startRecording");
	hookhelper.hookMethod(startRecordingMethod, new AbstractBahaviorHookCallBack() {
		
		@Override
		public void descParam(HookParam param) {
			// TODO Auto-generated method stub
			Logger.log_behavior("Audio Recording ->");
		}
	});
	
}
 
源代码15 项目: zjdroid   文件: RuntimeHook.java
@Override
public void startHook() {

	Method execmethod = RefInvoke.findMethodExact(
			"java.lang.Runtime", ClassLoader.getSystemClassLoader(),
			"exec", String[].class,String[].class,File.class);
	hookhelper.hookMethod(execmethod, new AbstractBahaviorHookCallBack() {			
		@Override
		public void descParam(HookParam param) {
			// TODO Auto-generated method stub
			Logger.log_behavior("Create New Process ->");
			String[] progs = (String[]) param.args[0];
			for(int i=0 ;i <progs.length; i++){
			   Logger.log_behavior("Command" + i + " = "+progs[i]);
			}
		}
	});
	
}
 
源代码16 项目: zjdroid   文件: ProcessBuilderHook.java
@Override
public void startHook() {
	// TODO Auto-generated method stub
	Method execmethod = RefInvoke.findMethodExact(
			"java.lang.ProcessBuilder", ClassLoader.getSystemClassLoader(),
			"start");
	hookhelper.hookMethod(execmethod, new AbstractBahaviorHookCallBack() {			
		@Override
		public void descParam(HookParam param) {
			// TODO Auto-generated method stub
			Logger.log_behavior("Create New Process ->");
			ProcessBuilder pb = (ProcessBuilder) param.thisObject;
			List<String> cmds = pb.command();
			StringBuilder sb = new StringBuilder();
			for(int i=0 ;i <cmds.size(); i++){
			   sb.append("CMD"+i+":"+cmds.get(i)+" ");
			}
			Logger.log_behavior("Command" + sb.toString());
		}
	});
}
 
源代码17 项目: zjdroid   文件: ConnectivityManagerHook.java
@Override
public void startHook() {
	
	Method setMobileDataEnabledmethod = RefInvoke.findMethodExact(
			"android.net.ConnectivityManager", ClassLoader.getSystemClassLoader(),
			"setMobileDataEnabled",boolean.class);
	hookhelper.hookMethod(setMobileDataEnabledmethod, new AbstractBahaviorHookCallBack() {
		
		@Override
		public void descParam(HookParam param) {
			boolean status = (Boolean) param.args[0];
			Logger.log("Set MobileDataEnabled = "+status);
		}
	});
	
}
 
源代码18 项目: zjdroid   文件: ReverseXposedModule.java
@Override
public void handleLoadPackage(LoadPackageParam lpparam) throws Throwable {
	// TODO Auto-generated method stub
	if(lpparam.appInfo == null || 
			(lpparam.appInfo.flags & (ApplicationInfo.FLAG_SYSTEM | ApplicationInfo.FLAG_UPDATED_SYSTEM_APP)) !=0){
		return;
	}else if(lpparam.isFirstApplication && !ZJDROID_PACKAGENAME.equals(lpparam.packageName)){
	  Logger.PACKAGENAME = lpparam.packageName;
	  Logger.log("the package = "+lpparam.packageName +" has hook");
	  Logger.log("the app target id = "+android.os.Process.myPid());
	  PackageMetaInfo pminfo = PackageMetaInfo.fromXposed(lpparam);
	  ModuleContext.getInstance().initModuleContext(pminfo);
	  DexFileInfoCollecter.getInstance().start();
	  LuaScriptInvoker.getInstance().start();
	  ApiMonitorHookManager.getInstance().startMonitor();
	}else{
		
	}
}
 
源代码19 项目: HeyGirl   文件: DexBackedMethod.java
public DexBackedMethod(@Nonnull DexReader reader,
                       @Nonnull DexBackedClassDef classDef,
                       int previousMethodIndex) {
    this.dexFile = reader.dexBuf;
    this.classDef = classDef;

    // large values may be used for the index delta, which cause the cumulative index to overflow upon
    // addition, effectively allowing out of order entries.
    int methodIndexDiff = reader.readLargeUleb128();
    this.methodIndex = methodIndexDiff + previousMethodIndex;
    this.accessFlags = reader.readSmallUleb128();
    this.codeOffset = reader.readSmallUleb128();
    Logger.log("the codeoffset :" +this.codeOffset);
    this.methodAnnotationSetOffset = 0;
    this.parameterAnnotationSetListOffset = 0;
}
 
源代码20 项目: ZjDroid   文件: AlarmManagerHook.java
@Override
public void startHook() {
	
	Method setImplmethod = RefInvoke.findMethodExact(
			"android.app.AlarmManager", ClassLoader.getSystemClassLoader(),
			"setImpl",int.class,long.class,long.class,long.class,PendingIntent.class,WorkSource.class);
	hookhelper.hookMethod(setImplmethod, new AbstractBahaviorHookCallBack() {
		
		@Override
		public void descParam(HookParam param) {
			Logger.log_behavior("The Alarm Information:");
			PendingIntent intent = (PendingIntent) param.args[4];
			descPendingIntent(intent);
			Logger.log_behavior("TriggerAtMillis = "+param.args[1]);
			Logger.log_behavior("windowMillis = "+param.args[2]);
			Logger.log_behavior("intervalMillis = "+param.args[3]);

		}
	});
	
}
 
源代码21 项目: HeyGirl   文件: DumpClassCommandHandler.java
@Override
public void doAction() {
	// TODO Auto-generated method stub
	String[] loadClass = DexFileInfoCollecter.getInstance().dumpLoadableClass(dexpath);
	if (loadClass != null) {
		Logger.log("Start Loadable ClassName ->");
		String className = null;
		for (int i = 0; i < loadClass.length; i++) {
			className = loadClass[i];
			if (!this.isFilterClass(className)) {
				Logger.log("ClassName = " + className);
			}
		}
		Logger.log("End Loadable ClassName");
	}else{
		Logger.log("Can't find class loaded by the dex");
	}
}
 
源代码22 项目: ZjDroid   文件: AudioRecordHook.java
@Override
public void startHook() {
	// TODO Auto-generated method stub
	Method startRecordingMethod = RefInvoke.findMethodExact(
			"android.media.AudioRecord", ClassLoader.getSystemClassLoader(),
			"startRecording");
	hookhelper.hookMethod(startRecordingMethod, new AbstractBahaviorHookCallBack() {
		
		@Override
		public void descParam(HookParam param) {
			// TODO Auto-generated method stub
			Logger.log_behavior("Audio Recording ->");
		}
	});
	
}
 
源代码23 项目: HeyGirl   文件: ActivityThreadHook.java
@Override
public void startHook() {
	// TODO Auto-generated method stub
	try {
		Class receiverDataClass = Class.forName("android.app.ActivityThread$ReceiverData");
		if (receiverDataClass != null) {
			Method handleReceiverMethod = RefInvoke.findMethodExact("android.app.ActivityThread", ClassLoader.getSystemClassLoader(),
					"handleReceiver", receiverDataClass);
			hookhelper.hookMethod(handleReceiverMethod, new AbstractBahaviorHookCallBack() {

				@Override
				public void descParam(HookParam param) {
					Logger.log_behavior("The Receiver Information:");
					Object data = param.args[0];
					Logger.log_behavior(data.toString());
					
				}
			});
		}
	} catch (ClassNotFoundException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
}
 
源代码24 项目: HeyGirl   文件: AudioRecordHook.java
@Override
public void startHook() {
	// TODO Auto-generated method stub
	Method startRecordingMethod = RefInvoke.findMethodExact(
			"android.media.AudioRecord", ClassLoader.getSystemClassLoader(),
			"startRecording");
	hookhelper.hookMethod(startRecordingMethod, new AbstractBahaviorHookCallBack() {
		
		@Override
		public void descParam(HookParam param) {
			// TODO Auto-generated method stub
			Logger.log_behavior("Audio Recording ->");
		}
	});
	
}
 
源代码25 项目: HeyGirl   文件: RuntimeHook.java
@Override
public void startHook() {

	Method execmethod = RefInvoke.findMethodExact(
			"java.lang.Runtime", ClassLoader.getSystemClassLoader(),
			"exec", String[].class,String[].class,File.class);
	hookhelper.hookMethod(execmethod, new AbstractBahaviorHookCallBack() {			
		@Override
		public void descParam(HookParam param) {
			// TODO Auto-generated method stub
			Logger.log_behavior("Create New Process ->");
			String[] progs = (String[]) param.args[0];
			for(int i=0 ;i <progs.length; i++){
			   Logger.log_behavior("Command" + i + " = "+progs[i]);
			}
		}
	});
	
}
 
源代码26 项目: HeyGirl   文件: ProcessBuilderHook.java
@Override
public void startHook() {
	// TODO Auto-generated method stub
	Method execmethod = RefInvoke.findMethodExact(
			"java.lang.ProcessBuilder", ClassLoader.getSystemClassLoader(),
			"start");
	hookhelper.hookMethod(execmethod, new AbstractBahaviorHookCallBack() {			
		@Override
		public void descParam(HookParam param) {
			// TODO Auto-generated method stub
			Logger.log_behavior("Create New Process ->");
			ProcessBuilder pb = (ProcessBuilder) param.thisObject;
			List<String> cmds = pb.command();
			StringBuilder sb = new StringBuilder();
			for(int i=0 ;i <cmds.size(); i++){
			   sb.append("CMD"+i+":"+cmds.get(i)+" ");
			}
			Logger.log_behavior("Command" + sb.toString());
		}
	});
}
 
源代码27 项目: HeyGirl   文件: AlarmManagerHook.java
@Override
public void startHook() {
	
	Method setImplmethod = RefInvoke.findMethodExact(
			"android.app.AlarmManager", ClassLoader.getSystemClassLoader(),
			"setImpl",int.class,long.class,long.class,long.class,PendingIntent.class,WorkSource.class);
	hookhelper.hookMethod(setImplmethod, new AbstractBahaviorHookCallBack() {
		
		@Override
		public void descParam(HookParam param) {
			Logger.log_behavior("The Alarm Information:");
			PendingIntent intent = (PendingIntent) param.args[4];
			if(intent != null)
			   descPendingIntent(intent);
			Logger.log_behavior("TriggerAtMillis = "+param.args[1]);
			Logger.log_behavior("windowMillis = "+param.args[2]);
			Logger.log_behavior("intervalMillis = "+param.args[3]);

		}
	});
	
}
 
源代码28 项目: ZjDroid   文件: DexBackedDexFile.java
public DexBackedDexFile(Opcodes opcodes,MemoryDexFileItemPointer pointer, MemoryReader reader){
	super(reader,pointer.getBaseAddr());
	this.pointer = pointer;
	this.opcodes = opcodes;
	this.reader = reader;
	this.type = DexFileDataType.MEMORYTYPE;
    stringCount = 0;
    stringStartOffset = this.pointer.getpStringIds()-this.pointer.getBaseAddr();
    typeCount = 0;
    typeStartOffset = this.pointer.getpTypeIds() - this.pointer.getBaseAddr();
    protoCount = 0;
    protoStartOffset = this.pointer.getpProtoIds() - this.pointer.getBaseAddr();
    fieldCount = 0;
    fieldStartOffset = this.pointer.getpFieldIds()-this.pointer.getBaseAddr();
    methodCount = 0;
    methodStartOffset = this.pointer.getpMethodIds()- this.pointer.getBaseAddr();
    classCount = this.pointer.getClassCount();
    classStartOffset = this.pointer.getpClassDefs() - this.pointer.getBaseAddr();
    Logger.log("the dexfile header item info start-->>>>>>>>>>");
    Logger.log("the stringStartOffset =" + stringStartOffset);
    Logger.log("the typeStartOffset =" + typeStartOffset);
    Logger.log("the protoStartOffset =" + protoStartOffset);
    Logger.log("the fieldStartOffset =" + fieldStartOffset);
    Logger.log("the methodStartOffset =" + methodStartOffset);
    Logger.log("the classStartOffset =" + classStartOffset);
    Logger.log("the classCount =" + classCount);
    Logger.log("the dexfile header item info end<<<<<<<<<<<--");
    
}
 
源代码29 项目: ZjDroid   文件: LuaScriptInvoker.java
public void invokeScript(String script){
	LuaState luaState = LuaStateFactory.newLuaState();
	luaState.openLibs();
	this.initLuaContext(luaState);
	int error = luaState.LdoString(script);
	if(error!=0){
		Logger.log("Read/Parse lua error. Exit");
		return;
	}
	
	luaState.close();
}
 
源代码30 项目: ZjDroid   文件: LuaScriptInvoker.java
@Override
public int execute() throws LuaException {
	
	int param_size = this.L.getTop();
	if(param_size ==2 ){
		String message = this.L.getLuaObject(2).getString();
		Logger.log(message);
	}
	
	return 0;
}