码迷,mamicode.com
首页 > 其他好文 > 详细

破解修改 Electron 软件 | 游戏

时间:2017-05-14 21:42:17      阅读:3981      评论:0      收藏:0      [点我收藏+]

标签:获取   ctr   内容   exp   forum   解压   资源文件   .exe   工具   

Electron 是 Github 发布跨平台桌面应用开发工具,支持 Web 技术开发桌面应用开发,其本身是基于 C++ 开发的,GUI 核心来自于 Chrome,而 JavaScript 引擎使用 v8。

微软的VsCode与触控的Cocos Creator都是基于Electron开发的。

 

这里以Steam上的独立游戏《The Curious Expedition》为例:

一个Electron应用,目录下主要是这两部分:

技术分享

electron.exe则是启动器,他是软件无关的,也就是说,所有基于Electron开发的软件都可以用这个启动器来启动,它是通用的,

应用的核心部分是resource文件下的app.asar

技术分享

app.asar则是整个项目的所有资源文件的压缩包,包括js脚本,纹理、声音等其他资源,

它的压缩与解压参考:ASAR: how to unpack a .asar file?

简单来说,就是先通过npm安装asar(前提是你要安装了npm管理器):npm install -g asar

然后通过asar解压:asar extract app.asar destfolder 

解压后便可以得到所有文件:

技术分享

一般来说,这个时候获取到的游戏主js文件都是混淆过的,比如上面的"min-cegame.js"

 

接下来便是根目录下的pak文件了

技术分享

对于这个游戏而言,上一步的app.asar貌似已经解压出全部游戏资源了,不知道这部分还藏着什么

pak文件的解压方式参考:how to unpack resources.pak from google chrome?

How to unpack .pak files and then repack them on Linux?

pak文件的二进制内容大概是:

4 byte version number 
4 byte number of resources
1 byte encoding

For each resource:
2 byte resource id
4 byte resource offset in file

There is an extra resource entry at the end with ID 0 giving the end of the last resource (which is essentially the length of the file).

After these resource entries the raw file data is written for each file. You can see the file ui/base/resource/data_pack_literal.cc in the chromium source tree for a couple commented example resource files.

 

内容我还没验证过是什么,待解压测试

破解修改 Electron 软件 | 游戏

标签:获取   ctr   内容   exp   forum   解压   资源文件   .exe   工具   

原文地址:http://www.cnblogs.com/jeason1997/p/6853737.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!