Wer es noch nicht mitbekommen hat: Seit dem letzten Update von Visual Studio gibt es kostenlos zum kompilierten Programm zusätzlichen, kompilierten Code von Visual Studio dazu.
Kompiliert man den folgenden Code, führt das zu dem darunter eingefügtem Assembly.
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
|
#include "stdafx.h"
#include <iostream>
int main()
{
volatile int x = 0;
return x;
}
|
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
.text:004052CA push edi
.text:004052CB call ___telemetry_main_invoke_trigger
.text:004052D0 call ___p___argv
.text:004052D5 mov edi, eax
.text:004052D7 call ___p___argc
.text:004052DC mov esi, eax
.text:004052DE call __get_initial_narrow_environment
.text:004052E3 push eax
.text:004052E4 push dword ptr [edi] ; argv
.text:004052E6 push dword ptr [esi] ; argc
.text:004052E8 call _main
.text:004052ED mov esi, eax
.text:004052EF push 0
.text:004052F1 call ___telemetry_main_return_trigger
.text:004052F6 add esp, 14h
.text:004052F9 call ___scrt_is_managed_app
|
Das ganze taucht auch im Release-Modus auf. Man soll es in der aktuellen Version durch hinzufügen der Datei
|
C-/C++-Quelltext
|
1
|
VC\crt\src\linkopts\notelemetry.cpp
|
oder durch linken der entsprechenden
*.obj problemlos abschalten können. Das ganze soll im kommenden Update durch den berechtigten Shitstorm wieder herausgenommen werden. Ein Glück weigere ich mich, den
Rotz zu benutzen.
Quelle A und
Quelle B (Zugriff: 12.05.2016)
MfG
Check