破解前的软件界面
找到安装目录
tagLyst
是基于electron
技术开发的工具,使用这种技术的软件很容易会被解包并查看到程序代码。
在tagLyst\run\resources
目录下,我们可以看到如下几个文件:
复制代码 隐藏代码
app.asar
default_app.asar
electron.asar
有关程序逻辑的主要代码在app.asar
中
app.asar 解包
electron
程序在发布的时候会通过asar
工具对源文件进行打包。首先通过下面的命令安装asar
工具(需要提前安装nodejs环境)
复制代码 隐藏代码
npm install -g asar
下面我们进行解包操作
复制代码 隐藏代码
asar extract app.asar ./app
通过这个命令把app.asar
文件解包到./app
下面
代码格式化
解包之后虽然我们能够看到代码,但是代码格式上却乱七八糟的,通过安装下面的工具对源码进行格式化操作
复制代码 隐藏代码
npm install --g prettier
安装成功后, 把我们可能需要分析的源码进行格式化
复制代码 隐藏代码
prettier --write app/main.js
prettier --write app/
开启调试功能
打开package.json文件
复制代码 隐藏代码
{
"name": "tagLyst Next",
"version": "3.1.0",
"main": "main.js",
"dependencies": {
"request": "^2.88.0"
}
}
通过查看package.json
文件,得知主程序文件为main.js
我们在main.js
文件中找到createWindows
函数,然后在合适的位置上添加下面的代码来启动调试功能。调试功能启用之后我们就可以像调试前端的方式去调试tagLyst
工具,并分析其破解过程。
复制代码 隐藏代码
function createWindows() {
...
mainWindow.webContents.openDevTools();
...
}
注册分析
打开tagLyst
工具,点击上面的购买升级
按钮,随便填入一个邮箱和一串激活码,并点击在线激活
按钮,我们发现会注册失败,对话框提示激活码并不正确。