1
0
mirror of https://github.com/tobspr/shapez.io.git synced 2025-12-11 09:11:50 +00:00

Remove accessNestedPropertyReverse

Obfuscation is useless in an open source game.
This commit is contained in:
Даниїл Григор'єв 2024-07-26 16:15:41 +03:00
parent 04e96e0d68
commit a3d82cc46a
No known key found for this signature in database
GPG Key ID: B890DF16341D8C1D
3 changed files with 10 additions and 34 deletions

View File

@ -2,21 +2,20 @@
import { Application } from "../application";
/* typehints:end */
import { sha1, CRC_PREFIX, computeCrc } from "./sensitive_utils.encrypt";
import { createLogger } from "./logging";
import { FILE_NOT_FOUND } from "../platform/storage";
import { accessNestedPropertyReverse } from "./utils";
import { compressObject, decompressObject } from "../savegame/savegame_compressor";
import { asyncCompressor, compressionPrefix } from "./async_compression";
import { IS_DEBUG, globalConfig } from "./config";
import { ExplainedResult } from "./explained_result";
import { decompressX64, compressX64 } from "./lzstring";
import { asyncCompressor, compressionPrefix } from "./async_compression";
import { compressObject, decompressObject } from "../savegame/savegame_compressor";
import { createLogger } from "./logging";
import { compressX64, decompressX64 } from "./lzstring";
import { CRC_PREFIX, computeCrc, sha1 } from "./sensitive_utils.encrypt";
import debounce from "debounce-promise";
const logger = createLogger("read_write_proxy");
const salt = accessNestedPropertyReverse(globalConfig, ["file", "info"]);
const salt = globalConfig.info.file;
// Helper which only writes / reads if verify() works. Also performs migration
export class ReadWriteProxy {

View File

@ -40,19 +40,6 @@ export function randomInt(start, end) {
return Math.floor(Math.random() * (end - start + 1) + start);
}
/**
* Access an object in a very annoying way, used for obsfuscation.
* @param {any} obj
* @param {Array<string>} keys
*/
export function accessNestedPropertyReverse(obj, keys) {
let result = obj;
for (let i = keys.length - 1; i >= 0; --i) {
result = result[keys[i]];
}
return result;
}
/**
* Chooses a random entry of an array
* @template T
@ -406,7 +393,7 @@ export function makeButton(parent, classes = [], innerHTML = "") {
*/
export function removeAllChildren(elem) {
if (elem) {
var range = document.createRange();
const range = document.createRange();
range.selectNodeContents(elem);
range.deleteContents();
}
@ -618,7 +605,7 @@ export function fillInLinkIntoTranslation(translation, link) {
* @param {string} text
*/
export function generateFileDownload(filename, text) {
var element = document.createElement("a");
const element = document.createElement("a");
element.setAttribute("href", "data:text/plain;charset=utf-8," + encodeURIComponent(text));
element.setAttribute("download", filename);
@ -634,7 +621,7 @@ export function generateFileDownload(filename, text) {
* @param {string} acceptedType
*/
export function startFileChoose(acceptedType = ".bin") {
var input = document.createElement("input");
const input = document.createElement("input");
input.type = "file";
input.accept = acceptedType;

View File

@ -3,16 +3,6 @@ import { compressX64 } from "../core/lzstring";
import { computeCrc } from "../core/sensitive_utils.encrypt";
import { compressObject } from "../savegame/savegame_compressor";
function accessNestedPropertyReverse(obj, keys) {
let result = obj;
for (let i = keys.length - 1; i >= 0; --i) {
result = result[keys[i]];
}
return result;
}
const salt = accessNestedPropertyReverse(globalConfig, ["file", "info"]);
self.addEventListener("message", event => {
// @ts-ignore
const { jobId, job, data } = event.data;
@ -32,7 +22,7 @@ function performJob(job, data) {
const optimized = compressObject(data.obj);
const stringified = JSON.stringify(optimized);
const checksum = computeCrc(stringified + salt);
const checksum = computeCrc(stringified + globalConfig.info.file);
return data.compressionPrefix + compressX64(checksum + stringified);
}
default: