android hook技术-Xposed框架 帮你轻松应对支付宝2016晒账单

一、支付宝2016年账单。

最近几天微信朋友圈充斥着各式的支付宝2016账单,对于程序员屌丝来说打开发现年度消费9W+,和他们动辄十几万的消费没得比,细看更有80%的消费还都是还信用卡,顿时万念俱灰啊!!!  有木有!!! 突然看到有人发出了负数的账单,也是醉了。。。看来在支付宝存了好几千万啊,才能赚支付宝钱。。。但是作为程序员还是要跟着时代潮流的,也想秀一把,怎么办呢??? 那就改数据吧,但是支付宝的网络请求和内部数据校验实在是赞,而且从打开来看应该是个网页。。。 既然此路不通我们换个思路,他们都秀消费,那我就秀存款吧!!!看图。。。




首先声明一下上图纯属个人好玩,修改支付宝页面数据而来的。。。完全不是真实信息。

换个思路不修改数据,那怎么办呢改显示内容,就需要祭出我们今天的重要工具Xposed框架,

二、Xposed框架了解。

Xposed框架是一款可以在不修改APK的情况下影响程序运行(修改系统)的框架服务,基于它可以制作出许多功能强大的模块,且在功能不冲突的情况下同时运作。


思路:hook系统函数,来替换文字。  一般android界面展示都会用TextView,所以我们就先hook系统的setText()方法来监听并且输出log来看是否能hook到我们需要
更改的内容。  有了思路就开始动手了。。。。。。

三、hook支付宝。

一、安装Xposed框架,前提需要root过的手机。在各大应用市场都是可以搜到Xposed框架的下载安装就ok了,需要注意上面是否有提示框架是否激活。

二、编写Xposed模块的代码。

1、Xposed模块其实就是一个新建一个android app,官网下载 XposedBridgeApi-版本号.jar。 然后项目依赖这个jar包,这里需要注意是依赖而不是将jar包编译打包生成到
apk,因为运行的时候Xposed框架是提供此jar包的,此jar包只是参与编译不参与执行的。

gradle中配置的话就是:provided files('lib/XposedBridgeApi-82.jar'),再次注意下是provided而不是compile
eclipse的话就放在lib包下而不是libs。


2、在工程目录assets下新建文件 xposed_init(注意是文件)


3、项目中新建一个类实现IXposedHookLoadPackage接口,这样当框架hook到进程的时候就会通知此接口。而我们修改支付宝信息的也就是这里
并且将新建类的路径写到上面assets目录下新建的xposed_init文件中。比如 --> com.sqlite.greendao.Main

public class Main implements IXposedHookLoadPackage {

    @Override
    public void handleLoadPackage(final LoadPackageParam lpparam) throws Throwable {
        Log.d("开始hook","包名: " + lpparam.packageName);

        if(lpparam.packageName.equals("com.eg.android.AlipayGphone")){
            Log.d("开始hook", "1、找到支付宝开始挂钩子!");
            new HookText().hook(lpparam);
        }

    }

}

4、在清单文件AndroidManifest.xml中新增三个数据项,第一个是支持xposed模块,第二是模块的描述展示在xposed框架中的。第三个是支持的xposed框架最低版本号。
<meta-data
    android:name="xposedmodule"
    android:value="true" />
<meta-data
    android:name="xposeddescription"
    android:value="自由设定支付宝余额" />
<meta-data
    android:name="xposedminversion"
    android:value="30" />



5、真正的开始修改文字了,看代码。
替换成需要装X的文字。。。。。。
public class HookText {

    public void hook(){
        findAndHookMethod(TextView.class, "setText",CharSequence.class, TextView.BufferType.class, boolean.class, int.class, new XC_MethodHook() {
            @Override
            protected void afterHookedMethod(MethodHookParam param) {
                Log.d("开始hook", "2、获得数据" + param.args[0]);
            }

            @Override
            protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
                String text = (String) param.args[0];
                if("0.00".equals(text)){
                    param.args[0] = "10000000.00";
                }if("可用余额 0.00元".equals(text)){
                    param.args[0] = "可用余额 10000000.00元";
                }
                Log.d("开始hook", "3、获得数据!" + param.args[0]);
            }
        });
    }

}

6、运行程序到手机中,在Xposed框架中勾选此模块。

三、重启,打开支付宝看效果。

看最开始的图。。。。



注意:以上分享纯属个人娱乐,如有用作他处概不负责!!!



源码下载地址:http://download.csdn.net/detail/dsklafkaskl/9730775

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值