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:
parent
04e96e0d68
commit
a3d82cc46a
@ -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 {
|
||||
|
||||
@ -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;
|
||||
|
||||
|
||||
@ -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:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user