PHP Forum - Coding Board
Juli 15, 2018, 11:53:34 *
Willkommen Gast. Bitte einloggen oder registrieren.

Einloggen mit Benutzername, Passwort und Sitzungslänge
News:
 
   Übersicht   Hilfe Suche Einloggen Registrieren  
Seiten: [1] 2
  Drucken  
Autor Thema: Anti Leak Funktion  (Gelesen 441 mal)
0 Mitglieder und 1 Gast betrachten dieses Thema.
whit3
Sr. Member
****
Beiträge: 324


892640
Profil anzeigen WWW E-Mail
« am: März 27, 2009, 12:58:38 »

Huhu meine Leaker von der Codesoft software, habt ihr zufällig ne gute funktion womit man das Leaken unterbinden kann? Ich weiss es gibt kein 100%tigen schutz, aber zumindest eine gute variante?
Gespeichert

Die "Szene"<
EBFE
Full Member
***
Beiträge: 109


Profil anzeigen E-Mail
« Antworten #1 am: März 27, 2009, 01:22:37 »

Meinst du eher "Protection" oder Authentifizierung? Zu Protection habe ich mal hier meinen Senf abgegeben:
http://board.scenecoderz.com/showpost.php?p=13223&postcount=10
« Letzte Änderung: März 27, 2009, 01:26:41 von EBFE » Gespeichert

PM an mich? Bitte vorher lesen: EBFEs PM FAQ
MrWellKnown
Newbie
*
Beiträge: 17


Profil anzeigen E-Mail
« Antworten #2 am: März 27, 2009, 01:37:26 »

Naja Visual Basic Code kann ich dir jetzt nicht geben, da ich nur in C++ programmiere.. Aber als HardwareKey würde sich z.B. die physikalische Festplattenserial anbieten. (nicht die VolumeSerialNumber)
Diese lässt sich einfach über die Windows Management Instrumentation [1] beziehen. Also sollte schon was physikalisches sein, nicht einfach die MacID oder die oben angesprochene VolumeSerialNumber, da sich diese Sachen sehr leicht ändern lassen. Also ich geb dir mal nen kleinen Einblick wie mein Antileak aufgebaut ist:

- Customer führt ein Tool aus welches seine HDD SerialNumber ausgibt.
- Ich generiere einen Key (habe dafür einen einfachen Algorithmus             geschrieben) [2]
- Auf meinem Server befindet sich eine Datei welche alle Keys der User beinhaltet, sprich wo ich den neuen User eintrage.
- Per sockets streame ich die Datei in nen Buffer und lese sie dann aus..
- if ( m_iComputedKey != m_iServerKey ) SilentCrash();

[1] http://msdn.microsoft.com/en-us/library/aa394582.aspx
[2]
Code:
int CAntileak::iComputeKey( int iInput )
{
    int iAlgo[8] = { 8, 12, 71, 92, 5, 63, 51, 131 };

    for( int i = 0 ; i < 8 ; i++ )
    {
        if( i == 0 ) iInput /= iAlgo[i];
        if( i == 1 ) iInput *= iAlgo[i];
        if( i == 2 ) iInput /= iAlgo[i];

        if( i == 3 ) iInput += iAlgo[i];
        if( i == 4 ) iInput -= iAlgo[i];
        if( i == 5 ) iInput /= iAlgo[i];
        if( i == 6 ) iInput *= iAlgo[i];
        if( i == 7 ) iInput *= iAlgo[i];
    }

    if( iInput < 0 )
    {
        iInput *= -1;
    }

    return iInput;
}
Gespeichert
DizzY_D
Official SC Leaker
Full Member
***
Beiträge: 104

296119081
Profil anzeigen E-Mail
« Antworten #3 am: März 27, 2009, 01:45:48 »

Ich mache im Moment ein Tutorial mit f0Gx zum Thema HWID. Kann aber noch n bisschen dauern, weil es was vernünftiges werden soll. Das Wesentliche wurde ja hier schon genannt.
Die Idee mit dem Serverseitigen Vergleich ist sicherlich auch nützlich, wenn man sie natürlich noch mit genügend anderen Abfragen etc. kombiniert.
Wenn du genug Zeit hast, beschäftige dich etwas mit dem Reverseing. Denn wenn du weist wie sie vorgehen, kannst du dir auch "Gegenmittel" einfallen lassen.

Wenn du deinen Schutz testen möchtest, ich stehe immer zur Verfügung:)
Gespeichert

Aktuelles Projekt:

Status: 5%
Real Coder doesn't code Visual Basic. Real Coder codes Opcodes.
whit3
Sr. Member
****
Beiträge: 324


892640
Profil anzeigen WWW E-Mail
« Antworten #4 am: März 27, 2009, 01:46:13 »

Hat wer vielleicht Snippet zum  auslesen der HID ?

EBFE & DizzY_D ihr seid ja meiner meinung nach die cracks in sachen Schutz, hätte nicht einer Bock ein schutz bei meinem bot einzubauen, ist in VB geschrieben, würde auch im nachhinein was für euch rausspringen
« Letzte Änderung: März 27, 2009, 01:49:03 von whit3 » Gespeichert

Die "Szene"<
CoolObsession
Full Member
***
Beiträge: 236


848620
Profil anzeigen E-Mail
« Antworten #5 am: März 27, 2009, 02:10:54 »

Vielleicht ein kleines Programm das du dem jenigen vorher schickst das dir Mac Id Hardware ID und ja z.B. die Festplattenserial ausliest und sie verschlüsselt in einer Datei abspeichert. Diese musst du dann in dein Programm einbauen. Somit weis niemand genau wie dein Programm geschützt ist und daher ist es denke ich auch nicht so einfach es zu cracken. Auserdem könnte man bei jeder Funktion eine abgeänderte Abfrage davon machen.
Gespeichert

