编译代码时,防病毒软件说它是病毒并将其删除
When compiling code antivirus says it's virus and delete it
嗨,我试着用c++写代码。此代码仅使文本文件易于加密并保存到新文件中。当我编译这段代码时,反病毒软件说,这是病毒/间谍软件Gen:Variant.Kazy.20825。我不知道为什么是病毒。下面是我的代码:
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
void controlParameters(int argc){ //check if input parameters are ok
if(argc == 1){
cout << "Pokud chcete text zasifrovat, spustte program s parametrem: -enc "Nazev_souboru.txt"n";
cout << "Pokud ho chcete desifrovat, spustte program s parametrem: -dec "Nazev_souboru.txt"n";
}else if(argc > 3){
cout << "Moc parametru. Spustte si program bez parametru.n";
}else if(argc < 3){
cout << "Chybi jeden parametr. Spustte si program bez parametru.n";
}else{
cout << "Vsechno vypada zatim dobren";
}
}
void encryption(string &file); //encrypt text file
void decryption(string &file); //decrypt text file
bool controlFile(string &file); //check if file can be opened
int main(int argc, char **argv){
controlParameters(argc);
string file;
file = argv[2];
if(controlFile(file)){
}else{
cout << "Soubor nesel nacist." << endl;
return -1;
}
cout << "Ukonceno.nZmacknete ENTER pro pokracovani..."<<endl;
cin.get();
return 0;
}
bool controlFile(string &file){
ifstream ifs;
ifs.open(file);
if(ifs.is_open()){
ifs.close();
return true;
}else{
ifs.close();
return false;
}
}
void encryption(string &file){
ifstream ifs;
ofstream ofs;
string line;
ifs.open(file);
ofs.open("encrypt.txt");
if(ifs.is_open()){
while(!ifs.eof()){
getline(ifs,line);
int a = line.length();
int i = 0;
while(i < a){
ofs << ((char)(line[i]^100));
}
line.clear();
ofs << "n";
}
}else{
cout << "Nelze nacist soubor" << endl;
}
}
void decryption(string &file){
ifstream ifs;
ofstream ofs;
string line;
ifs.open(file);
ofs.open("decrypt.txt");
if(ifs.is_open()){
while(!ifs.eof()){
getline(ifs,line);
int a =line.length();
int i = 0;
while(i < a){
ofs << ((char)(line[i]^100));
}
line.clear();
ofs << "n";
}
}else{
cout << "Nelze nacist soubor" << endl;
}
}
最好将源代码控制目录排除在病毒扫描程序之外;它们可能导致性能和锁定问题,即使在执行源代码控制操作或编译时没有误报(我已经看到过几次)。
因此,如果只是为了使你的编程体验更可靠,请禁用这些目录上的病毒扫描程序。
您可能仍然需要扫描可执行文件的最终发布版本,以帮助避免误报:毕竟,即使病毒扫描程序卡住不是您的错,也不会给用户留下好印象。
杀毒软件使用"启发式"来确定哪些是病毒,哪些不是。所以它会在文件中寻找它认为可疑的行为模式。我在你的代码中看不到任何直接的错误,所以我怀疑这是一个"假阳性"。我个人不喜欢杀毒软件,它带来的问题比解决的问题还多……
顺便说一下,你可以将"输出文件名"添加到你的加密/解密函数中,并使它们成为一个函数!div;)相关文章:
- 将数组的地址分配给变量并删除
- 删除一个线程上有数百万个字符串的大型哈希映射会影响另一个线程的性能
- C/C++编译器通常会删除重复的库吗
- 从链接列表c++中删除一个项目
- C++如何通过用户输入删除列表元素
- 为什么在C++中使用私有复制构造函数与删除复制构造函数
- 是否需要删除包含对象的"pair"?
- 如何在自删除后将对象设置为nullptr
- 迭代时从向量和内存中删除对象
- 使用函数"remove"删除重复元素
- 如何从多映射中删除特定的重复项
- 运算符C++ "delete []"仅删除 2 个前值
- 删除指向指针的指针是运行时错误吗
- 将指针设置为"nullptr"并不能防止双重删除?
- 为什么示例代码访问IUnknown中已删除的内存
- 如何通过 getter 函数删除矢量的元素?
- 从控制台中删除最后打印的元素
- C++中的线程安全删除
- 如何从存储在std::映射中的std::集中删除元素
- 编译代码时,防病毒软件说它是病毒并将其删除