8种壳的教学

查看 190|回复 12
作者:一块砖头   
写在前面:
如题,有好几种壳的脱修教程,后续也会继续更新(不更爱加密)
但是苦于没有样本,如果知道什么软件的壳是我还没出的,烦请告知软件名(不会帮你脱,但是会给教程)
"

[color=]注:
本文主要是写给小白看,此处讲的小白,是指有一点基础的那种,不是给那些完全什么都不会的小白看。如果连一些很基本的东西都不懂,学脱壳也没用啊
对于修复后闪退的情况:
  • 操作失误
  • 软件自己有签名验证
  • 不是免费壳
  • 实际壳与显示的不符,一些开发者为了安全会多加几种加固的特征来迷惑软件和破解者

    工具:
            MT管理器
            arm pro
            
    BlackDex(强烈安利,脱壳神器)
    这是我自己做的加固样本以及按教程脱壳修复后的
    样本
    备用链接:
    https://pan.baidu.com/s/19KgwV48HlRmywlZDKq4p0A 提取码:52pj
    讲解:1.如果脱壳修复后还是闪退,那就看看是不是操作原因,如果不是那就是软件自己的签名验证2.AndroidManifest.xml中的入口都在android:icon下面的android:name那一行
    android:theme="@7f090000"
    android:label="@7f080000"
    android:icon="@7f030000"
    android:name="要被替换的入口"  #如果dex中入口为null就把这一行删除
    android:hardwareAccelerated="true"
    android:largeHeap="true"
    3.dex文件中的入口就是引号中的文本
    .field public static APPNAME:Ljava/lang/String; = "入口"
    #如果是null就不用复制入口,把AndroidManifest.xml中的android:name那一行删除即可
    4.脱出来的dex怎么删?
  • 无法打开的
  • 和原安装包中大小完全一致的
  • 壳dex(找有没有stub)
  • 最后再凭借自己的经验判断一下

    5.脱出来的dex怎么处理?
    先按4的步骤进行删除→用MT修复→批量重命名为classes{1}.dex→把那个“1”删除
    6.教程中说的修复,就是用MT的dex修复功能进行修复
    目录:
  • 梆梆
  • 腾讯
  • 百度
  • 蛮犀
  • 数字
  • 顶象
  • arm伪加固
  • 随风
  • 随缘更


    梆梆加固:
    打开原dex文件中的com/SecShell/SecShell/H,进入复制入口
    .field public static ACFNAME:Ljava/lang/String; = "###ACFNAME###"
    .field public static APPNAME:Ljava/lang/String; = "i.app.applicationMain"#这就是我们要的入口
    .field public static ISMPAAS:Ljava/lang/String; = "###MPAAS###"
    .field public static PKGNAME:Ljava/lang/String; = "com.yanben"
    .field public static cl:Ljava/lang/ClassLoader;
    然后替换到AndroidManifest.xml中替换入口,下面是替换后的
    android:theme="@7f090000"
    android:label="@7f080000"
    android:icon="@7f030000"
    android:name="i.app.applicationMain"#这里就是要替换的地方
    android:hardwareAccelerated="true"
    android:largeHeap="true"
    android:supportsRtl="true"
    android:resizeableActivity="true">
    搜索
    com.secneo.apkwrapper.CP
    如果有就把那一段删除,下面显示的就是要删的
    用小黑盒(BlackDex)脱壳,把壳dex和无法打开的dex删除(详见讲解)
    然后修复→重命名→添加到apk中覆盖掉原dex即可
    残留:
  • meta-data文件夹
  • classes0.jar
  • 文件名带libSecShell的


    腾讯御安全:
    打开原文件的dex,找到com/wrapper/proxyapplication/WrapperProxyApplication
    进去复制入口后到AndroidManifest.xml中替换入口
    这是dex中的入口
    .field static baseContext:Landroid/content/Context; = null
    .field static className:Ljava/lang/String; = "i.app.applicationMain"#这是入口
    .field static mLoader:Ljava/lang/ClassLoader; = null
    .field static shellApp:Landroid/app/Application; = null
    .field static tinkerApp:Ljava/lang/String; = "tinker not support"
    把脱出来的dex中的壳dex和无法打开的dex删除(详见讲解)
    修复→重命名→直接加到apk中覆盖掉原dex即可
    残留:
  • tencent_stub
  • tosversion
  • 0OO00l111l1l
  • o0oooOO0ooOo
  • 文件名带有shell的


    百度加固:
    打开壳dex,找到appinfo类,进去复制入口到AndroidManifest.xml中替换入口
    小黑盒脱壳,把需要删除的dex删除
    最后就是修复→重命名→添加到apk中覆盖原dex
    残留:
  • 文件名带baidu


    蛮犀加固:蛮犀教程来源(正己)
    进入原dex,找到com/mx/dA/dpa中的入口


    IMG_20210603_224401.jpg (186.89 KB, 下载次数: 0)
    下载附件
    2021-6-4 10:00 上传

    复制到AndroidManifest.xml中替换入口(详见讲解)
    再搜索
    android:appComponentFactory="com.mx.dAC.dac"  #把这行删除
    如果这一行的末尾有个>,记得在这一行的上一行末尾加上一个>


    IMG_20210604_101304.jpg (96.17 KB, 下载次数: 0)
    下载附件
    2021-6-4 10:13 上传

    然后把脱出来的dex,该删的都删了(详见讲解)
    再修复→重命名→加到apk里覆盖掉原dex即可
    残留:
  • 带mxsafe全删


    数字加固:
    先用cn过签
    小黑盒把dex脱壳,然后把该删的dex删了(详见讲解)
    修复→重命名→添加到assets中的Epic或者arm_dex文件夹中即可
    残留:
    (因为用的是过签,所以这里残留文件不能删)
    文件名带jiagu的
    .appkey

    顶象加固:打开壳dex,按路径com/security/shell/AppStub1打开
    .class public Lcom/security/shell/AppStub1;
    .super Landroid/app/Application;
    .annotation runtime Lcom/security/mobile/annotation/Config;
        app = "com.one.tinker.MyApplication"#这个就是入口
        appFactory = "android.support.v4.app.CoreComponentFactory"
        versionStr = "dd2d09b486e704b2f124c173fbe65d37"
    .end annotation
    复制入口,打开AndroidManifest.xml进去替换
    android:icon="@7f0d0005"
    android:name="com.security.shell.AppStub1"#复制的入口替换到这里
    android:supportsRtl="true"
    android:usesCleartextTraffic="true"
    android:resizeableActivity="false"
    android:networkSecurityConfig="@7f120007"
    android:appComponentFactory="com.security.shell.AppComponentFactory0">
    #删除这行↑,然后在这行的上一行加个">"
    最后就是用小黑盒脱壳→删掉该删的→修复→重命名→直接添加到包里覆盖原dex即可
    残留:
  • 待会写


    arm:
    先看看官方介绍,官方都说是伪加固了,所以我不打算写出来,我把一般的脱壳方法写在了文末,大家就当是一次练习吧(arm的样本上面也有)


    IMG_20210607_151531.jpg (92.86 KB, 下载次数: 0)
    下载附件
    2021-6-7 15:27 上传

    残留:
  • assets里的那几个dex
  • 文件名关键词  arm


    随风加固:
    [color=]教程来源—柒末雪
    还是惯例,用小黑盒脱壳,然后删除该删的→修复→重命名
    接下来的步骤和其他壳不太一样,所以讲细一点
    在原dex中正则搜索invoke-static(.*), .*;->exit\(I\)V替换为空(去除虚拟机检测什么的)
    然后导入虚拟机,用反射大师打开,搜索getapp,就可以得到入口(具体的我晚上回去会帖图)
    最后,到xml里替换一下入口,再把弄好的dex加进去即可

    随缘更...

    [color=]后记:
    其实你多脱几种壳就会发现,好像步骤都一样,在某个路径里找到真实入口,然后到axml里替换一下,再回填dex就可以了。
    所以在最后讲一下一个基本的脱壳方法,跟着axml中android:name里字符串的内容,到壳dex里找真实入口,如果没有找到,那就按随风教程里说的用反射大师去查看入口,至于像梆梆那种还需要去多删一些内容的,在axml里多找找就好了
    "

    顶象的我没去找教程,就是跟着这一套标准方案来的,亲测有效,只是因为样本不够,又懒得看所以残留文件还没写罢了
    如果对你有所帮助的话,可以给个免费的评分支持一下
    虽然是随缘更,但是目前主流的壳都有了,建议收藏一下免得找不到(收藏这么多,顺便给个评分也是可以的)

    入口, 脱壳

  • 一块砖头
    OP
      

    写的不好不对的地方欢迎指正
    目前还有:顶象娜迦准备更,但是没有样本,知道什么软件是这两种加固的还请告知(只会给教程,不会给成品)
    牛奶君   

    非常喜欢你的小黑盒脱壳
    一块砖头
    OP
      

    @一块砖头 别加分页了,看起来特别恶心,好好的技术贴别弄这些乱七八糟的限制了。
    偶尔.c   


    偶尔.c 发表于 2021-6-8 01:33
    样本是非fa软件,你要的话我可以私给你

    这种的就没必要了,回头我遇上了再看看
    不苦小和尚   


    一块砖头 发表于 2021-6-5 18:42
    有样本吗?我目前还没有遇到这种情况,想试试

    样本是非fa软件,你要的话我可以私给你
    一块砖头
    OP
      


    一块砖头 发表于 2021-6-4 11:20
    写的不好不对的地方欢迎指正
    目前还有:顶象娜迦准备更,但是没有样本,知道什么软件是这两种加固的还请告 ...

    记得视频美颜助手就是顶象加固,挺简单的。另外排版标题级次要再分一下。
    djxding   

    顶象娜迦去官方的平台加固一下一下,样本不就有了。
    既然要写,那就把一些小众的也加上。比如:阿里、随风、dexprotector、arm
    First丶云心   

    楼主能看下太平通这款app的壳吗?邦邦企业版的
    一块砖头
    OP
      


    GenW 发表于 2021-6-4 12:17
    记得视频美颜助手就是顶象加固,挺简单的。另外排版标题级次要再分一下。

    排版会在晚上回去之后更的,手机排版不是很方便
    视频美颜助手我在很多个平台下过了,基本都没有加固
    您需要登录后才可以回帖 登录 | 立即注册