Featured image of post 记一次 AI 反编译破解 Typora 软件的逆向尝试

记一次 AI 反编译破解 Typora 软件的逆向尝试

本文记录了一次使用 AI 工具尝试反编译并分析 Typora 破解版软件的过程,包括通过 pkg-unpacker 解包 Node.js 打包的 exe 文件、识别 RSA 加密机制、分析机器码与 KEY 验证逻辑,最终揭示此类“破解”背后的引流套路。适合对逆向工程、软件安全或 AI 辅助分析感兴趣的开发者阅读。

记一次 AI 反编译破解 Typora 软件的逆向尝试

因为最近在用 Obsidian 写 Markdown 的时候,感觉样式有点别扭,所以想起了 Typora,但是当前最新版本是需要付费使用的,所以就想着搞点破解软件什么的。

于是就开始找找有没有什么最新的破解软件,最终找到 YT 上面的一个视频,但是通过视频的后面发现,他是做引流了,因为使用他的这个软件,需要将机器码发给他,然后他给你 KEY。

然后我突然萌生一个想法,想看看这种东西里面到底是人是鬼,于是就有了一次反编译逆向的经历(剧透:最终没成功,而且放弃了,但是过程感觉还是挺有趣的,所以才想着记录一下)

从软件格式入手

虽然它是一个 exe 文件,但是看图标却是熟悉的 Nodejs,所以首先想到的这个程序应该通过 Node 打包出来的

详细信息

因为对这块不太熟悉,所以这里先问一下 AI 有何方法。

AI 给了几个方法:

  1. 它认为这个软件是通过 pkg 打包的,可以通过 pkg-unpacker 来进行解包

  2. 为了确定是不是 pkg 打包的,可以通过 hexed.it 在线工具查看十六进制编码,并且搜索关键词 PAYLOAD_POSITION 等来确认

接着我就先去 hexed.it 搜索了一下关键词,果然是有的

使用 pkg-unpacker 解包

拉取了开源仓库,安装了项目依赖以后,就可以通过命令行进行解包,解包出来的内容如下

因为不是很懂,所以我又接着问它这个解包的内容是什么,同时将打开软件的时候会提示的内容也截图发给它,看它能不能为我提供一些什么线索

但是根据它所说的步骤,貌似没有找到这个提示的内容,所以我索性将源码直接给它分析

它先对这份源码进行了解释,也就是破解 Typora 的思路,然后跟我解释说这个要输入的 KEY 其实跟破解是没有关系的(其实我也知道肯定是没有关系的,但是我比较好奇想搞明白这个key到底是什么)

然后它给了我两个建议。

分岔口

一开始我是鬼迷心窍的选择了方案二,但是搞了我很久都没有搞出来,基本上打开了软件以后就出现闪退,也换了某包来尝试,最后甚至还找来了 GPT,但是人家一听到是破解就不干了(苦笑

所以后面,还是回到寻找这个 KEY 的路子上来。我突然想起还有一位编码大师 Grok,于是想着换一个 AI 来试试

我让它定位一下 KEY 的位置,然后它在加密的那个 js 文件里面,搜索到了一些关键的信息

看着像是 RSA 加密的东西

但是它好像将一些伪造的信息混在一起了,于是重新更正并继续提问,问它这个东西跟软件提示的内容有没有联系

然后我按照它说将信息复制进去尝试了一下,果然是不成功的,因为感觉肯定是有些关联的。

接着我问它能否通过现有的代码去自签名,因为像一些网站的加密,一般可能都会将密钥什么的放在源码中进行加解密,所以我在想能不能也通过类似的方式来执行

但是它告诉我的是并不能,这里只有公钥,没有私钥,RSA是一个非对称的算法,那就是没辙了。

然后我想起 YT 视频里面的流程,就是要将软件展示的机器码留言发给 UP,然后再私聊告诉他 KEY,那么这样就说得通了,私钥在 UP 的手上,他能够对机器码用私钥进行加密,然后告诉用户,破了第一道屏障,那么后面就是软件破解的过程了。

套路

现在搞破解的还是真有一手,不过感觉没什么人上当,留言的人也不多,我也是出于好奇想看看葫芦里面到底卖的是什么药

其实如果要破解它也是有办法的,它能 hook,难道我就不能够再 hook 一层嘛哈哈哈。

不过最终我也没这么做,就不再折腾了,Typora 也没继续搞了,还是继续用回 Obsidian

免责声明: 本文仅用于技术研究与学习目的,所涉及的软件(如 Typora)均为受版权保护的商业产品。作者不鼓励、不支持、也不提供任何软件盗版、破解或绕过授权机制的行为。请读者遵守相关法律法规,尊重开发者劳动成果,支持正版软件。因 misuse 本文内容所引发的任何法律后果,作者概不负责。

Licensed under CC BY-NC-SA 4.0
本博客所有内容无特殊标注均为大卷学长原创内容,复制请保留原文出处。
Built with Hugo
Theme Stack designed by Jimmy