使用Xposed框架HOOK任意函数及API
来源:互联网 发布:nginx lua set header 编辑:程序博客网 时间:2024/04/29 18:18
感谢作者 http://0nly3nd.sinaapp.com/?p=613
0×1
建立一个空的工程
0×2
AndroidManifest.xml
2.1 修改包名
修改为:package=”com.test.xposedmodel“
2.2 添加标识
第二个是载入model之后显示的信息
第三个是规定jar包的版本信息
0×3
XposedBridgeApi.jar
在工程目录下新建一个lib文件夹。将下载好的XposedBridgeApi-54.jar包放入其中。
在工程里 右键–Build Path–Add to Build Path。
0×4
assets/xposed_init
在assets目录下新建一个xposed_init文件。
内容为:包名+类名,如:com.test.xposedtestmodel.Main
0×5
hook函数的编写(自定义函数)
5.1
目标apk,我自己写了一个用来测试的apk。
包名为:com.example.forhook
类名:MainActivity
里面有一个函数:sayhello
原型为:
用了三个按钮分别进入三个分支
5.2 hook函数的编写
注:a、首先判断包名
b、调用findAndHookMethod(“包名+类名”, lpparam.classLoader, “要hook的函数名称”, 第一个参数类型, 第二个参数类型….. , new XC_MethodHook()
{
protectedvoid afterHookedMethod(MethodHookParam param)
{
//函数执行之后要做的操作
}
protectedvoid beforeHookedMethod(MethodHookParam param)
{
//函数执行之前要做的操作
}
});
c、我的例子中我在函数调用之前修改了函数的两个参数!
d、在调用之后,我将函数的两个参数显示出来,并修改函数的返回值!
5.3 效果
0×6
hook系统API
以Hook getNetworkOperatorName为例:
调用代码:
hook部分代码:
我在模拟器中测试,getNetworkOperatorName本应该返回“Android”。
在被hook之后,返回了“hook getNetworkOperatorName by lyz!”。
0 1
- 使用Xposed框架HOOK任意函数及API
- Xposed框架之函数Hook学习
- Xposed框架之函数Hook学习
- xposed hook框架的使用(一)
- xposed hook框架的使用(二)
- 使用渗透测试框架Xposed Framework hook调试Android APP
- 使用渗透测试框架Xposed Framework hook调试Android APP
- Android Hook框架Xposed详解
- Android Hook框架Xposed入门
- Android Hook框架Xposed进阶
- Android Hook框架Xposed入门
- Android.Hook框架xposed篇
- Android Hook框架Xposed入门
- Android xposed hook使用总结
- Hook框架xposed的简单demo
- android hook 框架 xposed 如何实现注入
- Xposed Android hook框架入门 -开发步骤
- Hook框架xposed的简单demo
- 小马哥----另类高仿红米 单 双卡机型详细拆机外观图与开机界面图 所谓的4G版机型,切勿与高仿红米互刷
- Action Bar(操作栏)
- VS2010生成静态库(.lib)
- Android ActionBarDrawerToggle、DrawerLayout、ActionBar 结合
- iOS 获取手机的型号,系统版本,软件名称,软件版本
- 使用Xposed框架HOOK任意函数及API
- windows系统错误代码大全
- 刀口舔血,步步惊心!——Android中小开发者/团队广告盈利全攻略
- Linux系统date命令无法修改或同步时间的解决办法
- SpringMVC RequestMapping 参数详解
- Unity 粒子特效被NGUI遮挡的问题
- WebP 探寻之路
- HTML5开发手机应用--viewport的作用
- GitHub上值得关注的iOS开源项目