123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- const fs = require('fs')
- const path = require('path')
- const { xorKeyMap } = require('./constant')
- function xorFileContent(data, xorKey) {
-
- const result = Buffer.alloc(data.length);
- for (let i = 0; i < data.length; i++) {
- result[i] = data[i] ^ xorKey;
- }
- return result;
- }
- const getHtml = (filename) => {
- const data = fs.readFileSync(path.join(__dirname, '../files/' + filename, 'index.html'));
- const fileKey = [...filename.slice(0, 3) , ...filename.slice(filename.length - 3, filename.length)]
- let xorKey = ''
- fileKey.forEach( key => {
- xorKey += xorKeyMap.get(key)
- })
-
- const decryptedData = xorFileContent(data, (xorKey % 255).toString(16));
- return decryptedData.toString('utf-8')
- }
- const xorFileAssets = (name) => {
- const data = fs.readFileSync(path.join(__dirname, name));
- return xorFileContent(data)
- }
- const xorFile = (path) => {
- function xorBuffer(buffer, key) {
- for (let i = 0; i < buffer.length; i++) {
- buffer[i] ^= key;
- }
- }
-
-
- fs.readFile(path, (err, data) => {
- if (err) {
- console.error('Error reading file:', err);
- return;
- }
-
-
- const key = 0xFF;
- xorBuffer(data, key);
-
-
- fs.writeFile(path, data, (err) => {
- if (err) {
- console.error('Error writing file:', err);
- return;
- }
- console.log('File written successfully');
- });
- });
-
- }
- module.exports = {
- getHtml,
- xorFileAssets
- }
|