〖白嫖教程〗中子音乐播放器 Neutron Player 无限试用

查看 375|回复 11
作者:芽衣   
AMP和中子播放器是安卓端为数不多的超强播放器,单论音质还是中子比较强,但UI交互是个蹩脚项目,滑动的手感我以为是5毛钱的APP。AMP和中子应该都是美国开发的APP,不过软件逆向难度还是AMP有一套。之前发了个AMP的破解教程,这次轮到中子播放器了,一家人就应该整整齐齐。
准备工具
1、Android studio
2、NP管理器
软件用NP管理器能过掉签名校验,我就懒得去手改了,检测倒计时APP也花了不少时间,应该是做了很多加密工作。但这类有试用时间的APP基本上会读取设备id和时间戳,以便控制试用时间,所以可以从设备id入手。
首先第一次安装会送144小时的试用时间,也就是一个星期,到期后就再也不能播放音乐了。安装后查看了一下sp目录,发现里面存放着一个设备id,看来它并没有做太多的加密,直接就是明文了。
换设备id理论上通用,不存在版本兼容问题。

因为软件试用时间比较短,所以不需要定时更换,直接每次启动都更换就好了。
Java示范:
import android.content.Context;
import android.content.SharedPreferences;
import java.util.concurrent.atomic.AtomicReference;
public class check {
    private static final String a = "com.neutroncode.mp.SHARED_PREFS";
    public static void yayi(Context context) {
        AtomicReference get;
        get = new AtomicReference(context.getSharedPreferences(a, 0));
        get.get().edit()
                    .putString("android_id", String.valueOf(System.currentTimeMillis()))
                    .apply();
    }
}
.class public Lcheck;
.super Ljava/lang/Object;
# static fields
.field private static final a:Ljava/lang/String; = "com.neutroncode.mp.SHARED_PREFS"
# direct methods
.method public constructor ()V
    .registers 1
    .line 6
    invoke-direct {p0}, Ljava/lang/Object;->()V
    return-void
.end method
.method public static yayi(Landroid/content/Context;)V
    .registers 7
    .line 12
    new-instance v0, Ljava/util/concurrent/atomic/AtomicReference;
    const-string v1, "com.neutroncode.mp.SHARED_PREFS"
    const/4 v2, 0x0
    invoke-virtual {p0, v1, v2}, Landroid/content/Context;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences;
    move-result-object v1
    invoke-direct {v0, v1}, Ljava/util/concurrent/atomic/AtomicReference;->(Ljava/lang/Object;)V
    .line 13
    invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
    move-result-object v1
    check-cast v1, Landroid/content/SharedPreferences;
    invoke-interface {v1}, Landroid/content/SharedPreferences;->edit()Landroid/content/SharedPreferences$Editor;
    move-result-object v1
    const-string v2, "android_id"
    .line 14
    invoke-static {}, Ljava/lang/System;->currentTimeMillis()J
    move-result-wide v4
    invoke-static {v4, v5}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;
    move-result-object v3
    invoke-interface {v1, v2, v3}, Landroid/content/SharedPreferences$Editor;->putString(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SharedPreferences$Editor;
    move-result-object v1
    .line 15
    invoke-interface {v1}, Landroid/content/SharedPreferences$Editor;->apply()V
    .line 16
    return-void
.end method


1.png (103.88 KB, 下载次数: 0)
下载附件
2021-9-6 19:41 上传

invoke-static {p0}, Lcheck;->yayi(Landroid/content/Context;)V
如上图,在APP入口调用即可在每次启动软件的时候更换虚假设备ID。

中子, 播放器

360204878   

试试  看看怎么样
zhangxu888   

我觉得界面没有之前那个好!那个用着比较舒服!不过这个签名验证好像在那个最大的so里!1000多行伪代码....看得我是眼花缭乱的!
dex闪退代码好像在这个类里面com.neutroncode.mp.NeutronMPCore.h
wubaiwan_   

打破零回复支持芽衣
光之继承者   

虽然看不懂,但是还是支持一下
平Fan_d世界   

晚了,早就蓝绿修改器破解了
FireGoose   

虽然看不懂,但是还是支持一下
cao_jf   

虽然看不懂,但是还是支持一下
bigdawn   

无限个144小时试用啊
lhsum   

小白就支持下,只有成品会用
您需要登录后才可以回帖 登录 | 立即注册