某某加速器实现刷邀请

查看 137|回复 19
作者:Jubilee   
换了个账号,旧账号已经注销
为什么我死盯加速器,是因为我想白嫖(bushi)
样本:aHR0cHM6Ly93d3B5LmxhbnpvdWIuY29tL2lCWXJpMTQ3ZWRqZQrlr4bnoIE6aDlkaw==哈勃:aHR0cHM6Ly9oYWJvLnFxLmNvbS9maWxlL3Nob3dkZXRhaWw/cGs9QURZR1psMXRCMkFJUEZzOFUyTSUzRCNmYXVsdA==这个加速器有邀请1个用户给6小时无限流量的规则试了一下不需要登录,只是装上填邀请码就行~第一件事先给apk签名~确认没有签名认证,然后用FD抓包,发现可以抓包然后分析一下代码,通过MT管理器的Activity记录功能,找到邀请码界面的类在com.dd.antss.ui.v2.activity.V2GiftCodeActivity看了一下代码发现可以实现


image.png (72.66 KB, 下载次数: 0)
下载附件
2023-8-2 19:03 上传



image.png (30.01 KB, 下载次数: 0)
下载附件
2023-8-2 19:04 上传



image.png (60.79 KB, 下载次数: 0)
下载附件
2023-8-2 19:04 上传



image.png (59.41 KB, 下载次数: 0)
下载附件
2023-8-2 19:05 上传



image.png (114.38 KB, 下载次数: 0)
下载附件
2023-8-2 19:07 上传



image.png (51.94 KB, 下载次数: 0)
下载附件
2023-8-2 19:07 上传



image.png (136.73 KB, 下载次数: 0)
下载附件
2023-8-2 19:08 上传

这一看就是能模拟出来啊    然后直接复制粘贴   简单处理一下红色代码,为了方便直接把classes.dex直接转jar放libs里面了(就是懒)这样剩下很多代码,hhhh最后的结构和代码


image.png (21.72 KB, 下载次数: 0)
下载附件
2023-8-2 19:10 上传

