飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 47404|回复: 125

[macOS] 一行代码走天下之Frida+Hopper v4.5.19 Demo调试Ummy Video Downloader算法

    [复制链接]
  • TA的每日心情
    开心
    2019-3-17 22:44
  • 签到天数: 132 天

    [LV.7]常住居民III

    发表于 2020-1-19 21:17:00 | 显示全部楼层 |阅读模式

    一行代码走天下之Frida+Hopper v4.5.19 Demo调试Ummy Video Downloader的注册验证算法

    前言
    最近接触到Frida神器,读完文档后发现确实是逆向神器,做了一期简短视频,介绍了一些入门操作,欢迎观看。

    这里记录一些操作步骤。

    0x1 初识软件
    Ummy Video 是一款下载YouTube视频的小工具,未注册时有使用次数限制,本地注册方式,未采用网络验证,仔细分析的话加解密及注册验证比较容易,可以用来练习练习。
    截屏2020-01-1915.30.08.jpg
    0x2 Hopper Disassembler分析

    接下来,启动Hopper Disassembler v4.5.19 Demo版本,虽然是Demo版本的,但是可以查看伪代码,用来分析足矣~。
    通过关键词license,很容易快速定位到软件使用的加解密类:EllipticLicense
    截屏2020-01-1915.38.10.jpg
    0x3 Frida、Frida-trace跟踪类的运行流程
    打开iTerm2,输入跟踪命令:
    frida-trace "Ummy Video Downloader" -m "*[EllipticLicense *]"
    关于frida-trace的使用可以参考官网文档。
    截屏2020-01-1915.43.28.jpg
    激活Ummy Video Downloader界面后,点击注册按钮,很容易看到下面的信息:
    截屏2020-01-1915.50.17.jpg
    读下来的意思就是:初始化类,导入公钥,设置黑名单,检测黑名单,注册码验证。
    是不是很激动,如此高效的逆向分析工具,相见恨晚不。

    0x4 初识劫持代码
    打开当前文件夹,frida自动创建了文件夹 __handlers__,包含了已注入的一些方法对应的js文件。
    我们把焦点放在这个文件__EllipticLicense_verifyLicenseK_eb1154d4.js。

    [JavaScript] 纯文本查看 复制代码
    {
      onEnter: function (log, args, state) {
        log('-[EllipticLicense verifyLicenseKey:' + args[2] + ' forName:' + args[3] + ']');
      },
    
      onLeave: function (log, retval, state) {
      }
    }


    首先尝试打印一下注册码和用户名,如下修改:

    [JavaScript] 纯文本查看 复制代码
    {
      onEnter: function (log, args, state) {
        log('-[EllipticLicense verifyLicenseKey:' + args[2] + ' forName:' + args[3] + ']');
        var name = new ObjC.Object(args[3]);
        var key = new ObjC.Object(args[2]);
        console.log("name:", name.toString(), "key:", key.toString());
      },
    
    	...
    }

    切换到iTerm2,按下Ctrl+C,中断后,按下向上方向键👆,激活上次命令,再次按下回车。
    点击激活按钮,就显示了内存中的用户名和激活码。
    截屏2020-01-1916.04.43.jpg
    0x5 一行代码走天下
    再次修改代码,添加如下一行代码:

    [JavaScript] 纯文本查看 复制代码
    {
     ... 
     
     onLeave: function (log, retval, state) {
        retval.replace(1);  // add one line code.
      }
    }

    这行代码的意思很明显了,就是修改函数:[EllipticLicense verifyLicenseKey: forName:]的返回值为True。
    好了,保存文档,再次注入,发现Ummy Video Downloader变成了注册版,可以使用下载功能了。
    截屏2020-01-1916.11.27.jpg



    链接:


    评分

    参与人数 15威望 +16 飘云币 +15 收起 理由
    zhczf + 2 + 2 感谢发布原创作品,PYG有你更精彩!
    yp124202453 + 1 + 1 春风欲度玉门关,下次评分翻一番!
    bluesky10 + 1 + 1 PYG有你更精彩!
    DONWU + 1 + 1 感谢发布原创作品,PYG有你更精彩!
    aaavip + 1 春风欲度玉门关,下次评分翻一番!
    2632666940 + 1 + 1 PYG有你更精彩!
    f88u8 + 1 + 1 PYG有你更精彩!
    天玄 + 1 + 1 PYG有你更精彩!
    zyjsuper + 1 + 1
    xmhwws + 1 相见恨晚

    查看全部评分

    本帖被以下淘专辑推荐:

    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2024-2-22 22:00
  • 签到天数: 326 天

    [LV.8]以坛为家I

    发表于 2020-1-19 21:52:22 | 显示全部楼层
    占座来跟着学习
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-9 08:20
  • 签到天数: 869 天

    [LV.10]以坛为家III

    发表于 2020-1-20 08:08:52 | 显示全部楼层
    膜拜飞树大神
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2023-5-9 08:23
  • 签到天数: 100 天

    [LV.6]常住居民II

    发表于 2020-1-20 08:42:02 | 显示全部楼层
    来跟着学习学习
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    6 小时前
  • 签到天数: 1394 天

    [LV.10]以坛为家III

    发表于 2020-1-20 13:27:00 | 显示全部楼层
    感谢大婶分享分析文章,支持。
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    3 天前
  • 签到天数: 480 天

    [LV.9]以坛为家II

    发表于 2020-1-20 14:13:09 | 显示全部楼层
    学习下大神的经验
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2020-1-21 00:13:57 | 显示全部楼层

    膜拜飞树大神
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2020-2-14 00:02
  • 签到天数: 9 天

    [LV.3]偶尔看看II

    发表于 2020-1-21 03:22:30 | 显示全部楼层
    感谢!!!我的大神
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    5 小时前
  • 签到天数: 1453 天

    [LV.10]以坛为家III

    发表于 2020-1-21 09:35:53 | 显示全部楼层
    感谢分享 前来学习一下
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2024-2-26 21:51
  • 签到天数: 1059 天

    [LV.10]以坛为家III

    发表于 2020-1-21 11:02:15 | 显示全部楼层

    太牛了。。还有吗?????
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表