吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 29885|回复: 85
收起左侧

[Android 原创] Xposed________给微信步数加上翅膀

  [复制链接]
ss0001 发表于 2017-12-18 23:29
严重声明
本文的意图只有一个就是通过分析app学习更多的逆向技术,如果有人利用本文知识和技术进行非法操作进行牟利,带来的任何法律责任都将由操作者本人承担,和本文作者无任何关系,最终还是希望大家能够秉着学习的心态阅读此文。

你如果零基础
请先看入门篇Xposed________给微信挂逼扫扫盲
我们先看看效果图:

88431CC6CE1CB32A659BE3DC7ACDB671.png

排行榜的样子:

B94981E44B50FA6219B3AF278E26BAB6.jpg
步数如果高会有什么好处?
除了装逼,排名第一广告营销,好像也没别的了。

下面正文开始

微信如果要获取用户的步数,会采用以下几种方式:
1、通过Android自带的传感器(Sensor
2、通过外接的各种硬件设备
3、通过其他的App共享步数
4、通过公众号调用微信Api发送步数
咱们现在通过第一种hook传感器返回值的方式来实现步数修改:

先看一下Sensor能做什么
重力感应/加速度传感器 (G-Sensor)
光感应   (Light-Sensor)
温度感应
方向感应
磁场、
临近性
等等.....总之,越高端的手机涵盖的传感器越多

这个东西在哪个类里面呢?
android.hardware.SystemSensorManager$SensorEventQueue

哪个方法呢?
dispatchSensorEvent

其中最重要的:
public static final int TYPE_STEP_DETECTOR = 18; 系统计步累加值
public static final int TYPE_STEP_COUNTER = 19; (单次有效计步

知道了这些,那么咱们要做的事情已经明确了,就是要对这个东西的返回值进行操作!(我这里是同时修改的QQ及微信,其他的应用同理)
这是将已经走过的步数*100倍后提交给微信
QQ20171218-232535@2x.png

@Jione 大神的教程很好,经过一晚上痛苦的挣扎,终于把环境搭建起来了,我的第一个Xposed也是第一个Android程序跑了起来,感谢大神!好人一生平安!

点评

详细点更好  发表于 2017-12-19 12:58

免费评分

参与人数 12威望 +1 吾爱币 +23 热心值 +10 收起 理由
编草鞋的蚂蚱 + 1 + 1 我很赞同!
wanllk + 1 + 1 能把程序给我吗?我Xposed已经装好了
s15776947482 + 1 + 1 用心讨论,共获提升!
vvgood + 1 + 1 谢谢@Thanks!
无趣水瓶 + 3 + 1 我很赞同!
Three_fish + 1 + 1 谢谢@Thanks!
小婊砸 + 1 + 1 谢谢@Thanks!
lovest117 + 1 + 1 我很赞同!
qq272285154 + 2 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
chunriyeqiong + 1 已答复!
qtfreet00 + 1 + 9 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
疯狂醉虎 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

本帖被以下淘专辑推荐:

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

1163194557 发表于 2017-12-19 18:18
ss0001 发表于 2017-12-19 17:41
把你的git贴出来,我帮你看看

[Java] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
package com.my.alisport;
 
/**
 * Created by GZP on 2017/7/26.
 */
 
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.util.SparseArray;
 
import java.lang.reflect.Field;
 
import de.robv.android.xposed.IXposedHookLoadPackage;
import de.robv.android.xposed.XC_MethodHook;
import de.robv.android.xposed.XposedBridge;
import de.robv.android.xposed.callbacks.XC_LoadPackage;
 
import static de.robv.android.xposed.XposedBridge.log;
import static de.robv.android.xposed.XposedHelpers.findClass;
 
/**
 * Created by Administrator on 2016/5/11.
 */
public class WeixinSport implements IXposedHookLoadPackage {
 
 
    @Override
    public void handleLoadPackage(final XC_LoadPackage.LoadPackageParam loadPackageParam) throws Throwable {
 
        // filter
        if (!loadPackageParam.packageName.equals("com.tencent.mm")) {
            return;
        }
 
        log("运动 packageName: " + loadPackageParam.packageName);
 
        final Class<?> sensorEL = findClass("android.hardware.SystemSensorManager$SensorEventQueue", loadPackageParam.classLoader);
 
        XposedBridge.hookAllMethods(sensorEL, "dispatchSensorEvent", new XC_MethodHook() {
 
            @Override
            protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
                int intValue = ((Integer) param.args[0]).intValue();
                log("intValue: " + intValue);
                Field declaredField = param.thisObject.getClass().getDeclaredField("mSensorsEvents");
                declaredField.setAccessible(true);
                Sensor sensor = ((SensorEvent) ((SparseArray) declaredField.get(param.thisObject)).get(intValue)).sensor;
                if (sensor == null) {
                    log("传感器为NULL");
                    return;
                }
                int sensortype = sensor.getType();
                log("sensortype: " + sensortype);
                if (sensortype == 19 || sensortype == 18) {
                    float nowstep = ((float[]) param.args[1])[0];
                    ((float[]) param.args[1])[0] = nowstep + 30;
 
                }
            }
        });
    }
}


跟你的没啥区别  算是一致

xposed_init 文件 :com.my.alisport.WeixinSport
 楼主| ss0001 发表于 2017-12-19 09:25
zhujf 发表于 2017-12-19 08:46
现在刷步数的应用挺多的,大多都是一样的原理,但是很容易被封号,楼主可否研究研究怎么避免刷了步数后封号 ...

1、缓慢增加,0.5倍或者0.2倍
2、不开,这个功能实际上除了能够领到红包再无他用
lyxi841213 发表于 2017-12-19 00:07 来自手机
A丶小絮 发表于 2017-12-19 00:17
哇哦,有没有iOS加个翅膀的
 楼主| ss0001 发表于 2017-12-19 00:18
A丶小絮 发表于 2017-12-19 00:17
哇哦,有没有iOS加个翅膀的

大佬,没肾了,买不起啊。。。
A丶小絮 发表于 2017-12-19 00:20
ss0001 发表于 2017-12-19 00:18
大佬,没肾了,买不起啊。。。

哇的一下哭了,刚卖了肾,求个翅膀
NOOB 发表于 2017-12-19 00:33
没有软件么
 楼主| ss0001 发表于 2017-12-19 00:35

提供思路就行,另外Xposed能装上的都不是一般人
NOOB 发表于 2017-12-19 00:36
ss0001 发表于 2017-12-19 00:35
提供思路就行,另外Xposed能装上的都不是一般人

小白一个,会用不会写
 楼主| ss0001 发表于 2017-12-19 00:37
NOOB 发表于 2017-12-19 00:36
小白一个,会用不会写

我一直想做重新打包版微信,但是小白不会。。
NOOB 发表于 2017-12-19 00:40
ss0001 发表于 2017-12-19 00:37
我一直想做重新打包版微信,但是小白不会。。

那样应该容易封号吧
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2025-4-9 03:00

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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