[B] RS, Freundin, Altpapier, Datenbanken
[S] Nichts
mastermaefju
Newbie
*
Beiträge: 41



Profil anzeigen E-Mail
« Antworten #6 am: März 27, 2009, 02:16:49 »

Gespeichert


ShockerZz
Jr. Member
**
Beiträge: 89


491984937
Profil anzeigen E-Mail
« Antworten #7 am: April 01, 2009, 06:53:34 »

Natürlich ist die HWID kein ultimativer Schutz und recht leicht zu umgehen, aber sie ist dennoch eine kleine Hürde die wohl viele Kiddies nicht umgehen können. Hier ist etwas für dicht, zwar VB2008, dürfte aber übersetzbar sein.
Gespeichert

[SIGPIC][/SIGPIC]
DizzY_D
Official SC Leaker
Full Member
***
Beiträge: 104

296119081
Profil anzeigen E-Mail
« Antworten #8 am: April 01, 2009, 06:57:36 »

Den Ultimativen Schutz gibt es sowieso net...
HWID ist ja nicht der Schutz an sich sondern eher eine Methode sein Programm zu schützen. Wie sicher es ist liegt einzig und allein daran, wie man es implementiert.
Gespeichert

Aktuelles Projekt:

Status: 5%
Real Coder doesn't code Visual Basic. Real Coder codes Opcodes.
MrWellKnown
Newbie
*
Beiträge: 17


Profil anzeigen E-Mail
« Antworten #9 am: April 01, 2009, 07:23:50 »

Zitat von: ShockerZz;18638
Natürlich ist die HWID kein ultimativer Schutz und recht leicht zu umgehen, aber sie ist dennoch eine kleine Hürde die wohl viele Kiddies nicht umgehen können. Hier ist etwas für dicht, zwar VB2008, dürfte aber übersetzbar sein.

Im oben genannten Beispiel wird die HDD-Serial mithilfe der WMI ausgelesen (wovon ich ein paar Post's zuvor geredet hatte), ist eigentlich der schnellste und einfachste Weg um an die Serial zu kommen..

Zitat von: DizzY_D;18640
Den Ultimativen Schutz gibt es sowieso net...
HWID ist ja nicht der Schutz an sich sondern eher eine Methode sein Programm zu schützen. Wie sicher es ist liegt einzig und allein daran, wie man es implementiert.
Gespeichert
EBFE
Full Member
***
Beiträge: 109


Profil anzeigen E-Mail
« Antworten #10 am: April 01, 2009, 07:45:10 »

Hm, ich hab im Moment paar Ideen in diese Richtung. Allerdings frage ich mich, warum alle so auf Hardware fixiert sind:
Was wäre denn wichtig bei einer Protection - dass der User auch nach Neuformatierung das Tool nutzen kann?
Und was spricht dagegen, auch an den Windowskey zu binden?
Gespeichert

PM an mich? Bitte vorher lesen: EBFEs PM FAQ
MrWellKnown
Newbie
*
Beiträge: 17


Profil anzeigen E-Mail
« Antworten #11 am: April 01, 2009, 07:50:00 »

Die HDD-Serial ändert sich nicht nach der Formatierung. (die VolumeID dagegen schon)

Den Windowskey als ID zu benutzen ist halt auch nicht wirklich sicher, gibts ja CD-Key changer für Windows, damit wäre das auch ziemlich einfach umgangen..
Gespeichert
DizzY_D
Official SC Leaker
Full Member
***
Beiträge: 104

296119081
Profil anzeigen E-Mail
« Antworten #12 am: April 01, 2009, 08:03:35 »

Zitat von: MrWellKnown;18649
Gespeichert

Aktuelles Projekt:

Status: 5%
Real Coder doesn't code Visual Basic. Real Coder codes Opcodes.
EBFE
Full Member
***
Beiträge: 109


Profil anzeigen E-Mail
« Antworten #13 am: April 01, 2009, 08:04:19 »

Man kann aber mehrere Verfahren kombinieren Zwinkernd.
Und fälschen lässt sich die HDDSerial ja auch.
Sonst gibt es eine relativ einfache und sichere Methode - Verschlüsselung. Der Key wird aus HardwareKey gebildet, so dass der Leaker auch die ganzen Hardwarewerte weitergeben müsste (denn imho cracken nur die wenigsten Leaker die Tools selbst Zwinkernd ). Wenn man WindowsKey/ProduktID miteinbezieht, sollte es zumindest die Hemmschwelle zum weitergeben erhöhen.
Gespeichert

PM an mich? Bitte vorher lesen: EBFEs PM FAQ
f0Gx
Jr. Member
**
Beiträge: 60



Profil anzeigen WWW E-Mail
« Antworten #14 am: April 01, 2009, 08:04:41 »

Zitat
besser wäre es da einfach unbemerkt ein paar ASM-Register zu manipulieren und so einen Crash zu erzeugen. (was auf den 1. Blick aufjedenfall schwieriger zu entdecken ist..)
Das Ganze löst eine Exception aus (z. B. eine Access Violation, bei Sachen wie xor eax, eax; mov dword ptr [eax], eax), diese kann man aber mit dem Debugger ebenso leicht erkennen wie einen API-Aufruf. Zwinkernd
Gespeichert

» xor byte ptr [edi+78], al
Seiten: [1] 2
  Drucken  
 
Gehe zu:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines | New Look by Nolt Prüfe XHTML 1.0 Prüfe CSS