diff --git a/src/network-services-pentesting/pentesting-web/electron-desktop-apps/README.md b/src/network-services-pentesting/pentesting-web/electron-desktop-apps/README.md
index 102649f84..1b18bd8ae 100644
--- a/src/network-services-pentesting/pentesting-web/electron-desktop-apps/README.md
+++ b/src/network-services-pentesting/pentesting-web/electron-desktop-apps/README.md
@@ -1,17 +1,17 @@
-# Electron Desktop Apps
+# Electron 桌面应用
{{#include ../../../banners/hacktricks-training.md}}
## 介绍
-Electron结合了本地后端(使用**NodeJS**)和前端(**Chromium**),尽管它缺乏现代浏览器的一些安全机制。
+Electron 将本地后端(使用 **NodeJS**)和前端(使用 **Chromium**)结合在一起,尽管它缺少现代浏览器的一些安全机制。
-通常,您可能会在`.asar`应用程序中找到electron应用代码,获取代码需要提取它:
+通常你可能会在 `.asar` 应用中找到 Electron 应用的代码,要获取这些代码你需要将其提取:
```bash
npx asar extract app.asar destfolder #Extract everything
npx asar extract-file app.asar main.js #Extract just a file
```
-在 Electron 应用的源代码中,在 `packet.json` 文件内,可以找到指定的 `main.js` 文件,其中设置了安全配置。
+在 Electron 应用的源代码中,在 `packet.json` 内,你可以看到指定了 `main.js` 文件,其中设置了安全配置。
```json
{
"name": "standard-notes",
@@ -19,8 +19,8 @@ npx asar extract-file app.asar main.js #Extract just a file
```
Electron 有 2 种进程类型:
-- 主进程(完全访问 NodeJS)
-- 渲染进程(出于安全原因,NodeJS 的访问应受到限制)
+- 主进程(可完全访问 NodeJS)
+- 渲染进程(出于安全原因,应该限制对 NodeJS 的访问)
.png>)
@@ -32,20 +32,20 @@ let win = new BrowserWindow()
//Open Renderer Process
win.loadURL(`file://path/to/index.html`)
```
-**renderer process** 的设置可以在 **main process** 中的 main.js 文件中进行 **配置**。一些配置将 **防止 Electron 应用程序获取 RCE** 或其他漏洞,如果 **设置正确配置**。
+Settings of the **渲染进程** can be **配置** in the **主进程** inside the main.js file. Some of the configurations will **阻止 Electron 应用程序 获取 RCE** or other vulnerabilities if the **设置正确配置**。
-Electron 应用程序 **可以通过 Node apis 访问设备**,尽管可以配置以防止它:
+The Electron application **能够访问设备** via Node apis although it can be configure to prevent it:
-- **`nodeIntegration`** - 默认情况下为 `off`。如果开启,允许从 renderer process 访问 node 功能。
-- **`contextIsolation`** - 默认情况下为 `on`。如果关闭,主进程和渲染进程不被隔离。
-- **`preload`** - 默认情况下为空。
-- [**`sandbox`**](https://docs.w3cub.com/electron/api/sandbox-option) - 默认情况下为 off。它将限制 NodeJS 可以执行的操作。
+- **`nodeIntegration`** - is `off` by default. If on, allows to access node features from the 渲染进程.
+- **`contextIsolation`** - is `on` by default. If off, 主进程 and 渲染进程 aren't isolated.
+- **`preload`** - empty by default.
+- [**`sandbox`**](https://docs.w3cub.com/electron/api/sandbox-option) - is off by default. It will restrict the actions NodeJS can perform.
- Node Integration in Workers
-- **`nodeIntegrationInSubframes`** - 默认情况下为 `off`。
-- 如果 **`nodeIntegration`** 被 **启用**,这将允许在 Electron 应用程序中 **加载在 iframes 中的网页** 使用 **Node.js APIs**。
-- 如果 **`nodeIntegration`** 被 **禁用**,则预加载将在 iframe 中加载。
+- **`nodeIntegrationInSubframes`**- is `off` by default.
+- If **`nodeIntegration`** is **enabled**, this would allow the use of **Node.js APIs** in web pages that are **加载在 iframes 中** within an Electron application.
+- If **`nodeIntegration`** is **disabled**, then preload 会在 iframe 中加载
-配置示例:
+Example of configuration:
```javascript
const mainWindowOptions = {
title: "Discord",
@@ -71,7 +71,7 @@ spellcheck: true,
},
}
```
-一些 **RCE payloads** 来自 [这里](https://7as.es/electron/nodeIntegration_rce.txt):
+一些 **RCE payloads** 来自 [here](https://7as.es/electron/nodeIntegration_rce.txt):
```html
Example Payloads (Windows):
```
### 捕获流量
-修改 start-main 配置并添加使用代理,例如:
+修改 start-main 配置并添加对 proxy 的使用,例如:
```javascript
"start-main": "electron ./dist/main/main.js --proxy-server=127.0.0.1:8080 --ignore-certificateerrors",
```
-## Electron 本地代码注入
+## Electron Local Code Injection
+
+如果你能在本地执行一个 Electron App,可能会让它执行任意的 javascript 代码。详见:
-如果您可以本地执行一个 Electron 应用程序,那么您可能可以使其执行任意的 JavaScript 代码。查看如何操作:
{{#ref}}
../../../macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-electron-applications-injection.md
@@ -111,7 +112,7 @@ onerror="alert(require('child_process').execSync('uname -a').toString());" />
## RCE: XSS + nodeIntegration
-如果 **nodeIntegration** 设置为 **on**,网页的 JavaScript 可以通过调用 `require()` 轻松使用 Node.js 功能。例如,在 Windows 上执行计算器应用程序的方法是:
+如果 **nodeIntegration** 被设置为 **on**,网页的 JavaScript 可以通过调用 `require()` 轻松使用 Node.js 功能。例如,在 Windows 上执行 calc 应用的方式是:
```html