教程|Decompile逆向方法 Decompile2.1.0解锁会员教程

admin

最后编辑于 2026-03-27 01:00 阅读 26

教程|Decompile逆向方法 Decompile2.1.0解锁会员教程 逆向分析 第1张

前言

今天给大家带来一款小众软件-Decompile2.1.0的逆向教程,希望对一些朋友有帮助!

安鹿也分享过其他实用教程,有需要的可以在微界资源网󠇖󠆍󠆕󠇘󠅷󠆚󠇕󠆞󠅹󠇙󠆩󠆯󠇘󠆭󠆙󠅧󠅧󠅧󠄞󠅑󠅞󠅜󠅥󠄡󠄣󠄡󠄤󠄞󠅓󠅟󠅝zy.weiaj.com搜一下关键词。

教程|TapClick跳广告软件逆向 TapClic抓包解锁激活码免费使用 改验证服务器地址

工具

MT管理器(看版本号选最新版本)

NP管理器(看版本号选最新版本)

Decompile(自行必应)

教程|Decompile逆向方法 Decompile2.1.0解锁会员教程 逆向分析 第2张

教程

一、准备

1.在mt/np管理器提取安装包/找到安装包位置

2.去除软件签名效验,mt管理器中直接点击,np管理器中优先用超强方案2(去签后能正常打开不闪退才算成功,一般逆向都需要这一步)

3.随便选一个classex文件,点全选用dex++编辑器打开

二、开始

4.类名搜索 liiiLiiilIlIL.iliLiI1iLLIL

教程|Decompile逆向方法 Decompile2.1.0解锁会员教程 逆向分析 第3张

该类下分别修改三个方法即可

lILLi11Li1lll() → 全清空,return 1

ilI1I1iIilII() → 全清空,return 1

iLLIliliLl1() → 全清空,return 1

5.第一个方法,lILLi11Li1lll() 直接返回 true

这个方法判断是否会员/已付费的

找到:

.method public lILLi11Li1lll()Z
    .registers 2

    invoke-virtual {p0}, LliiiLiiilIlIL/iliLiI1iLLIL;->ilI1I1iIilII()Z

    move-result v0

    if-nez v0, :cond_f

    invoke-virtual {p0}, LliiiLiiilIlIL/iliLiI1iLLIL;->iLLIliliLl1()Z

    move-result v0

    if-eqz v0, :cond_d

    goto :goto_f

    :cond_d
    const/4 v0, 0x0

    goto :goto_10

    :cond_f
    :goto_f
    const/4 v0, 0x1

    :goto_10
    return v0
.end method

直接替换成:

.method public lILLi11Li1lll()Z
    .registers 2
    const/4 v0, 0x1
    return v0
.end method

这样修改用处:永远返回已付费,已解锁

6.第二和第三方法都是为了加强,以免方法一没有效果

第二个方法,加强:让  ilI1I1iIilII()  也直接返回 true

这个是本地付费标记

找到:

.method public ilI1I1iIilII()Z
    .registers 3

    sget-object v0, LliiiLiiilIlIL/iliLiI1iLLIL;->IIiLliI1l1li1:Ljava/lang/String;

    const/4 v1, 0x0

    invoke-static {v0, v1}, LLI1LIILILLlII/IlllI1L11iLLLL;->LL1ll1L1IL1LlII(Ljava/lang/String;Z)Z

    move-result v0

    if-eqz v0, :cond_a

    return v0

    :cond_a
    return v1
.end method

直接替换成:

.method public ilI1I1iIilII()Z
    .registers 2
    const/4 v0, 0x1
    return v0
.end method

7.第三个方法:iLLIliliLl1()  也返回 true

找到:

.method public iLLIliliLl1()Z
    .registers 5

    sget-object v0, LliiiLiiilIlIL/iliLiI1iLLIL;->lLlIIL11Li1llL1:Ljava/lang/String;

    const-wide/16 v1, 0x1

    invoke-static {v0, v1, v2}, LLI1LIILILLlII/IlllI1L11iLLLL;->LlIIlIliLlL1IiL(Ljava/lang/String;J)J

    move-result-wide v0

    invoke-static {}, Ljava/lang/System;->currentTimeMillis()J

    move-result-wide v2

    sub-long/2addr v2, v0

    invoke-static {v2, v3}, Ljava/lang/Math;->abs(J)J

    move-result-wide v0

    const-wide/32 v2, 0x2932e00

    cmp-long v0, v0, v2

    if-gtz v0, :cond_1a

    const/4 v0, 0x1

    return v0

    :cond_1a
    const/4 v0, 0x0

    return v0
.end method

直接替换成:

.method public iLLIliliLl1()Z
    .registers 2
    const/4 v0, 0x1
    return v0
.end method

8.到此一切结束,一路保存返回签名安装即可

特别说明

此教程基于Decompile2.1.0,其他版本代码位置可能有所变化,仅供学习交流!

0 条评论