• miui编译第三方卡米 对应的修改步骤位置


    参考文献

    安卓10  去卡米教程   (安卓10 miui 无需合并Deodex,可直接修改,修改成功后大小在10M下

    找到文件:services.jar(system\framework\services.jar)
    大小在10M以上即可直接修改,修改后大小为10M以下。(保存时不要签名)

    去卡米位置
    位置(一)
    com / miui / server / SecurityManagerService.smali

    找到文件位置或者搜索
    .method private checkAppSignature([Landroid/content/pm/Signature;Ljava/lang/String;Z)Z

    然后选择段落:
    .method private checkAppSignature([Landroid/content/pm/Signature;Ljava/lang/String;Z)Z
    XXXX
    XXXX
    XXXX
    XXXX
    .end method
    选择以上段落文件使用下面这段覆盖替换

    .method private checkAppSignature([Landroid/content/pm/Signature;Ljava/lang/String;Z)Z
        .registers 5

        const/4 v0, 0x1

        return v0
    .end method

    ===================================================================================================
    搜索
    .method private checkSysAppCrack()Z

    然后选择段落:
    .method private checkSysAppCrack()Z
    XXXX
    XXXX
    XXXX
    XXXX
    .end method
    选择以上段落文件使用下面这段覆盖替换
    .method private checkSysAppCrack()Z
        .registers 2

        const/4 v0, 0x1

        return v0
    .end method

    ===================================================================================================
    搜索
    .method private checkSystemSelfProtection(Z)V

    然后选择段落:
    .method private checkSystemSelfProtection(Z)V
    XXXX
    XXXX
    XXXX
    XXXX
    .end method
    选择以上段落文件使用下面这段覆盖替换
    .method private checkSystemSelfProtection(Z)V
        .registers 5
        .param p1, "onlyCore"    # Z

        .prologue
        return-void
    .end method

    ===================================================================================================

    位置(二)
    com / android / server / pm / PackageManagerService.smali

    找到文件位置或者搜索
    .method private static checkDowngrade(Landroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageInfoLite;)V

    然后选择段落:
    .method private static checkDowngrade(Landroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageInfoLite;)V
    XXXX
    XXXX
    XXXX
    XXXX
    .end method
    选择以上段落文件使用下面这段覆盖替换
    .method private static checkDowngrade(Landroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageInfoLite;)V
        .registers 2
        .annotation system Ldalvik/annotation/Throws;
            value = {
                Lcom/android/server/pm/PackageManagerException;
            }
        .end annotation

        return-void
    .end method

    ===================================================================================================

    位置(三)
    com/android/server/pm/PackageManagerServiceUtils.smali


    找到文件位置或者搜索
    .method public static compareSignatures([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)I

    然后选择段落:
    .method public static compareSignatures([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)I
    XXXX
    XXXX
    XXXX
    XXXX
    .end method
    选择以上段落文件使用下面这段覆盖替换
    .method public static compareSignatures([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)I
        .registers 3

        .prologue
        const/4 v0, 0x0

        return v0
    .end method

    ===================================================================================================

    搜索
    .method public static isDowngradePermitted(II)Z

    然后选择段落:
    .method public static isDowngradePermitted(II)Z
    XXXX
    XXXX
    XXXX
    XXXX
    .end method
    选择以上段落文件使用下面这段覆盖替换
    .method public static isDowngradePermitted(II)Z
        .registers 3

        const/4 v0, 0x1

        return v0   
    .end method

    ===================================================================================================

    搜索
    .method private static matchSignaturesCompat(Ljava/lang/String;Lcom/android/server/pm/PackageSignatures;Landroid/content/pm/PackageParser$SigningDetails;)Z

    然后选择段落:
    .method private static matchSignaturesCompat(Ljava/lang/String;Lcom/android/server/pm/PackageSignatures;Landroid/content/pm/PackageParser$SigningDetails;)Z
    XXXX
    XXXX
    XXXX
    XXXX
    .end method
    选择以上段落文件使用下面这段覆盖替换
    .method private static matchSignaturesCompat(Ljava/lang/String;Lcom/android/server/pm/PackageSignatures;Landroid/content/pm/PackageParser$SigningDetails;)Z
        .registers 4

        const/4 v0, 0x0

        return v0
    .end method

    ===================================================================================================

    搜索
    .method private static matchSignaturesRecover(Ljava/lang/String;Landroid/content/pm/PackageParser$SigningDetails;Landroid/content/pm/PackageParser$SigningDetails;I)Z

    然后选择段落:
    .method private static matchSignaturesRecover(Ljava/lang/String;Landroid/content/pm/PackageParser$SigningDetails;Landroid/content/pm/PackageParser$SigningDetails;I)Z
    XXXX
    XXXX
    XXXX
    XXXX
    .end method
    选择以上段落文件使用下面这段覆盖替换
    .method private static matchSignaturesRecover(Ljava/lang/String;Landroid/content/pm/PackageParser$SigningDetails;Landroid/content/pm/PackageParser$SigningDetails;I)Z
        .registers 5

        const/4 v0, 0x0

        return v0
    .end method

    需要的友友可以参考

  • 相关阅读:
    学习c++的第十六天
    转行软件测试,薪资10K | 真正明智的人,懂得脚踏实地 ...
    JavaScript小技能:原型链的运作机制、Promise链
    [Vue3] pinia状态管理
    玩转YAML配置文件占位符 ,同事纷纷直呼大佬
    win10、win11安装Ubuntu 22.04
    Python多元非线性回归及绘图
    传统机器学习总结
    力扣122. 买卖股票的最佳时机 II
    Rabbitmq 的管理配置
  • 原文地址:https://blog.csdn.net/u011283906/article/details/125458130