1. #1

    Registriert seit
    17.09.2012
    Beiträge
    1.865
    Thanked 384 Times in 258 Posts

    Standard [S] Hilfe Entschlüßelung

    Hallo ich brauche hilfe ich möchte ein save game bearbeiten aber das ist verschlüßelt

    das habe ich dazu in der app gefunden wovon ich glaube das es damit zutun haben könnte
    Spoiler:

    .class public final Lcom/godzilab/happystreet/iab/m;
    .super Ljava/lang/Object;
    .source "HS"


    # static fields
    .field private static final a:Ljava/security/SecureRandom;

    .field private static b:Ljava/util/HashSet;


    # direct methods
    .method static constructor <clinit>()V
    .locals 1

    .prologue
    .line 41
    new-instance v0, Ljava/security/SecureRandom;

    invoke-direct {v0}, Ljava/security/SecureRandom;-><init>()V

    sput-object v0, Lcom/godzilab/happystreet/iab/m;->a:Ljava/security/SecureRandom;

    .line 52
    new-instance v0, Ljava/util/HashSet;

    invoke-direct {v0}, Ljava/util/HashSet;-><init>()V

    sput-object v0, Lcom/godzilab/happystreet/iab/m;->b:Ljava/util/HashSet;

    return-void
    .end method

    .method public static a()J
    .locals 4

    .prologue
    .line 82
    sget-object v0, Lcom/godzilab/happystreet/iab/m;->a:Ljava/security/SecureRandom;

    invoke-virtual {v0}, Ljava/security/SecureRandom;->nextLong()J

    move-result-wide v0

    .line 83
    sget-object v2, Lcom/godzilab/happystreet/iab/m;->b:Ljava/util/HashSet;

    invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;

    move-result-object v3

    invoke-virtual {v2, v3}, Ljava/util/HashSet;->add(Ljava/lang/Object;)Z

    .line 84
    return-wide v0
    .end method

    .method private static a(Ljava/lang/String;)Ljava/security/PublicKey;
    .locals 3
    .parameter

    .prologue
    .line 220
    const/4 v0, 0x0

    :try_start_0
    invoke-static {p0, v0}, Landroid/util/Base64;->decode(Ljava/lang/String;I)[B

    move-result-object v0

    .line 221
    const-string v1, "RSA"

    invoke-static {v1}, Ljava/security/KeyFactory;->getInstance(Ljava/lang/String;)Ljava/security/KeyFactory;

    move-result-object v1

    .line 222
    new-instance v2, Ljava/security/spec/X509EncodedKeySpec;

    invoke-direct {v2, v0}, Ljava/security/spec/X509EncodedKeySpec;-><init>([B)V

    invoke-virtual {v1, v2}, Ljava/security/KeyFactory;->generatePublic(Ljava/security/spec/KeySpec;)Ljava/security/PublicKey;
    :try_end_0
    .catch Ljava/security/NoSuchAlgorithmException; {:try_start_0 .. :try_end_0} :catch_0
    .catch Ljava/security/spec/InvalidKeySpecException; {:try_start_0 .. :try_end_0} :catch_1

    move-result-object v0

    return-object v0

    .line 223
    :catch_0
    move-exception v0

    .line 224
    new-instance v1, Ljava/lang/RuntimeException;

    invoke-direct {v1, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/Throwable;)V

    throw v1

    .line 225
    :catch_1
    move-exception v0

    .line 226
    const-string v1, "Security"

    const-string v2, "Invalid key specification."

    invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I

    .line 227
    new-instance v1, Ljava/lang/IllegalArgumentException;

    invoke-direct {v1, v0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/Throwable;)V

    throw v1
    .end method

    .method public static a(Ljava/lang/String;Ljava/lang/String;Lcom/godzilab/happystreet/iab/n;)Ljava/util/ArrayList;
    .locals 18
    .parameter
    .parameter
    .parameter

    .prologue
    .line 108
    if-nez p0, :cond_0

    .line 109
    const-string v2, "Security"

    const-string v3, "data is null"

    invoke-static {v2, v3}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I

    .line 110
    const/4 v2, 0x0

    .line 208
    :goto_0
    return-object v2

    .line 115
    :cond_0
    const/4 v2, 0x0

    .line 116
    invoke-static/range {p1 .. p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v3

    if-nez v3, :cond_b

    .line 130
    const-string v2, "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAgSpJi MTjac3h+4x/GKmhG0PLsYX/D9nAY7woxK0WZHngmsah/icI8+Lp0BKxyyBARF7oroB+E7jOGRR3/G9rIMQ7zofqiCaFeAVHCuMfVxslG5A1liKmXBJj2+6jY+cZM4P xpdgFwPW72O7NV+uX+gwRr3bOmo6d8nsvOrG7s5B+AHudS+alU fOQ5+lxrPIiAN3v8ENa0fF2iK9NgNtGLg6HW9oCr5VoyHDxYh7 fXhKrsw+C679fWDGoDDnkJDcIyUBtnSJMuaTMOHwVUCWehJ6c2 3k3kXt6yTfQm8Xq+o1BLvGkwK9uPGp32c7PaAEMhDm59ZRuhGi ptCksKDxSIQIDAQAB"

    .line 131
    invoke-static {v2}, Lcom/godzilab/happystreet/iab/m;->a(Ljava/lang/String;)Ljava/security/PublicKey;

    move-result-object v2

    .line 132
    move-object/from16 v0, p0

    move-object/from16 v1, p1

    invoke-static {v2, v0, v1}, Lcom/godzilab/happystreet/iab/m;->a(Ljava/security/PublicKey;Ljava/lang/String;Ljava/lang/String;)Z

    move-result v2

    .line 133
    if-nez v2, :cond_1

    .line 134
    const-string v2, "Security"

    const-string v3, "signature does not match data."

    invoke-static {v2, v3}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I

    .line 135
    const/4 v2, 0x0

    goto :goto_0

    :cond_1
    move v10, v2

    .line 141
    :goto_1
    const/4 v2, 0x0

    .line 144
    :try_start_0
    new-instance v3, Lorg/json/JSONObject;

    move-object/from16 v0, p0

    invoke-direct {v3, v0}, Lorg/json/JSONObject;-><init>(Ljava/lang/String;)V

    .line 147
    const-string v4, "nonce"

    invoke-virtual {v3, v4}, Lorg/json/JSONObject;->optLong(Ljava/lang/String;)J

    move-result-wide v14

    .line 148
    const-string v4, "orders"

    invoke-virtual {v3, v4}, Lorg/json/JSONObject;->optJSONArray(Ljava/lang/String;)Lorg/json/JSONArray;

    move-result-object v16

    .line 149
    if-eqz v16, :cond_a

    .line 150
    invoke-virtual/range {v16 .. v16}, Lorg/json/JSONArray;->length()I
    :try_end_0
    .catch Lorg/json/JSONException; {:try_start_0 .. :try_end_0} :catch_0

    move-result v2

    move v11, v2

    .line 156
    :goto_2
    sget-object v2, Lcom/godzilab/happystreet/iab/m;->b:Ljava/util/HashSet;

    invoke-static {v14, v15}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;

    move-result-object v3

    invoke-virtual {v2, v3}, Ljava/util/HashSet;->contains(Ljava/lang/Object;)Z

    move-result v2

    if-nez v2, :cond_5

    .line 157
    const-string v2, "Security"

    new-instance v3, Ljava/lang/StringBuilder;

    const-string v4, "Nonce not found: "

    invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v3, v14, v15}, Ljava/lang/StringBuilder;->append(J)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    invoke-static {v2, v3}, Landroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I

    .line 158
    if-eqz p2, :cond_4

    .line 160
    :try_start_1
    new-instance v3, Ljava/util/ArrayList;

    invoke-direct {v3}, Ljava/util/ArrayList;-><init>()V

    .line 161
    const/4 v2, 0x0

    :goto_3
    if-ge v2, v11, :cond_3

    .line 162
    move-object/from16 v0, v16

    invoke-virtual {v0, v2}, Lorg/json/JSONArray;->getJSONObject(I)Lorg/json/JSONObject;

    move-result-object v4

    .line 163
    const-string v5, "notificationId"

    invoke-virtual {v4, v5}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z

    move-result v5

    if-eqz v5, :cond_2

    .line 164
    const-string v5, "notificationId"

    invoke-virtual {v4, v5}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v4

    invoke-virtual {v3, v4}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z

    .line 161
    :cond_2
    add-int/lit8 v2, v2, 0x1

    goto :goto_3

    .line 153
    :catch_0
    move-exception v2

    const/4 v2, 0x0

    goto/16 :goto_0

    .line 167
    :cond_3
    invoke-virtual {v3}, Ljava/util/ArrayList;->isEmpty()Z

    move-result v2

    if-nez v2, :cond_4

    .line 171
    invoke-virtual {v3}, Ljava/util/ArrayList;->size()I

    move-result v2

    new-array v2, v2, [Ljava/lang/String;

    invoke-virtual {v3, v2}, Ljava/util/ArrayList;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;

    move-result-object v2

    check-cast v2, [Ljava/lang/String;

    move-object/from16 v0, p2

    invoke-interface {v0, v2}, Lcom/godzilab/happystreet/iab/n;->a([Ljava/lang/String;)V
    :try_end_1
    .catch Ljava/lang/Exception; {:try_start_1 .. :try_end_1} :catch_1

    .line 177
    :cond_4
    :goto_4
    const/4 v2, 0x0

    goto/16 :goto_0

    .line 173
    :catch_1
    move-exception v2

    .line 174
    const-string v3, "Security"

    const-string v4, "JSON exception: "

    invoke-static {v3, v4, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I

    goto :goto_4

    .line 180
    :cond_5
    new-instance v12, Ljava/util/ArrayList;

    invoke-direct {v12}, Ljava/util/ArrayList;-><init>()V

    .line 182
    const/4 v2, 0x0

    move v13, v2

    :goto_5
    if-ge v13, v11, :cond_9

    .line 183
    :try_start_2
    move-object/from16 v0, v16

    invoke-virtual {v0, v13}, Lorg/json/JSONArray;->getJSONObject(I)Lorg/json/JSONObject;

    move-result-object v2

    .line 184
    const-string v3, "purchaseState"

    invoke-virtual {v2, v3}, Lorg/json/JSONObject;->getInt(Ljava/lang/String;)I

    move-result v3

    .line 185
    invoke-static {v3}, Lcom/godzilab/happystreet/iab/h;->a(I)Lcom/godzilab/happystreet/iab/h;

    move-result-object v3

    .line 186
    const-string v4, "productId"

    invoke-virtual {v2, v4}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v5

    .line 187
    const-string v4, "purchaseTime"

    invoke-virtual {v2, v4}, Lorg/json/JSONObject;->getLong(Ljava/lang/String;)J

    move-result-wide v7

    .line 188
    const-string v4, "orderId"

    const-string v6, ""

    invoke-virtual {v2, v4, v6}, Lorg/json/JSONObject;->optString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v6

    .line 189
    const/4 v4, 0x0

    .line 190
    const-string v9, "notificationId"

    invoke-virtual {v2, v9}, Lorg/json/JSONObject;->has(Ljava/lang/String;)Z

    move-result v9

    if-eqz v9, :cond_6

    .line 191
    const-string v4, "notificationId"

    invoke-virtual {v2, v4}, Lorg/json/JSONObject;->getString(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v4

    .line 193
    :cond_6
    const-string v9, "developerPayload"

    const/16 v17, 0x0

    move-object/from16 v0, v17

    invoke-virtual {v2, v9, v0}, Lorg/json/JSONObject;->optString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v9

    .line 197
    sget-object v2, Lcom/godzilab/happystreet/iab/h;->a:Lcom/godzilab/happystreet/iab/h;

    if-ne v3, v2, :cond_7

    if-eqz v10, :cond_8

    .line 198
    :cond_7
    new-instance v2, Lcom/godzilab/happystreet/iab/o;

    invoke-direct/range {v2 .. v9}, Lcom/godzilab/happystreet/iab/o;-><init>(Lcom/godzilab/happystreet/iab/h;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;JLjava/lang/String;)V

    invoke-virtual {v12, v2}, Ljava/util/ArrayList;->add(Ljava/lang/Object;)Z
    :try_end_2
    .catch Lorg/json/JSONException; {:try_start_2 .. :try_end_2} :catch_2

    .line 182
    :cond_8
    add-int/lit8 v2, v13, 0x1

    move v13, v2

    goto :goto_5

    .line 203
    :catch_2
    move-exception v2

    .line 204
    const-string v3, "Security"

    const-string v4, "JSON exception: "

    invoke-static {v3, v4, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I

    .line 205
    const/4 v2, 0x0

    goto/16 :goto_0

    .line 207
    :cond_9
    invoke-static {v14, v15}, Lcom/godzilab/happystreet/iab/m;->a(J)V

    move-object v2, v12

    .line 208
    goto/16 :goto_0

    :cond_a
    move v11, v2

    goto/16 :goto_2

    :cond_b
    move v10, v2

    goto/16 :goto_1
    .end method

    .method public static a(J)V
    .locals 2
    .parameter

    .prologue
    .line 88
    sget-object v0, Lcom/godzilab/happystreet/iab/m;->b:Ljava/util/HashSet;

    invoke-static {p0, p1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/util/HashSet;->remove(Ljava/lang/Object;)Z

    .line 89
    return-void
    .end method

    .method private static a(Ljava/security/PublicKey;Ljava/lang/String;Ljava/lang/String;)Z
    .locals 3
    .parameter
    .parameter
    .parameter

    .prologue
    const/4 v0, 0x0

    .line 246
    :try_start_0
    const-string v1, "SHA1withRSA"

    invoke-static {v1}, Ljava/security/Signature;->getInstance(Ljava/lang/String;)Ljava/security/Signature;

    move-result-object v1

    .line 247
    invoke-virtual {v1, p0}, Ljava/security/Signature;->initVerify(Ljava/security/PublicKey;)V

    .line 248
    invoke-virtual {p1}, Ljava/lang/String;->getBytes()[B

    move-result-object v2

    invoke-virtual {v1, v2}, Ljava/security/Signature;->update([B)V

    .line 249
    const/4 v2, 0x0

    invoke-static {p2, v2}, Landroid/util/Base64;->decode(Ljava/lang/String;I)[B

    move-result-object v2

    invoke-virtual {v1, v2}, Ljava/security/Signature;->verify([B)Z

    move-result v1

    if-nez v1, :cond_0

    .line 250
    const-string v1, "Security"

    const-string v2, "Signature verification failed."

    invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
    :try_end_0
    .catch Ljava/security/NoSuchAlgorithmException; {:try_start_0 .. :try_end_0} :catch_0
    .catch Ljava/security/InvalidKeyException; {:try_start_0 .. :try_end_0} :catch_1
    .catch Ljava/security/SignatureException; {:try_start_0 .. :try_end_0} :catch_2

    .line 261
    :goto_0
    return v0

    .line 253
    :cond_0
    const/4 v0, 0x1

    goto :goto_0

    .line 255
    :catch_0
    move-exception v1

    const-string v1, "Security"

    const-string v2, "NoSuchAlgorithmException."

    invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I

    goto :goto_0

    .line 257
    :catch_1
    move-exception v1

    const-string v1, "Security"

    const-string v2, "Invalid key specification."

    invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I

    goto :goto_0

    .line 259
    :catch_2
    move-exception v1

    const-string v1, "Security"

    const-string v2, "Signature exception."

    invoke-static {v1, v2}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I

    goto :goto_0
    .end method





    Zu entschlüßelnder Text

    profile.txt
    (muss später auch wieder verschlüßelt werden)


    Geben auch was dafür je nach vereinbarung

  2. #2

    Registriert seit
    28.10.2011
    Beiträge
    625
    Thanked 279 Times in 168 Posts

    Standard AW: [S] Hilfe Entschlüßelung

    Frage wäre nun (worauf du nicht eingehst):
    - Was für eine App ist des (iOS, Android, Win...)?
    - Gibts dazu auch die komplette App oder veröffentlichst du nur diese eine Textdatei?
    - Heisst die Datei auch in der App "profile.txt"?

    Wenn man mehr Infos hätte, würde man schon ein wenig weiter sein.

    Edit:
    Was aufjedenfall Hilfreich sein sollte ist die Info aus deinem Dissassembletem Zeugs, das es wohl Java ist (Android) und etwas mittels SHA1withRSA bzw. SSL encrypted/decrypted wird.

    .line 130
    const-string v2, "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAg SpJi MTjac3h+4x/GKmhG0PLsYX/D9nAY7woxK0WZHngmsah/icI8+Lp0BKxyyBARF7oroB+E7jOGRR3/G9rIMQ7zofqiCaFeAVHCuMfVxslG5A1liKmXBJj2+6jY+cZM4P xpdgFwPW72O7NV+uX+gwRr3bOmo6d8nsvOrG7s5B+AHudS+alU fOQ5+lxrPIiAN3v8ENa0fF2iK9NgNtGLg6HW9oCr5VoyHDxYh7 fXhKrsw+C679fWDGoDDnkJDcIyUBtnSJMuaTMOHwVUCWehJ6c2 3k3kXt6yTfQm8Xq+o1BLvGkwK9uPGp32c7PaAEMhDm59ZRuhGi ptCksKDxSIQIDAQAB"
    Dies scheint ein Key bzw. "PublicKey" zu sein, der für SSL verwendet wird. Wobei dieser Key ggf. durch dein Posten ggf. kaputt gegangen ist (im bezug auf Special Characters wie \r, \n, \t oder \s...)
    Geändert von Bubble Gum (11.03.2013 um 15:02 Uhr)

  3. The Following User Says Thank You to Bubble Gum For This Useful Post:

    Chrissy (11.03.2013)

  4. #3

    Registriert seit
    17.09.2012
    Beiträge
    1.865
    Thanked 384 Times in 258 Posts

    Standard AW: [S] Hilfe Entschlüßelung

    Der Auszug ist aus einer app (Android) da hast du recht.
    Die Textdatei hatt eigentlich die Endung,.dat und wird auf der sd Karte gespeichert und enthält ein paar Werte vom Spiel Happy Street (Geld und ingame wärung, usw)

    das Ganze soll ein neuer Cheat werden für das spiel Happy Street, habe gehoft das man diese datei entschlüßeln , die werte ändern und dan wieder verschlüßeln kann. ( ich weiß ich stelle mir das seeeeeeeeehr einfach vor. )

    an der .apk selber kann ich nichts ändern ( sonst würde ich einfach alle GebäudePreise auf 0 setzen usw ) weil die App sich dan nach dem start immer beendet. Also bleiben mir nur die save games

    Die ganze app kann ich hochladen klar hatt aber 40 MB ( auf die ordner smali / res & das androidmanisfest beschränkt sind es 10 mb ( 900 Dateien )
    Geändert von Chrissy (11.03.2013 um 15:38 Uhr)

  5. #4

    Registriert seit
    28.10.2011
    Beiträge
    625
    Thanked 279 Times in 168 Posts

    Standard AW: [S] Hilfe Entschlüßelung

    [...]habe gehoft das man diese datei entschlüßeln[...]
    Das wäre auch nur möglich, wenn du die APK dazu mitlieferst, da man den Verschlüsselungs-Algorhytmus lokalisieren muss.
    Ohne weitere Infos bzw. Daten kann dir wohl niemand helfen.

    Da ich mein Android-Tabled auf der Arbeit liegen habe kann ich die App ned ziehen, sonst hätte ich ja nicht danach gefragt. Zudem wäre ja noch die Frage ob die App in der Store geld kostet - "Nutzer" die dir was "cracken" sollen, haben meist keine Lust Geld auszugeben, da diese ja ohnehin dir die Hilfe anbieten würden - Deswegen solltest du dementsprechend auch entgegen kommen und die APK mitliefern.

    Die ganze app kann ich hochladen klar hatt aber 40 MB [...]
    40 MB? Und? Hält dich des davon ab des mal hochzuladen?

    Wie gesagt. Ich denke, dass hier hächstwahrscheinlich SHA1 AES zum encoden/decoden verwendet wird, kann dir aber auch nur eine vermutung geben, da ich keine weiteren Infos habe, bis auf das, was du geliefert hast.

    das Ganze soll ein neuer Cheat werden für das spiel Happy Street, [...]
    Sprich, du willst den "Crack" später weitervermarkten? Derartiges ist wiederrum ein anderes Thema. Ich glaube kaum dass jemand etwas für "Lau" macht, wenn du dafür versuchst Kohle zu ziehen.

  6. The Following User Says Thank You to Bubble Gum For This Useful Post:

    Chrissy (11.03.2013)

  7. #5

    Registriert seit
    17.09.2012
    Beiträge
    1.865
    Thanked 384 Times in 258 Posts

    Standard AW: [S] Hilfe Entschlüßelung

    Zuerst, nein nicht verkaufen, biete die kostenlos an.
    Natürlich ist die app kostenlos
    Weil ich gerade nur 3g und kein WLAN habe lade das aber morgen hoch bei Dropbox.

    Den cheate hab ich schon online gestellt aber 40000 von den ingame coins sind mir zu wenig und das Level will ich noch anpassen

    In mein ersten Post steht das ich sogar dafür bezahle , würde ^_^.

    Trotzdem schonmal Danke bis hier hin. Und ich würde sagen das war's dan erstmal für heute

    LG chriss

    Kurze blöde frage am Rande warst du nicht admin bei k-Script oder verwechselt ich da was
    Geändert von Chrissy (11.03.2013 um 22:51 Uhr)

  8. #6

    Registriert seit
    28.10.2011
    Beiträge
    625
    Thanked 279 Times in 168 Posts

    Standard AW: [S] Hilfe Entschlüßelung

    Da verwechselst du jemanden, ich war zwar damals bei KS (Werde aber ned sagen, wer), war aber niemals dort als irgendetwas unterwegs - Ich war halt normaler nutzer und habe (wie hier) immer nur ein wenig "mitgeschrieben" bzw. leuten geholfen

Ähnliche Themen

  1. Php hilfe ()
    Von Kosi im Forum PHP
    Antworten: 3
    Letzter Beitrag: 12.12.2011, 11:31
  2. [Hilfe] Brauche hilfe bei Visual Basic
    Von Anonymous im Forum Sonstige
    Antworten: 3
    Letzter Beitrag: 25.11.2011, 23:36
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.