Skip to main content

antivirus programs marking the file devcppPortable.exe

Recently, a lot of reports of antivirus programs marking the file devcppPortable.exe as a virus/trojan/unwanted program have surfaced. I can assure you that the files you download from SourceForge do NOT contain any of that.

To prove my statement, let us check the source code of devcppPortable.exe. It can be found in the Source\Tools\DevCppPortable folder in the source zip files provided here or in the Git repo here.

Let's walk through the code step by step:
#include &ltwindows.h&gt
#include &ltShlwapi.h&gt
#include &ltstring&gt
using std::wstring;
The included files are unchanged versions of the ones found in TDM-GCC 4.8.1.
int main() {
int ArgumentCount = 0;
wchar_t** ArgumentInput = CommandLineToArgvW(GetCommandLineW(),&ArgumentCount);
wstring ArgumentsToDev = L"-c .\\config ";
for(int i = 1;i &nbsp&nbspArgumentsToDev += '\"';
&nbsp&nbspArgumentsToDev += ArgumentInput[i];
&nbsp&nbspArgumentsToDev += '\"';
&nbsp&nbspif(i != ArgumentCount - 1) {
&nbsp&nbsp&nbsp&nbspArgumentsToDev += ' ';
&nbsp&nbsp}
}
LocalFree(ArgumentInput);
Over here, devcppPortable builds a string ArgumentsToDev which consists of the -c command that tells devcpp.exe to store its configuration files elsewhere AND the commands that have been passed to devcppPortable. Think of files that are dragged onto devcppPortable.exe in explorer or Auto-Open binds that use devcppPortable. All it does is forward these commands to devcpp.exe
wchar_t CurrentDirectory[32768];
GetModuleFileNameW(NULL,CurrentDirectory,32768);
PathRemoveFileSpecW(CurrentDirectory);
Over here, the directory where devcppPortable is located is stored in array CurrentDirectory.
int Result = (INT_PTR)ShellExecuteW(
&nbsp&nbspNULL, // no parent window
&nbsp&nbspL"open", // open the file
&nbsp&nbspL"devcpp.exe", // the file to open
&nbsp&nbspArgumentsToDev.c_str(), // extra parameters to pass
&nbsp&nbspCurrentDirectory, // use the current directory
&nbsp&nbspSW_SHOWNORMAL // activate and display window
);
if(Result &nbsp&nbspswitch(Result) {
&nbsp&nbsp&nbsp&nbspcase ERROR_FILE_NOT_FOUND: {
&nbsp&nbsp&nbsp&nbsp&nbsp&nbspMessageBoxW(NULL,L"devcpp.exe",L"File not found",MB_OK);
&nbsp&nbsp&nbsp&nbsp&nbsp&nbspbreak;
&nbsp&nbsp&nbsp&nbsp}
&nbsp&nbsp&nbsp&nbspdefault: {
&nbsp&nbsp&nbsp&nbsp&nbsp&nbspMessageBoxW(NULL,L"An unspecified error has occured!",L"Error",MB_OK);
&nbsp&nbsp&nbsp&nbsp&nbsp&nbspbreak;
&nbsp&nbsp&nbsp&nbsp}
&nbsp&nbsp}
}
return 0;
Lastly, devcpp.exe is launched using the provided arguments and using the current directory using the not-so special ShellExecute function.

In other words, this file is harmless. My educated guess as to why this file is marked as an unwanted file is that real unwanted files (especially trojans) exhibit the same behaviour. They also function as hosts that execute external code. Since devcppPortable exhibits the same behaviour, the scanner will think "Hey, this program shows behaviour similar to the other million trojan files in our database. Let's tell the user it is one too to be sure".

What can you do as a user? Please report devcppPortable.exe as a false positive.

Comments

Popular posts from this blog

BT-BASIC commands used

8.10     Some of the most frequently used BT-BASIC commands used are: msi                               Changes default working directory. Mass storage is            Same as “msi” cat                               Catalogs (list)the node names in the specified directory.             get                               Brings the contents of a file into the system workspace.        ...

Perhitungan & Cara Merubah Kumparan Blender Dari 220 V Menjadi 12 V

          Seperti yang telah dijelaskan pada buku “menggulung motor listrik arus bolak-balik, servis peralatan listrik rumah tangga kelompok penggerak dan perbaikan peralatan listrik pertukangan”, bahwa motor penggerak yang digunakan pada perlatan listrik rumah tangga dan pertukangan seperti blender, mixer, bor tembak, gerinda dsb menggunakan jenis motor universal. Motor universal adalah jenis motor listrik yang dapat disuplai dengan sumber listrik arus bolak-balik (AC) dan arus searah (DC). Jadi peralatan-peralatan listrik rumah tangga dan pertukangan tersebut yang biasanya kita suplai dengan sumber listrik AC dari PLN atau Genset sebesar 220 V sebenarnya dapat juga kita suplai dengan sumber listrik DC yang tentunya tegangan juga harus sama yakni 220 V.           Yang menjadi permasalahan bagaimana kalau peralatan listrik rumah tangga atau pertukangan tersebut, sebagai contoh misalkan blender yang ingin digunakan atau dioper...

BT-BASIC command line

8.8       At the BT-BASIC command line type the command  msi  and the directory path, then press the “ENTER” key on the keyboard.  Example:                   msi ‘/hp3070/boards/aspect/main’ 8.9       At the BT-BASIC command line type the command  get ‘testplan’ and press the   ENTER” key on the keyboard.  You should now see the body of the testplan file displayed in the work space of the BT-BASIC window. 8.10     Some of the most frequently used BT-BASIC commands used are:

Autodesk SketchBook Pro 2021 Full Version

BAGAS31 – Sesuai dengan namanya, Autodesk SketchBook Pro 2021 Full Version ini merupakan software digital sketching atau drawing terbaik yang bisa kamu gunakan. Pada versi terbaru kali ini, ada beberapa penambahan fitur yang sangat efektif. Dengan fitur baru tersebut, diharapkan mampu meningkatkan proses sketching maupun drawing kamu. Autodesk SketchBook sendiri sudah bisa kamu dapatkan secara gratis melalui website resminya. Namun untuk kamu yang mau download versi Autodesk Sketchbook Pro, maka bisa langsung download melalui link yang sudah saya sediakan di bawah ini. Download Autodesk SketchBook Pro 2021 Full Version Screenshot: System Requirements: Windows 10 2.5 – 2.9 GHz of Intel or AMD CPU 4 GB of Memory 256 MB Graphics card with OpenGL 2.0 support We recommend that you use a pressure-sensitive tablet and pen for basic features Download: Autodesk SketchBook Pro 2021 Full Version [ FileUp ][ Uptobox ][ UsersDrive ] Jamu Only [ File...

Testhead

4.3         Testhead The testhead is that portion of the tester that supports the PIN, ASRU and Controller cards.   The testhead is divided into two BANKS and each BANK is divided into two MODULES, see figure 2 below.  Bank 1 contains modules 0 and 1, bank 2 contains modules 2 and 3.  The test fixtures are placed on the banks of the tester and locked down for board testing.  The testhead cards interface to the test fixture through the spring loaded pogo pin “nails” at the top edge on each of these card types. 4.4       Support Bay The support bay is a stand-alone cabinet that houses the power supplies for the Unit Under Test.  This bay also houses the test station power distribution unit and test station controller on earlier models. 4.5       Emergency Shutdown Switch The emergency shutdown switch is the large red button located at the lower left corne...

Kelebihan dan Kekurangan Saluran Listrik Jenis Saluran Udara dan Saluran Bawah Tanah

Berdasarkan pemasangannya,   saluran distribusi dibagi menjadi dua kategori, yaitu : saluran udara (overhead line) merupakan sistem penyaluran tenaga listrik melalui kawat penghantar yang ditompang pada tiang listrik. Sedangkan saluran bawah tanah (underground cable) merupakan sistem penyaluran tenaga listrik melalui kabel-kabel yang ditanamkan di dalam tanah. 1.    Saluran Bawah Tanah (Underground Lines) Saluran distribusi yang menyalurkan energi listrik melalui kabel yang ditanam didalam tanah. Kategori saluran distribusi seperti ini adalah yang favorite untuk pemasangan di dalam kota, karena berada didalam tanah, maka tidak mengganggu keindahan kota dan juga tidak mudah terjadi gangguan akibat kondisi cuaca atau kondisi alam. Namun juga memilik kekurangan, yaitu mahalnya biaya investasi dan sulitnya menentukan titik gangguan dan perbaikannya. Kedua cara penyaluran memiliki keuntungan dan kerugian masing-masing. Keuntungan yang dapat diperoleh dari suatu jaringan bawah...