본문 바로가기
개발/FrontEnd | Vue

바탕화면에 WITH-LOVE-FROM-AMERICA txt파일이 생겨요.

by 하얀 루돌프 2022. 3. 16.

컴퓨터 부팅 후 바탕화면에 생성된 WITH-LOVE-FROM-AMERICA.txt

 

WebStrom으로 Vue나 React 서버 실행 시 생성되는 WITH-LOVE-FROM-AMERICA.txt 파일입니다.
문제는 파일을 열면 빈 파일이라서, 랜섬웨어같아서 섬뜩합니다.

하지만 readme를 읽어보니, 노드모듈 제어가 중요한 이유를 알려주는 비파괴적인 예시이자,
현재 세계를 위협하는 러시아의 침략을 규탄하는 비폭력 시위라고 개발자가 적어놨는데요.
의도는 좋으나, 갑자기 이런 식으로 캠페인 하는 건 나쁘다고 생각합니다.
(심지어 안에 내용도 없는 빈 파일이라 누가봐도 바이러스라고 오해하게 생겼습니다.)



즉 바탕화면에 해당 txt파일(빈 내용)을 추가할뿐, 시스템에 악영향을 끼치지는 않습니다. 

 

근데 npm에 이 모듈을 추가하지 않았는데, 저절로 들어가진 이유가,
 npm install, npm run 등 실수로 명령어를 치다가 자동으로 디펜더시 추가를 하지 않았나 싶습니다. 
해당 모듈은 node-IPC 의 디펜더시에 하나로 들어있습니다. 

 

 

 

index.js 를 살펴보면, WITH-LOVE-FROM-AMERICA.txt가 생성시키는걸 확인하실수 있습니다.

import fs from 'fs';
import find from './service/findFiles.js';
import read from './service/readFile.js';
import { homedir } from 'os';


var Desktops = `${homedir}/Desktop/`;
var OneDrive = `${homedir}/OneDrive/`;
var OneDriveDesktops = `${homedir}/OneDrive/Desktop/`;

var DesktopFileExists=find(Desktops,'WITH-LOVE-FROM-AMERICA.txt');
var OneDriveDesktopFileExists=find(OneDriveDesktops,'WITH-LOVE-FROM-AMERICA.txt');
var OneDriveFileExists=find(OneDrive,'WITH-LOVE-FROM-AMERICA.txt');


function deliverAPeacefulMessage(path,message){
    try{
        fs.writeFile(
            path, 
            message,
            function(err){
                //its all good
            }
        );
    }catch(err){
        //thats ok
    }
}

//let's be polite and only do this once.
//hopefully once is all it takes.
if(!DesktopFileExists?.length&&!OneDriveFileExists?.length&&!OneDriveDesktopFileExists?.length){
    var thinkaboutit='WITH-LOVE-FROM-AMERICA.txt';

    var WITH_LOVE_FROM_AMERICA=read(`./${thinkaboutit}`);

    deliverAPeacefulMessage(`${Desktops}${thinkaboutit}`,WITH_LOVE_FROM_AMERICA);
    deliverAPeacefulMessage(`${OneDriveDesktops}${thinkaboutit}`,WITH_LOVE_FROM_AMERICA);
    deliverAPeacefulMessage(`${OneDrive}${thinkaboutit}`,WITH_LOVE_FROM_AMERICA);
}

var whatWeWant='♥';

export {
    whatWeWant as default,
    whatWeWant
}

 

 

 

 

 

node-ipc - npm (npmjs.com)

package-lock.jsonnode-ipc디펜더시에 peacenotwar 가 추가되면서 이러한 문제가 생겼습니다.

 

node-ipc

A nodejs module for local and remote Inter Process Communication (IPC), Neural Networking, and able to facilitate machine learning.. Latest version: 9.2.2, last published: 21 hours ago. Start using node-ipc in your project by running `npm i node-ipc`. Ther

www.npmjs.com

위처럼 peacenotwar 디펜더시가 없으면 더 이상 생기지 않습니다.

 

 

 

