V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
kingof
V2EX  ›  Android

新的 APK 加固方法?

  •  
  •   kingof · May 27, 2020 · 20086 views
    This topic created in 2162 days ago, the information mentioned may be changed or developed.
    最近发现一个挺有意思的 apk 加固的方式,
    简单来说,他把每个方法的方法体里面的代码全部隐藏,
    反编译出来方法体内全部是 return null,
    查看 smali 则有大量的 nop 指令。

    想请教一下大家知不知道这是什么工具实现的?


    图片如下:
    ![AowuO.png]( https://s3.jpg.cm/2020/05/27/AowuO.png)
    ![AooBw.png]( https://s3.jpg.cm/2020/05/27/AooBw.png)
    22 replies    2024-12-18 14:41:15 +08:00
    FourAndHalf
        1
    FourAndHalf  
       May 27, 2020
    啥工具?
    nilai
        2
    nilai  
       May 27, 2020 via iPhone
    抽空 再填充
    iFlicker
        3
    iFlicker  
       May 27, 2020 via Android
    之前记得有个操作是把方法内容都抽到 native 层
    hugedeffing
        4
    hugedeffing  
       May 27, 2020
    没看到包不知道具体操作,猜测基本逻辑应该还是 java2c,dex 取 insn 块,填充 return null,批量加 tag,后续 c 层回调用 java 或者回填字节码。问题在于如何进行函数对标,考虑可能是函数签名做唯一标识,但只是猜测,直接打个 id 和用函数签名其实差不多。
    MaxLi77
        5
    MaxLi77  
       May 27, 2020
    这是几年前的技术了。。不过加固技术基本已经到头,以后估计也不会有太多新技术。。
    janxin
        6
    janxin  
       May 27, 2020
    加壳吧,抽出来放 native 里了
    InkStone
        7
    InkStone  
       May 27, 2020   ❤️ 1
    指令抽取。要破解的话一般是用定制 ROM,在底层主动调用触发方法 byte code 回填。

    你去看银行的 app,一般都是指令抽取的加固。
    kingof
        8
    kingof  
    OP
       May 27, 2020
    @MaxLi77
    @hugedeffing

    有没有类似的加固工具?
    hugedeffing
        9
    hugedeffing  
       May 27, 2020
    @kingof 基本大厂都有,免费的也有,github 上也有开源的
    fixend
        10
    fixend  
       May 27, 2020
    @kingof 网易网盾?
    ifxo
        11
    ifxo  
       May 27, 2020
    至少是 5 年前的方法了吧
    kingof
        12
    kingof  
    OP
       May 27, 2020
    @ifxo 我真是 outdate 了:),这种方我还是第一次见
    kingof
        13
    kingof  
    OP
       May 27, 2020
    @fixend 感谢感谢,试一下
    kingof
        14
    kingof  
    OP
       May 27, 2020
    @hugedeffing 开源的,能给个名字或关键词吗?
    MaxLi77
        15
    MaxLi77  
       May 27, 2020
    @kingof

    各大加固厂都有,稳定性,兼容性比开源的要好
    Jf35jxN3fwBXyeLh
        16
    Jf35jxN3fwBXyeLh  
       May 27, 2020
    这个是 smali 指令抽取,将 dex 中方法的指令抽走,然后利用 hook 技术在 dalvik/art 中注入代码,当 dalvik/art 执行到这个方法时,把抽走的的指令再填充回来;这种加固方法目前也是有比较稳定的脱壳工具的,一般都在 art 中强行回填所有的指令,再把 dex 拿下来。更强的是 dex vmp 了,鄙人不才,曾写过一篇文章, google 搜索 《 Android DEX-VMP 虚拟保护技术》

    ![]( https://note.youdao.com/yws/api/personal/file/WEB6257433f62df857cab1cb04a997a1093?method=download&shareKey=f07da1da1c99a6a7b7a982920d22ce3d)
    ![]( https://note.youdao.com/yws/api/personal/file/WEBc9611c867e699c63d5cb19fe0ee65a4b?method=download&shareKey=2007fce0d8835820ce396364350e5fb6)
    ![]( https://note.youdao.com/yws/api/personal/file/WEBaf6a6e6f036d29861b21e8db61c951d6?method=download&shareKey=1197e0cbc415de156d72509f982207c9)
    Jf35jxN3fwBXyeLh
        17
    Jf35jxN3fwBXyeLh  
       May 27, 2020
    @MaxLi77 哥们说得对,加固技术基本到头了
    amimo
        18
    amimo  
       May 27, 2020
    这种加固方案依赖于虚拟机的实现,会有兼容性问题,每个安卓版本都得适配.java2c 有开源的实现,搜索 dex to c compiler.
    kingof
        19
    kingof  
    OP
       May 28, 2020
    @YouKnowIt
    @amimo


    感谢两位大佬
    Jf35jxN3fwBXyeLh
        20
    Jf35jxN3fwBXyeLh  
       May 28, 2020
    @amimo 是的,有兼容性问题,我也提到过。不过兼容性问题是可以慢慢收敛的,现在,这种方案我个人觉得兼容性,稳定性已经做的可以了,毕竟也经过不少商业客户线上检验
    xiner
        21
    xiner  
       Jul 14, 2020
    APK 安全加固,可以提高应用程序的代码安全性、数据安全性和自主防御能力,并且符合《 GBT25070-2019 信息安全技术网络安全等级保护安全设计技术要求》 [简称:等保 2.0] 中的移动互联安全计算环境设计技术要求。可以帮助金融、手游、电商、社交等行业解决移动应用的诸多安全问题,包括核心代码被反编译、应用被仿冒、API 接口暴露、密钥被窃取、请求协议被伪造,APK 包被植入恶意代码等,提供全面的标准化安全保护功能。

    只需要提供 APK 包即可快速集成防静态工具分析、Dex 文件保护、So 文件保护、内存保护、反调试、防二次打包、本地数据加密、资源文件加密等多项安全功能。

    APK 加固: https://www.kiwisec.com/product/app-encrypt.html
    snowflake007
        22
    snowflake007  
       Dec 18, 2024
    1000 块买了个加固服务,通过了安全合规检测。相比其他动则万元很便宜了

    DexVMP 保护,壳加密算法保护,Dex 文件防篡改保护,壳防动态调试保护,防内存 DUMP 保护,模拟器&ROOT 检测保护,防日志泄露保护,防线程动态调试保护,防进程动态调试保护,防 JDWP 调试保护,防注入保护
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1059 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 46ms · UTC 18:50 · PVG 02:50 · LAX 11:50 · JFK 14:50
    ♥ Do have faith in what you're doing.