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文件了

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.

解压步骤:

1.首选clone下这个别人已经写好的解压库: git clone https://chromium.googlesource.com/chromium/src/tools/grit

2.在项目里找到data_pack.py,并将 print "%s: %s" % (resource_id, text) 部分替换成 with open(str(resource_id), "wb") as file: file.write(text)

3.命令行执行python data_pack.py yourfile.pak,就会将pak里的东西都解压到data_pack.py目录下(注意并没有格式)

破解修改 Electron 软件 | 游戏的更多相关文章

  1. Genymotion - 强大好用高性能的 Android 模拟器 (在电脑流畅运行APK安卓软件游戏的利器)

    随着 Android 系统的应用和游戏越来越丰富,甚至有些比起Windows.Mac上的软件更加好用好玩,因此很多人都希望能在电脑上也能玩到安卓的游戏或APP. 我们曾推荐过 BlueStacks,而 ...

  2. Unity 4.2.0 官方最新破解版(Unity3D 最新破解版,3D游戏开发工具和游戏引擎套件)

    Unity是一款跨平台的游戏开发工具,从一开始就被设计成易于使用的产品.作为一个完全集成的专业级应用,Unity还包含了价值数百万美元的功能强大的游戏引擎.Unity作为一个游戏开发工具,它的设计主旨 ...

  3. office文件密码破解方法及软件

    今天会用到3个软件 1.Office Password Remover 说明:这个软件可以很快破解.doc   .xls的密码 使用方法:参考百度经验里面的文章http://jingyan.baidu ...

  4. 学习笔记:暴力破解WIFI小软件

    小弟 自己的学习笔记,做练习的 ,缺陷还很多,做到无法解决速度问题就不想做下去了,如果要看的话 主要是思路问题,获取句柄,控制句柄而已,代码比较简单.大神勿喷啊 破解DEMO源码:http://dow ...

  5. Rational Rose_2007的下载、安装与破解--UML建模软件

    一.下载Rational.Rose_2007安装包与破解文件 对于Rational.Rose_2007,您可以到我的百度网盘计算机相关专业所用软件---百度云链接下载下载,另外附上安装需要的通行证(破 ...

  6. 修改Electron的libcc(libchromiumcontent)源码,重新编译electron, 设置event.isTrusted为true

    VPN非常注意: 编译的过程需要使用VPN, 否者chromium的源代码无法下载, 后面会出现总总问题 Electron的编译环境, 推荐使用物理机: win10 64位 英文版, 为了避免后期出现 ...

  7. Android逆向之旅---破解"穿靴子的猫"游戏的收费功能

    一.游戏收费分析 游戏收费非常正常的,可是玩游戏最恶心的就是你还没玩就要充值,非常恼火,事实上我不怎么玩游戏,主要是给小孩子们弄,比方如今好多小屁孩们喜欢玩水果忍者这个游戏.可是这个游戏在没有開始玩的 ...

  8. 玩转树莓派 - 修改Raspbian软件源加快软件下载速度

    这是 meelo 原创的 玩转树莓派 系列文章 步骤1:登录到Raspbian的命令行界面 步骤2:修改Raspbian的软件源 软件源是Linux系统免费的应用程序安装仓库,很多的应用软件都会这收录 ...

  9. office 2013 破解工具 及 软件下载

     win7/win8/win10  office2013 破解工具 下载地址: https://pan.baidu.com/s/1sZeJOCWq1fZ3KIOWvmrAQQ office2013  ...

随机推荐

  1. PyCharm创建自定义代码段(JetBrains系列通用)

    创建自定义代码段或者修改代码段:(用习惯了VSCode的main格式,固而改下)

  2. Ubuntu18.04 下 VirtualBox or VMWare 虚拟化问题

    This host supports Intel VT-x, but Intel VT-x is disabled.Intel VT-x might be disabled if it has bee ...

  3. express搭建服务器

    学习express搭建node服务器 一.安装express框架 1.了解框架(百度) 2.下载框架 (1)使用npm命令下载 npm install express -g //全局安装,安装的是ex ...

  4. 小Y的炮

    [存代码] #include<bits/stdc++.h> #define N 1000001 #define MAXN 100001 using namespace std; int n ...

  5. A1114. Family Property

    This time, you are supposed to help us collect the data for family-owned property. Given each person ...

  6. A1107. Social Clusters

    When register on a social network, you are always asked to specify your hobbies in order to find som ...

  7. A1099. Build A Binary Search Tree

    A Binary Search Tree (BST) is recursively defined as a binary tree which has the following propertie ...

  8. T4 反射实体模型生成代码(Demo)

    1.新建一个T4 Script   <#@ template language="C#" debug="True" #> <#@ output ...

  9. 【听RQY大佬“训话”有感】

    今天听了山东省“红太阳”——RQY大佬(dalao获奖传送门)的讲话,做一下总结及感悟: 总结: 1.基础重要!!!.基础重要!!!.基础重要!!!(重要的事情说三遍) 只要基础好了,后面知识都很简单 ...

  10. __int128

    __int128 __uint128 __int128_t __uint128_t 大小:16字节 2^128(sizeof()) 2^128 39位 340282366920938463463374 ...