Loudicrouz.J 2017 年 visual studio 病毒
Loudicrouz.J virus in visual studio 2017
我正在制作一个简单的基于控制台的 C++ 应用程序,并使用 Visual Studio 2017 制作了一个加载栏。我遇到了一条错误消息,提示我的代码可能包含错误或病毒。 Microsoft Security 将其检测为 Torjan:Win32/Loudicrouz.J(严重).
这是我的代码:
#include <iostream>
#include <conio.h>
#include <cstdlib>
#include <time.h>
#include <Windows.h>
using namespace std;
class loading_bar {
int loading_percentage;
int loading_per_increment;
public:
loading_bar();
void print_loading_bar();
void delay(int);
};
void loading_bar::delay(int milliseconds)
{
clock_t start = clock();
while ((clock() - start) * 1000 / CLOCKS_PER_SEC < milliseconds) {
}
}
loading_bar::loading_bar() {
loading_percentage = 0;
loading_per_increment = 1;
}
void loading_bar::print_loading_bar() {
for (; loading_percentage < 50; loading_percentage++) {
system("cls");
cout << "\n\n\n\n";
cout << "\t\t\t\t";
cout << "--------------------------------------------------\n";
cout << "\t\t\t\t";
cout << "|";
for (int i = 0; i < loading_percentage; i++) {
cout << char(219);
}
for (int j = 49 - loading_percentage;j>0; j--) {
cout << " ";
}
cout << "|\n";
cout << "\t\t\t\t";
cout << "--------------------------------------------------\n";
delay(100 / loading_per_increment);
}
}
虽然我的代码工作正常,但我仍然不知道这个病毒背后的原因是什么。我找不到问题的根源。
delay()
方法可能是您在循环中等待的罪魁祸首:
void loading_bar::delay(int milliseconds)
{
clock_t start = clock();
while ((clock() - start) * 1000 / CLOCKS_PER_SEC < milliseconds) {
}
}
将其替换为 Sleep()
,如下所示:
void loading_bar::delay(int milliseconds)
{
Sleep( milliseconds );
}
最有可能的是,您的防病毒软件在沙盒环境中运行您的可执行文件并观察其行为,即 API 调用。循环中的等待触发了反病毒检测机制的一些规则,这可能是可疑的,因为代码正在等待特定的时间来执行一些恶意的东西。使用 Sleep()
函数没有触发它,所以现在它已经解决了。希望对您有所帮助!
我正在制作一个简单的基于控制台的 C++ 应用程序,并使用 Visual Studio 2017 制作了一个加载栏。我遇到了一条错误消息,提示我的代码可能包含错误或病毒。 Microsoft Security 将其检测为 Torjan:Win32/Loudicrouz.J(严重).
这是我的代码:
#include <iostream>
#include <conio.h>
#include <cstdlib>
#include <time.h>
#include <Windows.h>
using namespace std;
class loading_bar {
int loading_percentage;
int loading_per_increment;
public:
loading_bar();
void print_loading_bar();
void delay(int);
};
void loading_bar::delay(int milliseconds)
{
clock_t start = clock();
while ((clock() - start) * 1000 / CLOCKS_PER_SEC < milliseconds) {
}
}
loading_bar::loading_bar() {
loading_percentage = 0;
loading_per_increment = 1;
}
void loading_bar::print_loading_bar() {
for (; loading_percentage < 50; loading_percentage++) {
system("cls");
cout << "\n\n\n\n";
cout << "\t\t\t\t";
cout << "--------------------------------------------------\n";
cout << "\t\t\t\t";
cout << "|";
for (int i = 0; i < loading_percentage; i++) {
cout << char(219);
}
for (int j = 49 - loading_percentage;j>0; j--) {
cout << " ";
}
cout << "|\n";
cout << "\t\t\t\t";
cout << "--------------------------------------------------\n";
delay(100 / loading_per_increment);
}
}
虽然我的代码工作正常,但我仍然不知道这个病毒背后的原因是什么。我找不到问题的根源。
delay()
方法可能是您在循环中等待的罪魁祸首:
void loading_bar::delay(int milliseconds)
{
clock_t start = clock();
while ((clock() - start) * 1000 / CLOCKS_PER_SEC < milliseconds) {
}
}
将其替换为 Sleep()
,如下所示:
void loading_bar::delay(int milliseconds)
{
Sleep( milliseconds );
}
最有可能的是,您的防病毒软件在沙盒环境中运行您的可执行文件并观察其行为,即 API 调用。循环中的等待触发了反病毒检测机制的一些规则,这可能是可疑的,因为代码正在等待特定的时间来执行一些恶意的东西。使用 Sleep()
函数没有触发它,所以现在它已经解决了。希望对您有所帮助!