![]() |
Software gegen API-Zugriffe von aussen schützen?
Hallo,
wir haben ein Software-System, was wir nun auch im asiatischen Markt vertreiben wollen. Ein Aspekt der hier besonders in den Vordergrund rückt, ist der Schutz der Software gegen Piraterie, speziell Datendiebstahl. Zum Schutz der Software gegen Reverse-Engineering und Umgehung der Freischaltung verwenden wir bereits das WinLicense-System. Um zu verhindern, dass die Datenbank ausgelesen werden kann, benutzen wir zum einen einen Passwortschutz und zum anderen haben wir noch die Möglichkeit, die Daten in der DB selbst zu verschlüsseln. Allerdings hindert das ja niemanden daran, die Controls der Form per WinAPI auszulesen um somit an die Daten zu kommen. Es gibt ja bereits Programme (SnagIt zB), die es ermöglichen, einen Ausdruck des kompletten Inhalts einer x-beliebigen Control eines x-beliebigen Fensters zu erstellen (zB einem TreeView oder ListView oder VirtualStringTree), auch wenn Bereiche davon ausserhalb des Viewports liegen und nur über eine Scrollbar sichtbar gemacht werden können. Gibt es Möglichkeiten, Programme genau daran zu hindern? Im WinLicense-System gibt es zwar verschiedene Einstellungen, die was mit dem Thema API-Wrapping und API-Virtualization in Kombination mit der Virtual Machine zu tun haben, aber das sind nur Verschleierungs- und Virtualisierungstechniken, um externe Programme daran zu hindern, API-Spying und -Tracing zu betreiben. Im Vorraus schonmal Danke für eure Gedanken und Tipps. :thumb: |
AW: Software gegen API-Zugriffe von aussen schützen?
Verwende FMX, da gibt es keine WinAPI zum Auslesen. :stupid:
Alles was selbstgeteichnet wird, bzw. was den Text nicht in einem Window speichert, kann auch nicht via WM_GETTEXT ausgelesen werden. Ihr könntet auch versuchen diese Message selber zu verarbeiten und dort eine Prüfung reinmachen, welche versucht zu prüfen wer da grade anfragt. Oder ihr lasst eure Software mit bestimmten Rechten laufen. Messages werden ja nicht mehr übertragen, wenn die Rechte fehlen. > z.B. kann ja ein normales Benutzerprogramm keinem Adminprogramm mehr etwas senden (wenn das von Diesem nicht freigegeben wurde) > Darum geht auch Drag&Drop meistens nicht mehr zwischen Explorer und einem Adminprogramm. Screenshot und den Text da auslesen geht natürlich immernoch. Wobei man natürlich auch noch versuchen kann den screenshot zu verhindern, aber auch das lässt sich umgehen und sei es mit einer Webcam vor'm Monitor, oder dem Videoausgang an einem Videoeingang. |
AW: Software gegen API-Zugriffe von aussen schützen?
Man kann ja auch die Controls hooken und WM_GETTEXT abfangen.
Mir stellt sich allerdings hier wieder mal die Frage, wie sinnvoll so etwas wie WinLicense ist. Soweit ich weiß fahren da diverse Virenscanner garnicht gut drauf ab. Ist die Software gut, dann wird sie eh gecrackt. Egal welchen Machanismus man verwendet. Das ist alles nur Zeitverschwendung. |
AW: Software gegen API-Zugriffe von aussen schützen?
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
Es ist klar, dass man Software immer zu 100% irgendwie cracken kann. Aber WinLicense machts Angreifern hier absurd schwer, so dass es nur Profis schaffen würden und wenn, dann nur unter enormen Zeitaufwand. Weiterhin ist es keine Zeitverschwendung. Die Änderungen am Code zum Einbinden der Engine sind weitestgehend einmalig und nur minimal (lediglich ein paar Zeilen Code) und der Schutz der Release-Anwendung erfolgt dann über ein externes Tool, was man über Batch starten kann. Der Verschlüsselungsvorgang dauert (je nach Größe der Anwendung und Leistung des Systems) zwei-drei Minuten. Und das wars. Der einzige Nachteil mit WinLicense ist, dass man bei Debug-Meldungen keinen Stacktrace mehr mitgeliefert bekommt. :( |
AW: Software gegen API-Zugriffe von aussen schützen?
Zitat:
Und dann einfach die Unit überall als Letztes in die Form-Units einbinden, so ala ![]() Oder via Refactoring, oder so, die Komponenten in den Forms austauschen, bzw. nur die Komponenten, wo es nötig ist. Zitat:
Zitat:
|
AW: Software gegen API-Zugriffe von aussen schützen?
Zitat:
Zitat:
Wir werden mal ein bisschen rumspielen und wenn es was zu berichten gibt, melde ich mich. |
AW: Software gegen API-Zugriffe von aussen schützen?
Beim VirtualTreeView sind doch die Daten nicht in der GUI?
Also grade da sollte es doch nicht möglich sein, die Daten von extern abzufragen. :gruebel: |
AW: Software gegen API-Zugriffe von aussen schützen?
Zitat:
Vor allem fragt sich wie sinnvoll das Ganze ist, denn wenn man die Daten stehlen will, kann man ja auch mit Screenshots arbeiten. Oder direkt im Speicher drauf zugreifen. |
AW: Software gegen API-Zugriffe von aussen schützen?
Zitat:
Zitat:
|
AW: Software gegen API-Zugriffe von aussen schützen?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz