好友
阅读权限20
听众
最后登录1970-1-1
|
本帖最后由 backtrace 于 2017-2-27 05:17 编辑
Electron 是 Github 发布跨平台桌面应用开发工具,支持 Web 技术开发桌面应用开发。代表项目有Github的Atom和Microsoft的VSCode。
以前端预处理工具Prepros 6为例简单阐述下Electron封装的跨平台程序破解的一般思路:- 安装npm(至于如何安装,网上教程很多,不赘述)
- 安装好npm后执行命令安装asar:npm install asar -g
- 以macOS平台为例,在Prepros.app/Contents/Resources下找到app.asar,其他平台方法类似
- 用asar命令解包:asar e app.asar tmp
- 到步骤4中建立的tmp目录下找到对应的js文件hack之。
- 破解完后重新封装程序 :asar p tmp/ app.asar,破解完成。
因为步骤4中解包出来的全是源码文件,而且涉及到注册的字符串(trial、license)并未加密,所以直接修改程序逻辑即可实现破解。
步骤5中破解涉及到的4个文件:
config/app/licnese.js //授权信息文件
lib/license-manager.js //授权判断文件
lib/update-manager.js //联网更新获取
lib/browser/application.js //启动时检测更新
config/app/licnese.js
补全key信息。
lib/license-manager.js
activate和verify函数直接return e.stop();
lib/update-manager.js
checkUpdate函数直接return e.stop();
lib/browser/application.js
直接注释掉initUpdater里的更新检测。
结语:相对于二进制逆向,Electron程序的逆向几无技术难度可言。开发者能抵御这种逆向分析的手段也很有限——仅有混淆一途,而且效果也不佳,只要逆向者肯花点时间去分析,还是能够轻松逆向出源码。这也就注定了Electron只适合开源生态的程序的开发,并不适合对技术及知识产权的保护有强需求的企业和个人。
破解成品:http://www.52pojie.cn/thread-563609-1-1.html
|
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|