[Java] 纯文本查看 复制代码//
// Decompiled by Jadx - 857ms
//
package org.example;
import java.io.UnsupportedEncodingException;
import java.lang.reflect.InvocationTargetException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Arrays;
import java.util.Random;
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
public class a {
    public static byte[][] a(int i, int i2, byte[] bArr, byte[] bArr2, int i3) throws NoSuchAlgorithmException {
        MessageDigest messageDigest = MessageDigest.getInstance("md5");
        int i4 = i;
        byte[] bArr3 = new byte[i4];
        int i5 = i2;
        byte[] bArr4 = new byte[i5];
        byte[][] bArr5 = {bArr3, bArr4};
        if (bArr2 == null) {
            return bArr5;
        }
        byte[] bArr6 = null;
        int i6 = 0;
        int i7 = 0;
        int i8 = 0;
        while (true) {
            messageDigest.reset();
            int i9 = i6 + 1;
            if (i6 > 0) {
                messageDigest.update(bArr6);
            }
            messageDigest.update(bArr2);
            if (bArr != null) {
                messageDigest.update(bArr, 0, 8);
            }
            bArr6 = messageDigest.digest();
            for (int i10 = 1; i10  0) {
                while (i4 != 0 && i11 != bArr6.length) {
                    bArr3[i7] = bArr6[i11];
                    i4--;
                    i11++;
                    i7++;
                }
            }
            if (i5 > 0 && i11 != bArr6.length) {
                while (i5 != 0 && i11 != bArr6.length) {
                    bArr4[i8] = bArr6[i11];
                    i5--;
                    i11++;
                    i8++;
                }
            }
            if (i4 == 0 && i5 == 0) {
                break;
            }
            i6 = i9;
        }
        for (int i12 = 0; i12
[Java] 纯文本查看 复制代码package org.example;
import com.dd.antss.App;
import com.dd.antss.ui.v2.activity.V2GiftCodeActivity;
import com.lzy.okgo.cache.CacheMode;
import com.lzy.okgo.request.PostRequest;
import e.c.g.b.a;
import e.c.g.g.c;
import e.e.a.e;
import okhttp3.*;
import org.json.JSONException;
import org.json.JSONObject;
import javax.crypto.Cipher;
import javax.crypto.spec.SecretKeySpec;
import java.io.IOException;
import java.util.UUID;
public class Main {
    public static void main(String[] args) {
        g("这里换成你的邀请码", new c() {
            @Override
            public void a() {
            }
            @Override
            public void b(String s) {
                System.out.println("信心" + s);
            }
            @Override
            public void onError(String s) {
            }
            @Override
            public void onFinish() {
            }
        });
    }
    public static void g( String var2, c var3) {
        V2GiftCodeActivity activity = null;
        String time = String.format("%010d", System.currentTimeMillis() / 1000L);
        String var5 = json(var2);
        var2 = a.z(var5, time);
        w(activity, true, "aHR0cDovL2FudC5oeXlzYXBpLmNvbS9hcGkucGhw", var3, time, var5, var2);  //aHR0cDovL2FudC5oeXlzYXBpLmNvbS9hcGkucGhw是敏感信息哦~
    }
    public static String json(String var0) {
        JSONObject var1 = new JSONObject();
        try {
            var1.put("oauth_id", UUID.randomUUID().toString().replace("-" , ""));
            var1.put("oauth_type", "android");
            var1.put("aff", var0);
            var1.put("mod", "user");
            var1.put("code", "exchangeAFF");
        } catch (JSONException var2) {
            var2.printStackTrace();
        }
        return b(var1.toString());
    }
    public static String b(String str) {
        try {
            JSONObject jSONObject = new JSONObject(str);
            jSONObject.put("version", 264);
            jSONObject.put("app_type", "ss_proxy");
            jSONObject.put("language", 0);
            jSONObject.put("bundleId", "com.dd.antss");
            str = jSONObject.toString();
          //  d.a("------请求参数加密前:--->" + str);
        } catch (JSONException e2) {
            e2.printStackTrace();
        }
        String f = org.example.a.f("c2fc2f64438b1eb36b7e244bdb7bd535", str);
        return f;
    }
    public static final void w(V2GiftCodeActivity v2GiftCodeActivity, boolean z, String str, c cVar, String str2, String str3, String str4) {
        OkHttpClient mOkHttpClient = new OkHttpClient();
        RequestBody formBody = new FormBody.Builder()
                .add("appId", "android")
                .add("appVersion", "2.1.8")
                .add("timestamp", str2)
                .add("data", str3)
                .add("sign", str4 )
                .build();
        Request request = new Request.Builder().url(str).post(formBody).build();
        mOkHttpClient.newCall(request).enqueue(new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {
                System.out.println(e);
            }
            @Override
            public void onResponse(Call call, Response response) throws IOException {
                System.out.println(response.body().string());
            }
        });
    }
}


image.png (69.32 KB, 下载次数: 0)
下载附件
2023-8-2 19:12 上传

最后的请求代码因为不会用,我会用okhttp3我就换成okhttp3了期间遇到的问题有JSONObject运行失败,原因:android.jar里面有这个类,直接打开压缩包,把org.json包里面的内容删掉classes.jar里面有okhttp3的包,我也直接删掉,包是okhttp3和okio
返回的数据{"errcode":0,"timestamp":1690972529,"data":"F62D8E11EF7AA78DE132D6C0054FE89CAB3D1BE5D6B83DB937E28B7A5BD4A729025A0A2E19DAD73DABAC00401D83B0747316E8A4C4A1E24F335AFB9346407D27CD74B765C1","sign":"dfab3dccba90b441a5a657eb0cba117b"}
这样就是成功

下载次数, 下载附件

Jubilee
OP
  

具体大家自己实验吧
AiniWang   

跟着教程学了一下。成功附图。修改一下附图
[i]
[i]
rhol   

自己扣了代码试了下,可以了
Him8848   


yiwai2012 发表于 2023-8-4 09:38
脱敏一下就好了啊 或者私发也行啊

5oiR55So6JOd5aWP5rWP6KeI5Zmo5YiG5Lqr5LqGW+W/q+i/nmhvb2tfMS4wLjBdLCDkuIvovb3pk77mjqU6aHR0cHM6Ly93d3AubGFuem91cC5jb20vaVlJTksxNGRyYXNqICAsIOS9oOWPr+S7peS4jemZkOmAn+S4i+i9veWTpg==
这个是我用的hook模块,自己镶嵌,不知道可以看看我的回复,某连自己找
Jubilee
OP
  


mms1520 发表于 2023-8-9 20:08
软件全下吗?电脑跟手机是都要一起用到的吗?

是的,可以仅仅电脑,但我是手机+电脑
Him8848   


安辰- 发表于 2023-8-10 14:12
介不是破站的小洛大佬嘛,捕捉一波
近期一直在找某连的simplehook源码,既然洛大觉得公开发在评论区 ...

你估计认错人了,我各个平台网名基本都是彔忈
daihaolong   


888110 发表于 2023-8-5 17:17
删除了classes.jar里面的OKIO,还是报错,运行那里只有“Current File”是正常的吗?
报错:
> Task :M ...

我也遇到一样问题了- - ,里面有URL链接需要脱敏处理
888110   


Jubilee 发表于 2023-8-5 16:52
还有一个okio

删除了classes.jar里面的OKIO,还是报错,运行那里只有“Current File”是正常的吗?
报错:
> Task :Main.main() FAILED
Exception in thread "main" java.lang.IllegalArgumentException: Expected URL scheme 'http' or 'https' but no colon was found
        at okhttp3.HttpUrl$Builder.parse$okhttp(HttpUrl.kt:1257)
        at okhttp3.HttpUrl$Companion.get(HttpUrl.kt:1630)
        at okhttp3.Request$Builder.url(Request.kt:184)
        at org.example.Main.w(Main.java:96)
        at org.example.Main.g(Main.java:50)
        at org.example.Main.main(Main.java:21)
888110   


Jubilee 发表于 2023-8-5 12:36
IntelliJ IDEA
为什么全是红色的?
是不是JSON依赖的20230618这个版本没对吗?


111111111.png (74.01 KB, 下载次数: 0)
下载附件
2023-8-5 14:58 上传

您需要登录后才可以回帖 登录 | 立即注册

返回顶部