马甲包

作者: 小子考驾照 | 来源:发表于2021-01-11 16:29 被阅读0次

    开始,初始化代码文件

    从主包remote 仓库Fork仓库

    相关命令
    git clone -b remote_branch_name--depth 1 remote_url 克隆remote_branch_name的最后一次comment
    git fetch --depth 1 origin remote_branch_name 拉取remote_branch_name最后一次comment
    

    修改包名

    studio中move package to替换包名,文件路径,
    Run,全局搜索,替换未自动替换的包名路径
    查漏修改后run起来,方可进行下一步

    修改包名2

    若上述失败(文件太过于复杂)经过多次探索和尝试,ide的替换包名的方法太过于笨重
    系统方式暴力修改包结构,然后全局替换包名字符串:

    直接修改对应的包名,app+module等路径一定要记得删除
    然后进入androidstudio,Ctrl+shift+R,全局查找替换,
    如:com.alibaba.aa原包名
    搜索,com.alibaba.aa    再更改com.alibaba,因为匹配机制问题,先替长再替短
    注意:util/SrtingUtils中的getPassword,getPayPassword中,password的md5加密字符串,不改
         Constants中的??APPLICATION_ID_YBB字符串判断主包?isYBB?别改
    混淆文件中的包名记得改
    
    AppUtil.getAppVersion()同步主包:
    BaseReqEntity,ReqRecommendConfig,ConfigApi.getRecommendConfig(),BaseApi.signatureString()
    

    加入垃圾代码

    apply plugin引入插件
    一(插入activity,xml,value等的插件)二(插入方法接口等的插件)
    ./gradlew build --info -dry-run查看task是否按照预期运行,
    编译成功,release包反编译后使用GUI工具查看打包混淆代码后代码是否符合预期

    混淆资源

    Gradle配置资源不优化(具体根据包体积看效果)

    logo,图片md5替换、接口,各种sdk的key等配置替换等

    替换logo,baseurl等,后台接口替换,run起来,ok,GUI工具查看打包混淆代码后代码是否符合预期
    替换第三方库的key等,不可使用同一个key

    根据UI设计改UI页面

    提审包

    签名:
    keytool -importkeystore -srckeystore oldKey.jks -destkeystore newKey.jks -deststoretype pkcs12
    加固(仅国内,Google play不允许加固)
    马甲包和主包之间,马甲包和马甲包之间,不可有账号环境关联(尽量用4G网,热点注册并提交)避免马甲包对主包的影响

    相关文章

      网友评论

          本文标题:马甲包

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