吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1980|回复: 2
上一主题 下一主题
收起左侧

[会员申请] 申请会员ID:gaoyanchen【申请通过】

  [复制链接]
跳转到指定楼层
楼主
吾爱游客  发表于 2024-1-13 15:01 回帖奖励 |自己
  1. 申 请 I D:gaoyanchen

  2. 个人邮箱:1450009389@qq.com

  3. 逆向新人,希望加入论坛学习,以下是最近破解的笔记内容

    一、起因

    utools是我比较常用的桌面效率工具,拥有强大的插件市场,可以自由组合插件应用,打造专属自己趁手的工具集,但是由于其会员是订阅制而不是买断制,所以当然要支持正版了!!(支持)。仅供学习和测试使用请支持正版软件,测试中产生的后果自行承担。

    二、知识、工具准备

    逆向分析的第一步就是要了解目标软件是用啥开发的,架构是啥,根据其官方的开发文档,以及其跨平台的特性,(当然解包也可以看得出来),是基于electron+node.js 框架,用 javascript 开发的跨平台的桌面程序。
    因此我们需要以下工具:

  4. asar 打包/解压工具 (npm i -g asar)  

  5. node.js: 模块/API/运行环境构建/npm工具

  6. vscode:编辑用

  7. poxyman:抓包用

    三、开干

    1、安装工具

    1、先下载官方utools安装包
    2、安装nodejs
    3、npm 安装asar,命令:  npm i -g asar

    2、解包主程序utools的js代码

    首先进入程序目录如下:
    image.png
    进入中断输入以下命令:

    asar e app.asar utools

    会生成一个名叫utools的文件夹,用vscode打开即可看到js代码。可以用格式化文档命令,使用prettier插件格式化下,方便待会阅读代码。
    image.png

    3、寻找特征

    先从app的这个提示入手
    image.png
    没什么卵用,这个信息找不到具体函数,改变思路,应用启动时候肯定要进行服务器请求,获取当前用户的信息,判断是不是会员,所以咱们掏出那个男人poxyman,开始抓包看请求地址:
    image.png
    就是这个请求,注意到有一个属性叫做purchased ,中文就是已购买:false,咱们就搜这个属性。
    image.png找到这个判断是不是已购买的函数,咱们从它入手。全局搜索,有一下三处调用,所以我们只要让这个函数返回会员信息,就大功告成。
    image.png
    image.png
    根据函数内容,我们只要全都返回1即为会员身份,所以将所有return处改为1。
    我们打包验证下:

    asar p utools app.

    替换原有app.asar,重启app,测试会员功能,
    image.png
    已经可用。

    4、破解收费插件、

    1、寻找插件文件

    插件商店有很多插件是需要内购的,这些插件是需要自行下载的。比如这款gpt插件。我们尝试破解它,同理,我们先上抓包男,看看这个插件是下载下来的什么。image.png
    下载插件是这个请求,请求下来的是加密内容,
    image.png
    去代码中搜索这个接口,发现了调用的函数如下:,显然将请求的字节流内容保存到了某个asar文件中,那这就好办了,我们直接去utools数据目录找到这个插件文件。
    image.png
    前往如下文件夹:
    image.png
    按照时间排序找到最新的plugin文件,进行解包

    asar e 0bd6fb01b1cc82cf7c1a40ebddc5f6da.asar pt

    image.png
    解包后vscode打开文件夹备用。

    2、寻找破解特征

    老办法,对于这样的需要登录的应用,启动时必然要有账号信息请求。所以我们打开插件登录账号后,重启插件进行抓包。
    image.png
    找到请求了,这个isvip参数摆明了就是突破口啊。我们先用抓包软件脚本功能,修改返回值试试看。直接返回true。
    image.png
    再次打开插件,发现vip功能已经可用,但是总不能每次都启动着poxyman使用插件,因此我们着手破解其源文件。
    image.png
    我们打开刚刚解号的包,直接搜索这个接口请求gpt-user/testVIP,啪的一下很快啊,就一个结果
    image.png
    根据变量定位到以下函数位置,return这个三元表达式咱们直接给他取反即可,
    image.png
    修改如下:image.png
    重新打包asar

    asar p pt 0bd6fb01b1cc82cf7c1a40ebddc5f6da.asar

    替换源文件,重启插件发现,插件打不开了???返回白屏
    替换源文件又可以打开,怀疑主程序对插件文件做了md5校验。
    咱们回到主程序源代码。搜索md5,果然找到如下代码
    image.png
    由pluginPath可见为插件md5校验,如果校验不通过就不会mount插件了,所以我们删除这块代码,保留mount。重新打包重启主程序,再次打开插件,成功打开了。测试会员功能可用。
    image.png

    四、后记

    此类electron程序是我上手的第一款macos app ,对网上大佬们的教程表示衷心感谢,希望能加入论坛进行进一步的学习,后续我会进一步学习分享object-c编写的macos应用的逆向破解。希望能通过申请,谢谢。

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

沙发
Hmily 发表于 2024-1-15 12:03
I D:gaoyanchen
邮箱:1450009389@qq.com

申请通过,欢迎光临吾爱破解论坛,期待吾爱破解有你更加精彩,ID和密码自己通过邮件密码找回功能修改,请即时登陆并修改密码!
登陆后请在一周内在此帖报道,否则将删除ID信息。

ps:内容有些简单,登录后把文章整理一下发到脱壳破解区,期待以后有更多分享。
3#
gaoyanchen 发表于 2024-1-18 19:57

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 06:11

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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