An Alle Pro Cracker ;p

05/21/2013 20:27 Acin™#1
Hallo.
Da meine Datenbank schon zum 5. mal in meinem vb.net Programm gelöscht wurde, habe ich die sicherheits stufe mal höher geschraubt.

Download link:
[Only registered and activated users can see links. Click Here To Register...]

Kann irgendjemand von euch (Crack Profis o.o) mir sagen, ob ihr an die Querys im Programm ran kommt? Oder irgendwelche Strings lesen könnt?
Es ist wirklich wichtig!

Gruß
05/21/2013 20:28 reCougar#2
In .Net Programmen kommt man eigentlich immer zum Source. Erstell lieber eine php datei und ruf diese per HttpWebrequest auf.
05/21/2013 20:30 Acin™#3
Die Infos zur DB sind in der PHP.
Die Querys sindim Programm angegeben.
Bitte versuch es erstmal zu entschlüsseln, es ist gerade sehr wichtig.
05/21/2013 20:33 Requi#4
Adde mich mal auf Skype. Ich kann für dich immer testen ob es sicher genug ist :D
05/21/2013 20:35 Acin™#5
Geaddet ;)
05/21/2013 20:36 Requi#6
Nehme dich morgen an. Gerade nur mit Handy on und WLAN aus.
05/21/2013 20:37 Acin™#7
Alles klar.
05/21/2013 21:12 tolio#8
add mich mal in skype
05/21/2013 21:35 Acin™#9
Ihr könnt gerne auch im Thread Antworten.
Aber: Skype Geaddet.
05/21/2013 21:40 dready#10
Ja, man kommt einfach ran, denk du gehst das Problem falsch an.
Die Strings in deiner Binary wirst du niemals wirklich schützen können. An einem gewissen Punkt müssen sie Sauber vorliegen.
Aber von dem wie deine Querys ausehn denk ich das dein Php script nicht sauber sanitzed und dir Leute mit langeweile die Db zerlegen
05/21/2013 21:42 Acin™#11
Ich hatte jetzt schon 2 Leute die es nicht geschafft haben.
Schreib mir mal eine PN, mit dem Passwort was in Form1 Hinterlegt wurde.

Gruß
05/22/2013 08:46 Fehlgeschlagen#12
#Cracked;

Ich könnte alles posten.. dein Ding sagt mir alles was ich möchte;

--- Verschlüsseln ist komplett nutzlos ----

Du musst dir selber ein Binary Verschlüsselungssystem schreiben dann würde es wesentlich länger
dauern dass man an deinen Source Code / Passwörter / Strings / Querys kommt.

Oder alles ServerSide laufen lassen was eigentlich jeder macht.. du hast nur eine kleine Client exe
die nicht mehr kann als mit den Sever zu kommunizieren.

Am besten über einem asynchronous socket handler.

PS: Willkommen in Jahr 2013 heute musst du dir bessere sachen ausdenken damit du die Höchste sicherheit hast.

Code:
   private void Button1_Click(object sender, EventArgs e)
        {
            string str = WindowsIdentity.GetCurrent().User.Value;
            MySqlLib.ResultCollection results = this.db.Query("SELECT * FROM EBots WHERE hwid='" + this.TextBox1.Text + "' ");
            if ((results.Row.Count == 1) & (this.TextBox1.Text == str))
            {
                this.ban = results.Row[0].Column("ban");
                this.reason = results.Row[0].Column("reason");
                if (this.ban == "YES")
                {
                    Interaction.MsgBox("Your Account was banned by the following reason: " + this.reason, MsgBoxStyle.ApplicationModal, null);
                    this.Close();
                }
                this.EHWID = str;
                new Form2().Show();
                this.Hide();
            }
            else
            {
                Interaction.MsgBox("Ung\x00fcltiger Account!", MsgBoxStyle.ApplicationModal, null);
            }
        }

        private void Button2_Click(object sender, EventArgs e)
        {
            string str = WindowsIdentity.GetCurrent().User.Value;
            if (this.db.Query("SELECT * FROM EBots WHERE hwid= '" + str + "'").Row.Count == 1)
            {
                this.TextBox2.Text = str;
                MessageBox.Show("Deine HWID ist bereits registriert");
            }
            else
            {
                this.db.Query("INSERT INTO EBots (`name`,`hwid`,`etube`,`ask`,`ban`) VALUES ('Unknown','" + str + "','NO','NO','NO')");
                this.TextBox2.Text = str;
                Interaction.MsgBox("Deine HWID wurde erfolgreich registriert", MsgBoxStyle.ApplicationModal, null);
            }
        }

        [DebuggerNonUserCode]
        protected override void Dispose(bool disposing)
        {
            try
            {
                if (((!disposing || (this.icontainer_0 == null)) ? 0 : 1) != 0)
                {
                    this.icontainer_0.Dispose();
                }
            }
            finally
            {
                base.Dispose(disposing);
            }
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            if (Operators.CompareString(this.webClient_0.DownloadString("https://dl.dropboxusercontent.com/u/88338123/Version.txt"), this.Version, false) > 0)
            {
                Interaction.MsgBox("A New Version is available! Please Download the Newest Version!", MsgBoxStyle.ApplicationModal, null);
                this.Close();
            }
            if (this.webClient_0.DownloadString("https://dl.dropboxusercontent.com/u/88338123/Maintenance.txt") == "Yes")
            {
                Interaction.MsgBox("EBots is currently under Maintenance - Will be back soon", MsgBoxStyle.ApplicationModal, null);
                this.Close();
            }
        }
05/22/2013 15:12 Acin™#13
Alles klar.
Ich werde mal noch einbißchen rumprobieren, neue File kommt gleich.

Gruß
05/22/2013 17:59 MrSm!th#14
Wieso sind die Queries im Programm? Pack sie in eine PHP Datei und übergibt dem Script die notwendigen Daten (natürlich muss es sie vor dem Bauen der Queries ordentlich filtern).
05/22/2013 18:09 dready#15
Was Smith sagt triffts :P

Das Problem ist hier das Design, die Strings wirst du nicht schützen können, selbst wenn du es kannst, hält es niemanden davon ab einfach den Traffic mitzulesen wo man das ganze auch sehn kann :)