美文网首页安卓盒子去广告 vip逆向分析
纯手工破解安卓盒子上的广告过滤软件无限试用下去

纯手工破解安卓盒子上的广告过滤软件无限试用下去

作者: 妹妹好想你 | 来源:发表于2018-01-27 14:17 被阅读0次

    样本:https://download.adguard.com/d/18672/adguard.apk
    天国都是 <u style="margin: 0px; padding: 0px; word-wrap: break-word;">子无虚有</u>假冒的版本!楼主要对那些版本说”滚犊子去“!你奶奶个老熊,官方都没有,哪来的?
    要相信自己才不会是张嘴要食的!
    第1部分,尝试手工去注册

    哪来的? 来看看 取文本框 这是啥?

    <public type="string" name="provideLicenseKeyMessage" id="0x7f080171" /> 这来的,这里好好看看!
    提供许可证密钥消息

    if-eqz v1, :cond_0

    invoke-virtual {p0}, Lcom/adguard/android/ui/ActivateLicenseKeyActivity;->getResources()Landroid/content/res/Resources;
    
    move-result-object v0
    

    const v1, 0x7f080171 提供许可证密钥消息

    invoke-virtual {v0, v1}, Landroid/content/res/Resources;->getString(I)Ljava/lang/String;
    
    move-result-object v0
    
    invoke-virtual {p1, v0}, Landroid/widget/EditText;->setError(Ljava/lang/CharSequence;)V
    
    const/4 v0, 0x0
    
    :cond_0
    return v0
    

    .end method

    这来的 抓到三只猫

    com.adguard.android.service.license.AdguardLicenseServiceImpl
    com.adguard.android.service.aa
    com.adguard.android.a.a

    来看看
    .class public abstract Lcom/adguard/android/service/aa;
    .super Ljava/lang/Object;

    interfaces

    .implements Lcom/adguard/commons/concurrent/a;

    static fields

    .field protected static final b:Lorg/slf4j/c;

    instance fields

    .field protected final c:Landroid/app/ProgressDialog;

    direct methods

    .method static constructor <clinit>()V
    .locals 1

    const-class v0, Lcom/adguard/android/service/aa;
    
    invoke-static {v0}, Lorg/slf4j/d;->a(Ljava/lang/Class;)Lorg/slf4j/c;
    
    move-result-object v0
    
    sput-object v0, Lcom/adguard/android/service/aa;->b:Lorg/slf4j/c;
    
    return-void
    

    .end method

    .method constructor <init>()V
    .locals 1

    const/4 v0, 0x0
    
    invoke-direct {p0, v0}, Lcom/adguard/android/service/aa;-><init>(Landroid/app/ProgressDialog;)V
    
    return-void
    

    .end method

    .method protected constructor <init>(Landroid/app/ProgressDialog;)V
    .locals 0

    invoke-direct {p0}, Ljava/lang/Object;-><init>()V
    
    iput-object p1, p0, Lcom/adguard/android/service/aa;->c:Landroid/app/ProgressDialog;
    
    return-void
    

    .end method

    virtual methods

    .method protected abstract a()V
    .end method

    .method public final b()V
    .locals 4

    :try_start_0
    sget-object v0, Lcom/adguard/android/service/aa;->b:Lorg/slf4j/c;
    
    const-string v1, "Start task {} execution"
    
    invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
    
    move-result-object v2
    
    invoke-virtual {v2}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
    
    move-result-object v2
    
    invoke-interface {v0, v1, v2}, Lorg/slf4j/c;->info(Ljava/lang/String;Ljava/lang/Object;)V
    
    invoke-virtual {p0}, Lcom/adguard/android/service/aa;->a()V
    :try_end_0
    .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
    .catchall {:try_start_0 .. :try_end_0} :catchall_0
    
    iget-object v0, p0, Lcom/adguard/android/service/aa;->c:Landroid/app/ProgressDialog;
    
    invoke-static {v0}, Lcom/adguard/android/ui/utils/n;->a(Landroid/app/ProgressDialog;)V
    
    sget-object v0, Lcom/adguard/android/service/aa;->b:Lorg/slf4j/c;
    
    const-string v1, "Finished task {} execution"
    
    invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
    
    move-result-object v2
    
    invoke-virtual {v2}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
    
    move-result-object v2
    
    invoke-interface {v0, v1, v2}, Lorg/slf4j/c;->info(Ljava/lang/String;Ljava/lang/Object;)V
    
    :goto_0
    return-void
    
    :catch_0
    move-exception v0
    
    :try_start_1
    iget-object v1, p0, Lcom/adguard/android/service/aa;->c:Landroid/app/ProgressDialog;
    
    sget-object v2, Lcom/adguard/android/service/aa;->b:Lorg/slf4j/c;
    
    const-string v3, "Dismissing progress dialog on error:\r\n"
    
    invoke-interface {v2, v3, v0}, Lorg/slf4j/c;->warn(Ljava/lang/String;Ljava/lang/Throwable;)V
    
    invoke-virtual {v1}, Landroid/app/ProgressDialog;->getContext()Landroid/content/Context;
    
    move-result-object v0
    
    invoke-static {v0}, Lcom/adguard/android/b;->a(Landroid/content/Context;)Lcom/adguard/android/b;
    
    move-result-object v0
    
    invoke-virtual {v0}, Lcom/adguard/android/b;->r()Lcom/adguard/android/service/ab;
    
    move-result-object v0
    
    const v2, 0x7f08016d
    
    invoke-interface {v0, v2}, Lcom/adguard/android/service/ab;->a(I)V
    
    invoke-static {v1}, Lcom/adguard/android/ui/utils/n;->a(Landroid/app/ProgressDialog;)V
    :try_end_1
    .catchall {:try_start_1 .. :try_end_1} :catchall_0
    
    iget-object v0, p0, Lcom/adguard/android/service/aa;->c:Landroid/app/ProgressDialog;
    
    invoke-static {v0}, Lcom/adguard/android/ui/utils/n;->a(Landroid/app/ProgressDialog;)V
    
    sget-object v0, Lcom/adguard/android/service/aa;->b:Lorg/slf4j/c;
    
    const-string v1, "Finished task {} execution"
    
    invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
    
    move-result-object v2
    
    invoke-virtual {v2}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
    
    move-result-object v2
    
    invoke-interface {v0, v1, v2}, Lorg/slf4j/c;->info(Ljava/lang/String;Ljava/lang/Object;)V
    
    goto :goto_0
    
    :catchall_0
    move-exception v0
    
    iget-object v1, p0, Lcom/adguard/android/service/aa;->c:Landroid/app/ProgressDialog;
    
    invoke-static {v1}, Lcom/adguard/android/ui/utils/n;->a(Landroid/app/ProgressDialog;)V
    
    sget-object v1, Lcom/adguard/android/service/aa;->b:Lorg/slf4j/c;
    
    const-string v2, "Finished task {} execution"
    
    invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
    
    move-result-object v3
    
    invoke-virtual {v3}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
    
    move-result-object v3
    
    invoke-interface {v1, v2, v3}, Lorg/slf4j/c;->info(Ljava/lang/String;Ljava/lang/Object;)V
    
    throw v0
    

    .end method

    没什么 太长了

    const-string v2, "Sending license status request"
    发送许可状态请求”

    .method private processResultActivatePremium(Lcom/adguard/android/model/d;Landroid/app/Activity;Ljava/lang/String;)V
    .locals 5

    const v4, 0x7f08001f
    
    const v3, 0x7f08001d
    
    const/4 v2, 0x1
    
    if-eqz p1, :cond_0
    
    sget-object v0, Lcom/adguard/android/model/enums/MobileStatus;->FREE:Lcom/adguard/android/model/enums/MobileStatus;
    
    invoke-virtual {p1}, Lcom/adguard/android/model/d;->getStatus()Lcom/adguard/android/model/enums/MobileStatus;
    
    move-result-object v1
    
    invoke-virtual {v0, v1}, Lcom/adguard/android/model/enums/MobileStatus;->equals(Ljava/lang/Object;)Z
    
    move-result v0
    
    if-eqz v0, :cond_1
    
    :cond_0
    invoke-static {p2, v3}, Lcom/adguard/android/service/license/AdguardLicenseServiceImpl;->showActivationErrorDialog(Landroid/app/Activity;I)V
    
    :goto_0
    return-void
    
    :cond_1
    sget-object v0, Lcom/adguard/android/model/enums/MobileStatus;->PREMIUM:Lcom/adguard/android/model/enums/MobileStatus;
    
    invoke-virtual {p1}, Lcom/adguard/android/model/d;->getStatus()Lcom/adguard/android/model/enums/MobileStatus;
    
    move-result-object v1
    
    invoke-virtual {v0, v1}, Lcom/adguard/android/model/enums/MobileStatus;->equals(Ljava/lang/Object;)Z
    
    move-result v0
    
    if-eqz v0, :cond_2
    
    iget-object v0, p0, Lcom/adguard/android/service/license/AdguardLicenseServiceImpl;->applicationService:Lcom/adguard/android/service/g;
    
    invoke-virtual {p1}, Lcom/adguard/android/model/d;->getExpirationDate()Ljava/util/Date;
    
    move-result-object v1
    
    invoke-interface {v0, v2, v1, p3}, Lcom/adguard/android/service/g;->a(ZLjava/util/Date;Ljava/lang/String;)V
    
    iget-object v0, p0, Lcom/adguard/android/service/license/AdguardLicenseServiceImpl;->notificationService:Lcom/adguard/android/service/ab;
    
    const v1, 0x7f080021
    
    invoke-interface {v0, v1}, Lcom/adguard/android/service/ab;->a(I)V
    
    invoke-virtual {p1}, Lcom/adguard/android/model/d;->getExpirationDate()Ljava/util/Date;
    
    move-result-object v0
    
    invoke-static {p2, v2, v0}, Lcom/adguard/android/ui/utils/m;->a(Landroid/app/Activity;ZLjava/util/Date;)V
    
    invoke-virtual {p2}, Landroid/app/Activity;->finish()V
    
    goto :goto_0
    
    :cond_2
    sget-object v0, Lcom/adguard/android/model/enums/MobileStatus;->EXPIRED:Lcom/adguard/android/model/enums/MobileStatus;
    
    invoke-virtual {p1}, Lcom/adguard/android/model/d;->getStatus()Lcom/adguard/android/model/enums/MobileStatus;
    
    move-result-object v1
    
    invoke-virtual {v0, v1}, Lcom/adguard/android/model/enums/MobileStatus;->equals(Ljava/lang/Object;)Z
    
    move-result v0
    
    if-eqz v0, :cond_3
    
    invoke-static {p2, v4}, Lcom/adguard/android/service/license/AdguardLicenseServiceImpl;->showActivationErrorDialog(Landroid/app/Activity;I)V
    
    goto :goto_0
    
    :cond_3
    sget-object v0, Lcom/adguard/android/service/license/AdguardLicenseServiceImpl$2;->a:[I
    
    invoke-virtual {p1}, Lcom/adguard/android/model/d;->getLicenseKeyStatus()Lcom/adguard/android/model/enums/LicenseKeyStatus;
    
    move-result-object v1
    
    invoke-virtual {v1}, Lcom/adguard/android/model/enums/LicenseKeyStatus;->ordinal()I
    
    move-result v1
    
    aget v0, v0, v1
    
    packed-switch v0, :pswitch_data_0
    
    invoke-static {p2, v3}, Lcom/adguard/android/service/license/AdguardLicenseServiceImpl;->showActivationErrorDialog(Landroid/app/Activity;I)V
    
    goto :goto_0
    
    :pswitch_0
    const v0, 0x7f08001c    提供许可证密钥消息
    
    invoke-static {p2, v0}, Lcom/adguard/android/service/license/AdguardLicenseServiceImpl;->showActivationErrorDialog(Landroid/app/Activity;I)V
    
    goto :goto_0
    
    :pswitch_1
    invoke-static {p2, v4}, Lcom/adguard/android/service/license/AdguardLicenseServiceImpl;->showActivationErrorDialog(Landroid/app/Activity;I)V
    
    goto :goto_0
    
    :pswitch_2
    const v0, 0x7f080020     激活不存在消息
    
    invoke-static {p2, v0}, Lcom/adguard/android/service/license/AdguardLicenseServiceImpl;->showActivationErrorDialog(Landroid/app/Activity;I)V
    
    goto :goto_0
    
    :pswitch_3
    const v0, 0x7f080022    激活更多设备消息
    
    invoke-static {p2, v0}, Lcom/adguard/android/service/license/AdguardLicenseServiceImpl;->showActivationErrorDialog(Landroid/app/Activity;I)V
    
    goto :goto_0
    
    nop
    
    :pswitch_data_0
    .packed-switch 0x1
        :pswitch_0
        :pswitch_1
        :pswitch_2
        :pswitch_3
    .end packed-switch
    

    .end method
    由于每次点注册时,进程就会重加载,所以上面这段是不是你们也有想法呢? 我们分别给翻译了一下。


    有想法?!?! image.png image.png

    第2部分,尝试手工解除试用时间限制 !

    第3部分,干掉多余的文件
    源文件:6.03M

    相关文章

      网友评论

        本文标题:纯手工破解安卓盒子上的广告过滤软件无限试用下去

        本文链接:https://www.haomeiwen.com/subject/jzjnaxtx.html