Loading... # 引言 electron 框架开发的应用实在是太多了,百度网盘Linux版,uTools,GitHubDesktop,typora,网易云音乐等等吧,都是基于这个框架开发的。 这个框架实际上是桌面端v8引擎,因为内嵌了浏览器引擎,内部的代码均由js或ts开发的。 # 反破解难度 其实总结来说,对于加密的难度很大,如果是一般的,修改起来还是很轻松的。 比如说百度网盘,之前曾经和一位大佬合作注入它,其中libbrowserengine.so文件中存在一个app.asar的校验,解密的过程用到了ida,那时候我还在上大学,看着一系列的操作感到不明觉厉。 网易云音乐,其中的ntpk文件实际上是压缩包,但是被加密了,经过dbg,也可以轻易的找到密钥,剩下的就考验js的功底了。 typora,asar直接解密是会报错的,网上有解密的脚本,大概的看了看,asar文件是被AES算法加密的,密钥肯定可以通过常规的反汇编找到,那个脚本已经把算法写到里面了,所以没有细究根本。 一般情况通过asar命令就可以直接的解包,修改里面的js,就可以直接跑了。 # 常规办法 因为electron是基于node的,所以需要下载一个node,推荐LTS版本,通过npm全局安装asar ```bash npm install asar -g ``` 此时asar就可以直接在控制台中运行了。 ![asar](https://www.zunmx.top/usr/uploads/2022/12/3655430119.png) 根据提示,在app.asar目录执行命令`asar extract app.asar app` 解压asar文件 不出意外的化,就可以直接的看到app的文件夹了 此时就可以看到源码了。 # 远程调试 ⚠这里只是暂时的修改,并不能修改源码,但是debug是非常不错的选择 ℹ️当程序的开发者工具无法通过一些手法打开的时候,可以考虑这个办法 前几个版本的网易云音乐是可以通过这个方法启动的,但是目前的最新版是不可以的了。 提前在浏览器里配置好端口号,地址:chrome://inspect/#devices ![chrome](https://www.zunmx.top/usr/uploads/2022/12/2237181452.png) chrome有个叫做inspect的模块,在启动目标程序的时候,添加运行参数 ```bash app.exe --inspect-brk=9222 # 启动就进入断点 app.exe --inspect=9222 # ``` 此时在浏览器里就可以看到下图了 ![chrome](https://www.zunmx.top/usr/uploads/2022/12/3660892796.png) 点击`inspect` 此时就可以使用开发者工具进行调试了 # uTools 之前我试过,asar不能直接解密,但是现在的这个版本3.3.0可以直接解压,剩下的就是找关键的代码,自行注入了。 ![image.png](https://www.zunmx.top/usr/uploads/2022/12/903237424.png) ![image.png](https://www.zunmx.top/usr/uploads/2022/12/2136431056.png) ![image.png](https://www.zunmx.top/usr/uploads/2022/12/3511556319.png) ![image.png](https://www.zunmx.top/usr/uploads/2022/12/225804899.png) © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 1 如果觉得我的文章对你有用,请随意赞赏