注入是事件处理流程如:
1 .View 接受到上报的Touch事件,被分发到相应的View的OnTouch事件中,
2.我可以通过覆盖这个方法,向InputManager中注入KeyCode事件,如:back,home等
3. .back ,home 等注入事件,然后分别通过Activity.java,和PhoneWindowsManager.java的处理Event实现功能
在3.0中,我可以通过
1 .framework/base/SystemUI/src/com/android/systemui/policy/KeyButtonView.java
可以看到注入事件使用IwindowManager接口中injectInputEventNoWait(KeyEvent event);
这个接口实现在WindowManagerService.java中
2 .然后WindowManagerService中将事件上报给相应的当前系统,被应用或者系统处理
====================================================================
下面是3.0中Home键的处理过程
1 .framework/base/SystemUI/src/com/android/systemui/policy/KeyButtonView.java 中,通过
injectInputEventNoWait ,输入Home键的keyCode(在Manifest中使用这个view中添加Keycode属性)
2 .Home事件在PhoneWindowManager中interceptKeyBeforeDispatching方法中被处理
3 .调用launchHomeFromHotKey();方法回到Launch主页面
===================================================================
android中,有4种注入输入事件的方法分别是:
1.boolean injectKeyEvent(in KeyEvent ev,boolean sync); //注入key事件
2.boolean injectPointerEvent(in MotionEvent ev,boolean sync); //注入mouse事件
3.boolean injectTrackballEvent(in MotionEvent ev,boolean sync); //注入轨迹球事件
4.boolean injectInputEventNoWait(in InputEvent ev); //注入输入事件
这个四个方法都是通过IWindowManager.aidl 方式提供给别的进程调用的。
可利用这个接口实现,windows鼠标,keyboard等事件通过socket传送给android,android的server实现注入事件,进而模拟windows的鼠标的事件,从而达到window鼠标控制android的系统。
分享到:
相关推荐
Dll注入 InjectDLL 一个把DLL注入到其它进程的程序
injectdll远程线程注入
exe将dll注入到explorer.exe资源管理器进程_DLL注入示例.zip
注入安卓服务或APK neweglSwapBuffers 用法: injector com.target.apk /data/local/tmp/libmy.so injector /system/bin/surfaceflinger /data/local/tmp/libmy64bit.so static EGLBoolean neweglSwapBuffers...
工作需要,前段时间网上找到的关于进程注入参考文档,分享一下
DLL注入有很多方法,远线程,钩子,输入法,劫持,APC等等。 现在的好多进程都有保护,特别是一些游戏有各种保护如TP TS HS NP CD GPK BE SG3等等保护,这样常规的注入方法就没效果了。 现在流行且稳定的注入方法...
远程注入源码,,很经典,需要的可以看看。含泪分享.
lsp方式注入到进程,lsp是微软提供的标准的socket拦截方式。
InjectDLL代码 实现远程线程注入.zip
VC代码 RT_INJECT (实用代码源)VC代码 RT_INJECT (实用代码源)VC代码 RT_INJECT (实用代码源)VC代码 RT_INJECT (实用代码源)VC代码 RT_INJECT (实用代码源)VC代码 RT_INJECT (实用代码源)VC代码 RT_INJECT (实用代码...
dll注入示例,c++编写,仅供学习参考
Web Application Security: A Survey of Prevention Techniques Against SQL Injection1 web安全,sql 注入方面的资料文档,E文。
Usage: injectdll.exe [process name] [dll path] [option number]option 1 - CreateRemoteThreadoption 2 - NtCreateThreadExoption 3 - RtlCreateUserThread
官网上说provide 和 inject 绑定并不是可响应的。这是刻意为之的。然而,如果你传入了一个可监听的对象,那么其对象的属性还是可响应的。 provide: Object | () => Object(一个对象或返回一个对象的函数) inject...
javax.inject.jar java 开发技术要用到,打包分享给大家,需要的下载学习哈!
sql注入测试程序,asp+access注入测试小程序
Spring 依赖的 javax.inject.Provider
linux-inject-master,linux注入so,类似于windows的远程线程注入,函数hook等; https://github.com/gaffe23/linux-inject
远程注入的一个例子,针对注入dll实现,以notepad.exe为例
支持注入,spring ,类别注入,很好用的jar包,还有原码和文档