吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 8626|回复: 47
收起左侧

[Android 原创] Xposed修改支付宝年度账单

  [复制链接]
愈来记挂 发表于 2020-1-8 19:31
本帖最后由 愈来记挂 于 2020-1-9 15:07 编辑

本文仅供学习使用,因为涉及到支付宝,不会写的非常详细.
有人说用PhotoShop也可以,当然这只是Xposed最简单的应用,其他的用途我也不好说了{:1_1:}

通过抓包得知账单接口为'com.alipay.consumeweb.annualBill2019.getAnnualBillData'
获取的json数据格式为
QQ截图20200108192649.png

所以直接hook获取返回的数据修改一下就好了,主要就是一个json的解析

[Java] 纯文本查看 复制代码
object BillHook {

    val amount get() = "${Random.nextInt(1, 999)},${Random.nextInt(100, 999)},${Random.nextInt(100, 999)},${Random.nextInt(10, 99)}"

    fun hook() {

        val h5PageClass = loader.loadClass("com.alipay.mobile.h5container.api.H5Page")
        val jsonObjClass = loader.loadClass("com.alibaba.fastjson.JSONObject")

        XposedHelpers.findAndHookMethod("com.alipay.mobile.nebulaappproxy.api.rpc.H5RpcUtil", loader, "rpcCall",
                String::class.java, String::class.java, String::class.java,
                Boolean::class.javaPrimitiveType, jsonObjClass, String::class.java, Boolean::class.javaPrimitiveType, h5PageClass,
                Int::class.javaPrimitiveType, String::class.java, Boolean::class.javaPrimitiveType, Int::class.javaPrimitiveType, String::class.java,
                object : XC_MethodHook() {
                    override fun afterHookedMethod(param: MethodHookParam) {
                        if (param.args[0] == "com.alipay.consumeweb.annualBill2019.getAnnualBillData") {
                            val response = param.result
                            val json = XposedHelpers.callMethod(response, "getResponse") as String
                            val obj = JSONObject(json)
                            obj.getJSONObject("data")
                                    .getJSONObject("annualConsume")
                                    .also {
                                        it.getJSONObject("transferAccount").put("amount", amount)
                                        it.getJSONObject("totalConsume")
                                                .also { totalConsume ->
                                                    totalConsume.put("totalOut", "9999999999.99")
                                                    val categoryList = totalConsume.getJSONArray("categoryList")
                                                    val size = categoryList.length()
                                                    repeat(size) { index ->
                                                        val category = categoryList.getJSONObject(index)
                                                        category.put("amount", amount)
                                                    }
                                                }
                                        val otherAccount = it.getJSONArray("otherAccount")
                                        repeat(otherAccount.length()) { index ->
                                            val account = otherAccount.getJSONObject(index)
                                            when (account.getString("type")) {
                                                "loveDonation" -> {
                                                    account.put("count", "${Random.nextInt(99999, 99999999)}次")
                                                }
                                                "antForest" -> {
                                                    account.put("count", "${amount}t")
                                                }
                                            }
                                        }
                                    }

                            XposedHelpers.setObjectField(response, "b", obj.toString())
                        }
                    }
                })
    }

}


效果:
Screenshot_2020-01-08-14-03-33-164_com.eg.android(1).jpg

代码都放这里啦,有能力的自己去实现吧

免费评分

参与人数 12吾爱币 +16 热心值 +11 收起 理由
jamesluozhiwei + 1 + 1 热心回复!
qtfreet00 + 9 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
红烧排骨 + 1 我很赞同!
晓风残月915 + 1 已经处理,感谢您对吾爱破解论坛的支持!
yi辈子的诚若 + 1 我很赞同!
dajiba + 1 有这个功夫写程序,我觉得PS一下马上就好了- -
Schalkiii + 1 + 1 用心讨论,共获提升!
dreamlivemeng + 1 + 1 用心讨论,共获提升!
hnzzstw + 1 谢谢@Thanks!
Vicar5235 + 1 + 1 我很赞同!
一担烟火踏清霜 + 1 谢谢@Thanks!
z13678 + 2 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

头像被屏蔽
庞晓晓 发表于 2020-1-9 11:10
提示: 作者被禁止或删除 内容自动屏蔽
 楼主| 愈来记挂 发表于 2020-1-10 08:58
庞晓晓 发表于 2020-1-9 11:10
我信你的钱有999....
可是捐赠次数……你怕是一整年除了睡觉都要在捐赠而且还要一秒一次

两秒一次 😂

免费评分

参与人数 1吾爱币 +1 收起 理由
庞晓晓 + 1 睡觉用一半时间

查看全部评分

z13678 发表于 2020-1-8 19:39
轩辕可鉴 发表于 2020-1-8 19:51
好的吧,虽然不想更改,但是技术还是可以的
yufei8051 发表于 2020-1-8 19:57
这钱要能变现就好了
llxpeter 发表于 2020-1-8 19:59
如果这个能成真那就真的牛逼了
Clearloveu 发表于 2020-1-8 20:01
牛批,又可以学习了
楚狂客 发表于 2020-1-8 20:45
向土豪学习~
kone153 发表于 2020-1-8 20:51
牛批,又可以学习了
villain168 发表于 2020-1-8 21:15
怎么玩?求教程贴~
''晚安茶糜 发表于 2020-1-8 21:26
楼主的头像我是爱辽爱辽
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 18:08

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表