引言
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
npm install asar -g
此时asar就可以直接在控制台中运行了。

根据提示,在app.asar目录执行命令asar extract app.asar app 解压asar文件
不出意外的化,就可以直接的看到app的文件夹了
此时就可以看到源码了。
远程调试
⚠这里只是暂时的修改,并不能修改源码,但是debug是非常不错的选择
ℹ️当程序的开发者工具无法通过一些手法打开的时候,可以考虑这个办法
前几个版本的网易云音乐是可以通过这个方法启动的,但是目前的最新版是不可以的了。
提前在浏览器里配置好端口号,地址:chrome://inspect/#devices

chrome有个叫做inspect的模块,在启动目标程序的时候,添加运行参数
app.exe --inspect-brk=9222 # 启动就进入断点
app.exe --inspect=9222 #
此时在浏览器里就可以看到下图了

点击inspect
此时就可以使用开发者工具进行调试了
uTools
之前我试过,asar不能直接解密,但是现在的这个版本3.3.0可以直接解压,剩下的就是找关键的代码,自行注入了。






评论 0
还没有评论,来说点什么吧。