使用Xposed框架进行的简单HOOK

前面讲到使用Cydia Substrate进行hook,原文链接:http://www.blogfshare.com/cyidasubstrate.html

刚刚试了下Xposed框架进行HOOK,顺便记录下:

首先下载Xposed Installer,也就是Xposed安装器,下载地址为:http://repo.xposed.info/module/de.robv.android.xposed.installer

下载完直接安装即可,初次安装会出现Xposed框架未激活,点击进去点击安装/更新,然后授予root权限。

image

安装完成之后点击重启,重启后发现已激活状态。

QQ截图20150826232316

然后我们继续针对上次写的getCoin Demo进行HOOK。

一、新建Android工程,然后在AndroidManifest.xml配置Xposed的基本信息。

image

上面写的版本号是54,也就是我们用jar的版本号。

二、在工程目录下新建一个lib文件夹,将XposedBridgeApi-54.jar拷贝进去,然后右键–Build Path–Add to Build Path。

image

三、在assets目录下新建一个xposed_init文件。编辑内容为:包名+类名,这里我写的是com.monkey.myxpose.Main

四、编写代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package  com.monkey.myxpose ;

import  de.robv.android.xposed.IXposedHookLoadPackage ;
import  de.robv.android.xposed.XC_MethodHook ;
import  de.robv.android.xposed.XposedHelpers ;
import  de.robv.android.xposed.callbacks.XC_LoadPackage.LoadPackageParam ;

public  class Main  implements IXposedHookLoadPackage {

    @Override
     public  void handleLoadPackage (LoadPackageParam lpparam )  throws  Throwable  {
         // TODO Auto-generated method stub
         if ( !lpparam. packageName. equals ( "com.monkey.getcoin" ) ) {
             return ;
         }
        
        XposedHelpers. findAndHookMethod ( "com.monkey.getcoin.MainActivity", lpparam. classLoader"getCoin", new XC_MethodHook ( )  {
            @Override
             protected  void beforeHookedMethod (MethodHookParam param )  throws  Throwable  {
                 // TODO Auto-generated method stub
                 //super.beforeHookedMethod(param);
                param. setResult ( 99999 ) ;
             }
         } ) ;
     }
    
}

五、安装apk,安装完之后,打开Xposed Installer,点击模块,勾选我们刚刚安装的apk。

image

六、软重启,打开我们hook的Demo。

image

image

现在看到值已经被修改了~

现在简单介绍这么多,下次再做深入研究QAQ~

本文链接:http://www.blogfshare.com/xposed-hook.html

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页