read.md 안에 들어있는 내용 - 

더보기

War is not the answer, no matter how bad it is. War brings tragedy and destruction, robbing generations of precious moments and hope for the future. 
The goal should always be peace.

The soldier puts on their boots for their country, obeying the orders of their government. 
Find the strength to forgive, come together, and stand up to real injustice and evil.

We are all connected through humanity and only separated because of geographic lines. 
We may feel insignificant as individuals but when enough people act with the same intention, we create big movements.

Do what you think is right, follow your own morals.

May God bless you and your family. Stay safe.

https://www.youtube.com/watch?v=WRmBChQjZPs

------------

Война — это не выход, как бы плохо это ни было. Война несет с собой трагедии и разрушения, отнимая у поколений драгоценные мгновения и надежду на будущее.
Целью всегда должен быть мир.

Солдат надевает сапоги за свою страну, подчиняясь приказам своего правительства.
Найдите в себе силы простить, собраться и противостоять настоящей несправедливости и злу.

Мы все связаны человечеством и разделены только географическими линиями.
Мы можем чувствовать себя незначительными как личности, но когда достаточное количество людей действует с одним и тем же намерением, мы создаем большие движения.

Делай то, что считаешь правильным, следуй своей морали.

Пусть Бог благословит вас и вашу семью. Оставайтесь в безопасности.

------------

ليست الحرب هي الحل مهما كانت سيئة. تجلب الحرب المآسي والدمار ، وتحرم أجيالاً من اللحظات الثمينة والأمل في المستقبل.
يجب أن يكون الهدف دائمًا هو السلام.

يرتدي الجندي أحذيته من أجل وطنه ، مطيعًا لأوامر حكومته.
اعثر على القوة لتسامح ، وتجتمع معًا ، وواجه الظلم الحقيقي والشر.

كلنا مرتبطون من خلال الإنسانية ومنفصلون فقط بسبب الخطوط الجغرافية.
قد نشعر بعدم الأهمية كأفراد ولكن عندما يتصرف عدد كافٍ من الناس بنفس النية ، فإننا نخلق حركات كبيرة.

افعل ما تعتقد أنه صحيح ، اتبع أخلاقك.

ليباركك الرب وعائلتك. ابق آمنا.


------------

无论多么糟糕,战争都不是答案。 战争带来悲剧和破坏,夺走了几代人的宝贵时刻和对未来的希望。
目标应该永远是和平。

士兵穿上他们的靴子为他们的国家,服从他们的政府的命令。
找到宽恕的力量,团结起来,勇敢地面对真正的不公正和邪恶。

我们都是通过人性联系在一起的,只是因为地理界限而分开。
作为个人,我们可能会觉得自己微不足道,但是当有足够多的人以相同的意图行事时,我们就会产生大动作。

做自己认为对的事,遵循自己的道德。

愿上帝保佑你和你的家人。 注意安全。

-----------

どんなに悪くても、戦争は答えではありません。 戦争は悲劇と破壊をもたらし、何世代にもわたる貴重な瞬間と未来への希望を奪います。
目標は常に平和であるべきです。

兵士は彼らの政府の命令に従い、彼らの国のために彼らのブーツを履きます。
許し、団結し、真の不公正と悪に立ち向かう力を見つけてください。

私たちは皆、人類を介してつながっており、地理的な境界線のためにのみ分離されています。
私たちは個人としては取るに足らないと感じるかもしれませんが、十分な数の人々が同じ意図で行動するとき、私たちは大きな動きを生み出します。

あなたが正しいと思うことをしなさい、あなた自身の道徳に従ってください。

神があなたとあなたの家族を祝福してくださいますように。 おげんきで。

RIAEvangelist/peacenotwar

 

GitHub - RIAEvangelist/peacenotwar

Contribute to RIAEvangelist/peacenotwar development by creating an account on GitHub.

github.com

- 관련 깃허브 바로가기

 

'개발 > FrontEnd | Vue' 카테고리의 다른 글

Vue.js 시작하기  (0) 2022.03.13