记一次electron程序破解
记一次electron程序破解
electron会把写好的程序打包成asar,需要对asar进行解包
npm -g instal asar
asar extract app.asar app/
解包之后目录如下
➜ x ls -lahrt
total 24
-rw-r--r-- 1 x staff 335B 7 31 19:16 package.json
drwxr-xr-x 34 x staff 1.1K 7 31 19:16 node_modules
drwxr-xr-x 6 x staff 192B 7 31 19:25 .
-rw-r--r--@ 1 x staff 6.0K 7 31 19:25 .DS_Store
drwxr-xr-x 4 x staff 128B 7 31 19:25 dist
drwx------+ 10 x staff 320B 7 31 19:34 ..
源码在dist/electron中
➜ electron ls -lahrt
total 26448
-rw-r--r-- 1 x staff 5.0K 7 31 19:16 0.js
-rw-r--r-- 1 x staff 4.4K 7 31 19:16 10.js
-rw-r--r-- 1 x staff 2.0K 7 31 19:16 11.js
-rw-r--r-- 1 x staff 2.9K 7 31 19:16 12.js
-rw-r--r-- 1 x staff 2.6K 7 31 19:16 13.js
-rw-r--r-- 1 x staff 6.0K 7 31 19:16 14.js
-rw-r--r-- 1 x staff 4.4K 7 31 19:16 15.js
-rw-r--r-- 1 x staff 1.1K 7 31 19:16 16.js
-rw-r--r-- 1 x staff 2.9K 7 31 19:16 17.js
-rw-r--r-- 1 x staff 3.8K 7 31 19:16 18.js
-rw-r--r-- 1 x staff 2.1K 7 31 19:16 19.js
-rw-r--r-- 1 x staff 5.8K 7 31 19:16 2.js
-rw-r--r-- 1 x staff 3.3K 7 31 19:16 20.js
-rw-r--r-- 1 x staff 4.8K 7 31 19:16 21.js
-rw-r--r-- 1 x staff 14K 7 31 19:16 22.js
-rw-r--r-- 1 x staff 2.4K 7 31 19:16 23.js
-rw-r--r-- 1 x staff 8.1K 7 31 19:16 24.js
-rw-r--r-- 1 x staff 17K 7 31 19:16 25.js
-rw-r--r-- 1 x staff 7.8K 7 31 19:16 26.js
-rw-r--r-- 1 x staff 7.7K 7 31 19:16 27.js
-rw-r--r-- 1 x staff 17K 7 31 19:16 28.js
-rw-r--r-- 1 x staff 3.2K 7 31 19:16 29.js
-rw-r--r-- 1 x staff 3.9K 7 31 19:16 3.js
-rw-r--r-- 1 x staff 4.7K 7 31 19:16 30.js
-rw-r--r-- 1 x staff 3.2K 7 31 19:16 31.js
-rw-r--r-- 1 x staff 2.8K 7 31 19:16 32.js
-rw-r--r-- 1 x staff 8.3K 7 31 19:16 33.js
-rw-r--r-- 1 x staff 3.5K 7 31 19:16 34.js
-rw-r--r-- 1 x staff 12K 7 31 19:16 35.js
-rw-r--r-- 1 x staff 7.9K 7 31 19:16 36.js
-rw-r--r-- 1 x staff 3.8K 7 31 19:16 37.js
-rw-r--r-- 1 x staff 1.8K 7 31 19:16 38.js
-rw-r--r-- 1 x staff 1.7K 7 31 19:16 39.js
-rw-r--r-- 1 x staff 851B 7 31 19:16 4.js
-rw-r--r-- 1 x staff 6.3K 7 31 19:16 40.js
-rw-r--r-- 1 x staff 2.9K 7 31 19:16 41.js
-rw-r--r-- 1 x staff 18K 7 31 19:16 42.js
-rw-r--r-- 1 x staff 18K 7 31 19:16 43.js
-rw-r--r-- 1 x staff 6.7K 7 31 19:16 44.js
-rw-r--r-- 1 x staff 4.0K 7 31 19:16 45.js
-rw-r--r-- 1 x staff 4.9K 7 31 19:16 46.js
-rw-r--r-- 1 x staff 5.6K 7 31 19:16 47.js
-rw-r--r-- 1 x staff 1.7K 7 31 19:16 48.js
-rw-r--r-- 1 x staff 3.5K 7 31 19:16 49.js
-rw-r--r-- 1 x staff 1.8K 7 31 19:16 5.js
-rw-r--r-- 1 x staff 23K 7 31 19:16 50.js
-rw-r--r-- 1 x staff 20K 7 31 19:16 51.js
-rw-r--r-- 1 x staff 27K 7 31 19:16 52.js
-rw-r--r-- 1 x staff 14K 7 31 19:16 53.js
-rw-r--r-- 1 x staff 427K 7 31 19:16 54.js
-rw-r--r-- 1 x staff 9.1K 7 31 19:16 6.js
-rw-r--r-- 1 x staff 3.5K 7 31 19:16 7.js
-rw-r--r-- 1 x staff 4.4K 7 31 19:16 8.js
-rw-r--r-- 1 x staff 1.4K 7 31 19:16 9.js
-rw-r--r-- 1 x staff 632K 7 31 19:16 css.worker.js
-rw-r--r-- 1 x staff 105K 7 31 19:16 editor.worker.js
-rw-r--r-- 1 x staff 254K 7 31 19:16 html.worker.js
-rw-r--r-- 1 x staff 168B 7 31 19:16 index.html
-rw-r--r-- 1 x staff 194K 7 31 19:16 json.worker.js
-rw-r--r-- 1 x staff 52K 7 31 19:16 main.js
-rw-r--r-- 1 x staff 3.8M 7 31 19:16 typescript.worker.js
drwxr-xr-x 4 x staff 128B 7 31 19:16 imgs
drwxr-xr-x 66 x staff 2.1K 7 31 19:16 .
drwxr-xr-x 5 x staff 160B 7 31 19:16 fonts
drwxr-xr-x 4 x staff 128B 7 31 19:25 ..
-rw-r--r-- 1 x staff 6.3M 7 31 19:30 renderer.js
根据提示搜索字符串发现核心文件是renderer.js
代码是压缩过的,拖到chrome里面进行格式化
分析源码发现通过ispro函数进行判定有没有激活,直接修改代码return 1即可
get isPro() {
return 1
//return !!this.info && (!(this.info.type === l.monthly && this.currentTime > this.info.expiredAt) && h.proLicenses.includes(this.info.type))
}
最后重新打包
asar pack app/ app.asar
然后替换原来的app.asar即可。