Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

26.08.2017, 15:40

Windows - Autostart App (via Registry)

Howdy,

arbeite derzeit an einem Programm (C/C++), welches die Option "Autostart - Programm beim Starten von Windows ausführen" beinhalten muss.
Via RegSetValueEx wird ein Eintrag unter HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run hinzugefügt.
Bisher hat das in der Debug-Variante auch ohne Probleme funktioniert.
Bei der Release-Version jedoch schlägt der Virenscanner Alarm und kloppt die Exe in die Quarantäne (wegen angeblich TR/Crypt.XPACK.b7e624 (Cloud)).
(als Administrator ausführen bringt auch nichts)

Jemand 'ne Idee?

Zusatzinfo:
Das Programm wird als Portable (kein Installer) per Download angeboten.
Also möglichst wenig Gefrickel (a la Ausnahmen für Virenscanner anlegen etc.) für künftige User.
fka tm

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

2

26.08.2017, 16:05

Bei sowas am besten dem Hersteller (Avira?) eine "False Positive"-Meldung machen, damit sie ihre Erkennung verbessern können.
Wahrscheinlich enthält deine EXE durch Zufall Code, der identisch mit Teilen einer Malware ist. Du könntest versuchen, den entsprechenden Teil "umzuschreiben", so dass der generierte Maschinencode anders aussieht, aber dennoch dasselbe bewirkt.

3

26.08.2017, 16:25

Bei mir ist es aktuell Avira, ja. Aber wer weiß, was der Kunde nutzt?
Glaube aber, dass das Problem auch mit dem Zugriff auf diesen speziellen/kritischen Schlüssel zu tun hat.
Installer und andere Programme können es ja auch!?

Hatten wir nicht neulich mal einen Thread zum Thema Falschmeldungen hier, wo es einen Link zu einer Seite bzw. einem Tool gab, wo man sein Progrämmchen für gängige Antivrenprogramme als Bulk einreichen kann?

Last but not least, wie sollte ich das umschreiben, um anderen Maschinencode zu erhalten (bin etwas aus der Übung mit C++)?
fka tm

Wirago

Alter Hase

Beiträge: 1 193

Wohnort: Stockerau

Beruf: CRM Application Manager

  • Private Nachricht senden

4

26.08.2017, 16:28

Hatten wir nicht neulich mal einen Thread zum Thema Falschmeldungen hier, wo es einen Link zu einer Seite bzw. einem Tool gab, wo man sein Progrämmchen für gängige Antivrenprogramme als Bulk einreichen kann?


War wohl das hier https://www.virustotal.com/de/

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

5

26.08.2017, 16:34

Glaube aber, dass das Problem auch mit dem Zugriff auf diesen speziellen/kritischen Schlüssel zu tun hat.

Deine Debug-EXE tut das aber auch - also sollte es daran eigentlich nicht liegen.

Last but not least, wie sollte ich das umschreiben, um anderen Maschinencode zu erhalten (bin etwas aus der Übung mit C++)?

Du könntest z. B. versuchen die Funktion RegSetValueEx über einen Funktionszeiger aufzurufen, den du dir über LoadLibary und GetProcAddress holst. Besser als solche Verrenkungen wäre aber natürlich, die Virenscanner davon zu überzeugen, dass dein Programm nicht bösartig ist.

Nachtrag: Nur um sicher zu gehen - wenn du den Registry-Teil rauslässt, dann lässt der Virenscanner auch die Release-Version durchgehen?

6

26.08.2017, 16:50

Wirago
Danke für den Link! 64 x 0 Funde ;)


David
Stimmt, die Debug-Exe tut es (erfolgreich).
Wahrscheinlich ist da so viel Debug-Info im Code, dass sich Avira vorne und hinten nicht mehr auskennt. ;)

Zu deinem Nachtrag: Der Virenscanner schlägt erst bei diesem Zugriff auf die Registry Alarm.
(Schreib-)Zugriffe auf andere Schlüssel sind kein Problem.
fka tm

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

7

26.08.2017, 23:30

Wäre es für deine Anwendung denkbar es über den Autostart Ordner zu machen? Unter windows 10 liegt der ja unter C:\Users\...\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup - Aber ich muss ehrlich gesagt zu geben, dass ich nicht weiß ob das so per se noch funktioniert.
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

8

27.08.2017, 07:13

Bei der Variante via Autostartordner wird vermutlich in den meisten Fällen Windows' UAC anspringen.
Hat ansonsten (imho) auch deutliche Nachteile gegenüber der Registry-Lösung.
Werde demnächst mal Davids Vorschlag ausprobieren, den Eintrag via Function Pointer etc. zu setzen.
fka tm

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

9

27.08.2017, 11:27

etwas abseits des eigentlichen Thema, aber damit ich die Ausgangssituation besser verstehe:
Verrätst du, um was für ein Programm es sich handelt? Bin etwas verwundert, dass es ohne installer (und vmtl auch ohne deinstaller) sich selbst in die Run von der Registry schreiben soll. Um was für einen Anwendungsfall handelt es sich da und wie wird der Eintrag dann wieder entfernt?
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

10

27.08.2017, 12:43

Wegen NDA kann ich nur so viel sagen:
Das Programm liest zyklisch Messwerte von einem COM-Port bzw. USB-Port (USB to Serial Adapter) ein,
stellt sie im Anwendungsfenster dar, und gibt ggf. Warnungen und Alarme bei Überschreiten von einstellbaren Grenzwerten aus.
Das Programm kann per Download bezogen werden, und wird auf CD/Stick mit der Hardware ausgeliefert und soll eben "Out of the Box" laufen.
Programmeinstellungen werden in der Registry abgelegt. (funktioniert ja auch alles wunderbar, bis auf den ominösen besagten Schüssel)
Als Uninstaller wird ein Cleanup Utility mitgeliefert, welches die Registryeinträge auf Wunsch wieder entfernt.
fka tm

Werbeanzeige