MacOS 高颜值的 数据库客户端工具 Tableplus 简单逆向分析

查看 170|回复 10
作者:Vvvvvoid   
0x0
navicat 给公司发律师函了, 所以不能白嫖了..
后来一直在找替代品, 但均感觉略有不足.
dbeaver : java 开发的, 依赖 jdk , 而且BUG较多,也不流畅
mysqlworkbench : 官方出品, 功能强大. 但是用着不带劲
Sequel Ace : 开源免费, 但是只支持mysql,功能简单
最后试了下 Tableplus , 感觉还不错. 颜值高, 支持的协议多,跨平台.
免费版有很多限制, 所以今天试了简单逆向了下..
0x1
环境:
Tableplus Version 5.3.8 (500) (https://tableplus.com/)
ida64
hopper
0x2
免费版有如下限制, 我们可以从这些关键字入手
[ol]
  • 只能打开俩个查询Tab页
  • 只能打开俩个窗口
  • 只能添加俩个where条件
    [/ol]

    hopper 搜索 str "Free Trial limited 2" , 定位到这些str的内存地址

    __cstring:00000001006BF130      00000020        C       Free Trial limited 2 workspaces
    __cstring:00000001006C74D0      0000001A        C       Free Trial limited 2 tabs
    __cstring:00000001006CC220      0000001D        C       Free Trial limited 2 filters
    0x3

    分析0x2的第一个变量地址, 查看引用.这里有三个引用, 先看第一个.
    进入到函数首 , 看到这块有个关键跳转.

    在这里下断,然后依次增加tab 页 ,分析得出以下结论
    call       sub_1002a56b0  ;  sub_1002a56b0 这个函数应该是取当前tab页数量,复值给 rax
    cmp        rax, 0x2 ; 将 rax 与 2 做比较, 这里的 2 就是限制条件
    mov        qword [rbp+var_38], r13
    jl         loc_1000c17c1 ; rax
    这里要爆破就很简单了,
    jl         loc_1000c17c1 > jmp         loc_1000c17c1.
    至于另外俩个关键字也是一样的方式..
    0x4
    用 ida 修改 jl > jmp .
    然后保存 (不用 hopper 修改是因为穷)
    保存完之后记者重新加签
    target_app=/Applications/TablePlus.app
    sudo xattr ${target_app}
    # 删除签名
    sudo xattr -r -d com.apple.quarantine ${target_app}
    sudo xattr -cr ${target_app}
    # 重新签名。
    sudo codesign -f -s - --deep ${target_app}

    第一个, 免费版

  • xzchina   

    Tableplus  现在唯一能找到的就是老TNT的版本,新版本没有
    感谢提供思路,已经修改好了
    blindcat   

    一个字,牛!
    sdieedu   

    非常牛  。。。。。。。。。。。
    jackwu06   

    这也太厉害了!
    DNZJZ52PJ   

    厉害厉害佩服
    无言Y   

    感谢分享
    1022556987   

    sequel pro 可以试试这个 我用的这个
    Vvvvvoid
    OP
      


    1022556987 发表于 2023-6-13 17:47
    sequel pro 可以试试这个 我用的这个

    我没记错的话 , sequel pro  已经不维护了,
    起了一个新分支 叫 sequel ace
    rainerosion   

    强啊!感谢分享
    您需要登录后才可以回帖 登录 | 立即注册

    返回顶部