Beiträge von florian0

    HIho,


    Upload-Scripts gibt es im Internet zu genüge:
    http://www.php-einfach.de/tuts_php_datei_upload.php


    Als Gallery würde ich SimpleViewer verwenden. Der ist wirklich "simpel"
    http://simpleviewer.net/simpleviewer/examples/modern/



    BlackManta :
    Das geht schon, ist dann eben Datei/Ordner basierend.
    Beispiel: Jeder User bekommt seinen eigenen Ordner und als Unterordner sind dann die GalleryNamen.
    Dann kann man über RewriteRule den Pfad an ein PHP-Script übergeben, dass dann die Bilder bereitstellt.


    Ich probier das heute in der Schule mal aus. Mal sehn wie weit ich komme.


    Gruß
    florian0

    Die ISROBot als CL brauchte "damals" (vor 2 Jahren oder so) nur die C++ Runtimes von Visual Studio. Installier am besten mal alle von 2003 bis 2010.


    Was allerdings sein kann:
    Die Exe ist mit Themida / Winlicense geschützt, und wenn da Anti-VM aktiv ist, isses klar das es aufm vServer nicht geht.


    Gruß
    florian0

    iBot auf Linux wird nix. Auch nicht mit Wine.
    Für Wine braucht man ein "Display", das heist du müsstest auf deinem vServer einen XServer und Gnome installieren. Anders kannst du den iBot nicht starten.


    Und wenn du dich net mit Linux auskennst, lass es gleich :)


    Gruß
    florian0

    Ich versteh die Frage garnicht ?!?
    Was für ne Connectzeit?


    Die Zeit zwischen den einzelnen Connectversuchen?
    Wenn du die runter drehst bekommste en DC.


    Gruß
    florian0

    Die Teurerer von beiden ist die Vollversion. Da ist noch ein schickes DVD-Case und ne Anleitung dabei.
    Bei der günstigeren hast du nur die DVD und den Key. Mehr net.


    Einen Unterschied in der Funktion gibts meines Wissens nicht.


    Gruß
    florian0

    Also ich hab in durchschnitt pro Client eine Datenrate von etwa 200 / 200 Byte/s (Up/Down). In der Stadt etwa 200 / 1kByte/s (Up / Down). Kannst das ganze ja hochrechnen. Ne 2k Leitung schafft ~25 / 250 kBit/s (Up / Down).


    Ich zu meiner "SRO-Bestzeit" hab ich 30 Chars gebottet und konnte nebenbei noch Battlefield lagg-frei (und damit meine ich nicht die FPS) spielen.


    Ist kein Problem, dass schafft die Leitung.


    Gruß
    florian0

    Hiho,


    ich habe mal wieder die Probleme die sonst keiner hat. Ich möchte über C# ein anderes Programm steuern (iBot).
    Im Moment hänge ich noch am auslesen von EditBoxen.


    Zum Sammeln der Controls verwende ich EnumChildWindows (user32). Die dann alle in einer Liste durchsuche ich nach Strings wie CharName etc. um die richtigen Controls zu finden.


    Hier liegt das Problem. Mit GetWindowText hole ich den Text aus den Controls. Es kommt auch Text raus. Nur ist das z.B. beim Charnamen "<None>" obwohl ich eingeloggt bin (Da steht was anderes im GUI).


    XX_005 heist mein Testchar. Alles was gefunden wird, ist XX_005 in der Clientless Charauswahl. Aber in der Übersicht auf der ersten Seite nicht.
    Da findet er nur <None>. Das AutoIt Window Info zeigt auch nur None an. Und wenn ich den Inhalt des Controls ändere, bleibt in der Form XX_005 stehen, wenn ich dann mit dem Window Info schaue sehe ich den geänderten Text.


    Ich habe überhaupt keinerlei Ahnung an was es liegt.
    Vielleicht an Win7 x64.


    Ich poste einfach mal den Code, evtl fällt euch was auf.
    Die iBot-Klasse stammt von der BotClass - Klasse ab. Das ist eine Pseudoklasse, damit ich später mehrere verschiedene Bots in einem Array gleich behandeln kann (Gleiche Methoden, etc)


    Es beginnt im Constructor von iBot. Danach versuche ich per iBot-Instanz.Charname den Charname auszulesen woraufhin die MessageBox kommten sollte, und mir den Index des Controls verrät.



    Das ist die Klasse die die Daten aus dem iBot holt. In Zeile 64 gehts los.
    [cs]
    using System;
    using System.Diagnostics;
    using System.Text;
    using AutoItX3Lib;
    using System.Windows.Forms;


    namespace BotManager
    {
    /// <summary>
    /// Die iBot-Klasse verwaltet den iBot
    /// </summary>
    class iBot : BotClass
    {
    /* Infos zum iBot
    *
    * Wenn man den iBot startet, kommt als erstes die Meldung:
    * "Dieser Bot ist kostenlos, botten ist illegal und man soll doch bitte donaten, etc."
    *
    * Die Process-Klasse des .NET-Framework nimmt dieses Fenster als MainWindow was hier
    * nicht brauchbar ist.
    *
    * Wir verwenden die Funktion EnumWindows um das richtige Fenster zu finden
    */


    private Process proc; // Prozess des Bots
    private RunningBots.BotInfo GUI; // BotInfo-Struct Instanz zur einfacheren Verwaltung von Informationen
    private EnumWindowsItem eWindowsItem;


    private enum ControlID : int
    {
    charname = 334,
    guildname,
    level,
    skillpoints,
    experience,
    gold,
    PosX,
    PosY
    }


    #region Propertys


    /// <summary>
    /// Gibt den Fenstertitel zurück oder legt diesen fest
    /// </summary>
    public override string WindowTitle
    {
    get { return eWindowsItem.Text; }
    set { eWindowsItem.Text = value; }
    }


    #endregion


    #region Bot Propertys
    /// <summary>
    /// Gibt den Namen des Characters zurück (readonly)
    /// </summary>
    public override string Charname
    {
    get
    {
    EnumWindows ewn = new EnumWindows();
    ewn.GetWindows(eWindowsItem.Handle);

    for(int i = 0; i != ewn.Items.Count - 1;i++)
    {
    if (ewn.Items[i].Text == "XX_005")
    {
    MessageBox.Show("Num " + i.ToString() + " " + ewn.Items[i].ClassName);


    }
    }
    return ewn.Items.Count.ToString();
    }
    }


    /// <summary>
    /// Gibt den Servernamen zurück (readonly)
    /// </summary>
    public override string Server
    {
    get { return GUI.Server; }
    }


    /// <summary>
    /// Gibt das Level des Characters zurück (readonly)
    /// </summary>
    public override byte Level
    {
    get { return GUI.Level; }
    }
    #endregion



    #region Constructor


    #region Construct by PID
    /// <summary>
    /// Constructor-Methode
    /// </summary>
    /// <param name="PID">Prozess-ID des Bot(-prozesses)</param>
    public iBot(int PID)
    {
    // Process-Objekt erstellen
    proc = Process.GetProcessById(PID);


    // Fenster enumerieren um das iBot Hauptfenster zu finden
    EnumWindows ew = new EnumWindows();
    ew.GetWindows();


    // Die Liste der Fenster durchsuchen
    foreach (EnumWindowsItem item in ew.Items)
    {
    // Und jedes Fenster, das iB0t] im Titel hat bearbeiten
    if (item.Text.Contains("iB0t]"))
    {
    // Überprüfen ob die WindowThreadId in der ThreadListe des Prozesses vorkommt.
    foreach (ProcessThread thr in proc.Threads)
    {
    if ((int)item.WndThreadId == thr.Id)
    { // Wenn ja
    // EnumWindowsItem speichern
    eWindowsItem = item;
    break;
    }
    }
    }
    if (eWindowsItem != null)
    break;
    }


    }
    #endregion


    #region Construct by Process
    /// <summary>
    /// Constructor-Methode
    /// </summary>
    /// <param name="iProc">Prozess-Klasse des iBot-Prozesses</param>
    public iBot(Process iProc)
    {
    // Process-Objekt erstellen
    proc = iProc;


    // Fenster enumerieren um das iBot Hauptfenster zu finden
    EnumWindows ew = new EnumWindows();
    ew.GetWindows();


    // Die Liste der Fenster durchsuchen
    foreach (EnumWindowsItem item in ew.Items)
    {
    // Und jedes Fenster, das iB0t] im Titel hat bearbeiten
    if (item.Text.Contains("iB0t]"))
    {
    // Überprüfen ob die WindowThreadId in der ThreadListe des Prozesses vorkommt.
    foreach (ProcessThread thr in proc.Threads)
    {
    if ((int)item.WndThreadId == thr.Id)
    { // Wenn ja
    // EnumWindowsItem speichern
    eWindowsItem = item;
    break;
    }
    }
    }
    if (eWindowsItem != null)
    break;
    }


    }
    #endregion


    #endregion
    }
    }
    [/cs]


    Die EnumWindows-Klasse ist hier:
    http://www.koders.com/csharp/f…921220968210292B4D9B.aspx
    Ich habe sie um zwei Funktionen erweitert.
    UnManagedMethods:
    [cs] [DllImport("user32", CharSet = CharSet.Auto)]
    public extern static IntPtr GetWindowThreadProcessId(
    IntPtr hWnd,
    IntPtr ProcessId);


    [DllImport("user32.dll", EntryPoint = "SetWindowText", CharSet = CharSet.Ansi)]
    public static extern bool SetWindowText(
    IntPtr hWnd,
    String strNewWindowName);[/cs]


    EnumWindowsItem -> public string Text mit set erweitert:
    [cs] set
    {
    UnManagedMethods.SetWindowText(hWnd, value);
    }[/cs]



    Und die Eigenschaft WndThreadId hinzugefügt:
    [cs]public IntPtr WndThreadId
    {
    get
    {
    return(UnManagedMethods.GetWindowThreadProcessId(this.Handle, IntPtr.Zero));
    }
    }[/cs]


    pushedit: Kommt schon ... keiner ne idee? Problem besteht immernoch


    Gruß
    florian0

    Coole Sache :)
    Vorallem das mit der virtuellen Kreditkarte.


    Die normale Yuna Card kostet 24,90 € im Jahr.
    Die Yuna Online Card hat keine jährliche Grundgebühr, kostet aber 2€ pro Monat. (2€ x 12 = 24)
    Tut sich nicht viel^^.


    Also immer schön das Kleingedruckte lesen, vorallem wenns um Geld geht.


    Gruß
    florian0

    Das gehört ja inzwischen schon zu einer der Hauptfunktionen, die Verbindung umzuleiten.


    Du sagst du patchst den SRO_Client. Das kannst du auch während der Laufzeit machen (Prozess starten, Suspendieren, Patchen, Resume)
    (Wenn du die Pk2 patchst, oder die hosts-datei -> geht nicht)
    Das kannst du auch mit dem phConnector machen. Über ein Codecave das den Port überschreibt.


    Schau dir ggf. mal die Source von Drew Bentons edxLoader an.


    Prüfen ob der Port noch frei ist geht eigentlich mit jeder Programmiersprache.


    Gruß
    florian0

    Ich kenne den phConnector jetzt nicht, aber es ist eigentlich überall gleich.


    Der Connector fungiert als Y-Verbindung. Auf einer Seite geht der Client rein, auf der anderen geht der Bot oder sonstiges rein und unten geht alles zum Silkroad Server raus.


    Du musst sowohl den BotPort ändern, als auch den ClientPort sonst kommt der Fehler das der Port bereits belegt ist (Failed to bind on port).


    EDIT: Habs mir grad mal angeschaut.
    Du musst auch den ListenPort ändern. Und den SRO Client dann auf den richtigen ListenPort verbinden lassen, sonst bekommst du wieder einen DC.


    Gruß
    florian0

    Hi,


    Hier sind viele getestete Camcorder im Überblick:
    http://www.camcorder-test.com/camcorder.html


    Lass dich vom Listenpreis nicht abschrecken. Meist sind die Geräte billiger zu haben.


    Ich würde euch zur Canon M306 raten. Die ist zwar "etwas" über euren Preisvorstellungen, macht aber im Gegensatz zu den etwas günstigeren Modellen sehr gute Bilder und hat sehr viele Einstellmöglichkeiten und einen optischen Bildstabilisator.


    Damit werdet ihr sicherlich einige Jahre lang mit auskommen.


    Ansonsten HF R16 / HF R103
    Hier mal alle 3 als Vergleich. Die R16 hat noch einen eingebauten Flash-Speicher.
    http://www.camcorder-test.com/…856232e2b9797d84dc9c.html


    Gruß
    florian0

    Ich gehe mal davon aus das deine Datenbank eine Spalte als ID hat.


    Zum generieren nimmst du einfach die PHP-Funktion rand().
    http://php.net/manual/de/function.rand.php


    Am besten gibst du den Minimal und Maximal Parameter an.


    Dann liegt die generierte Zufallszahl innerhalb dieses Bereiches.
    Idealerweise nimmst du als Maximum die Anzahl der Zeilen der Tabelle (nicht die höchste ID).
    Wenn du die höchste ID nehmen würdest, und löschst eine Zeile, dann ist die ID zwar immernoch z.B. 5 aber Zeile mit ID=3 fehlt somit hättest du da ein Problem.


    Zunächst, wie kommt man an die Anzahl:
    Eine Möglichkeit ist die Funktion mysql_num_rows() die du bereits kennen solltest.
    Das ist nicht gerade der schönste Weg (natürlich geht das auch), da du jede Zeile ausliest und zwischenspeicherst, was bei größeren Datenbanken sehr Zeit und Rechenaufwendig ist und vor allem auch (Arbeits)Speicher benötigt.


    Alternative:

    SQL
    1. SELECT COUNT(id) AS Anzahl
    2. FROM tabelle


    Das dann verarbeiten mit dem üblichen PHP-Code (in ein Array fetchen usw.) Der Spaltenname lautet "Anzahl" (ohne "")



    Dann holst du mit:

    SQL
    1. SELECT *
    2. FROM tabelle
    3. LIMIT ZufallsZahl, 1


    eine Zeile aus der Tabelle. Mit LIMIT begrenzt du aus Ausgabe auf eine bestimmte Anzahl von Zeilen. In diesem Fall fängst du bei der Zeile mit der Nummer der Zufallszahl an und liest genau eine Zeile aus.


    Wie du das ganze dann auf der Seite ausgibst, is deine Sache. So wie du es beschreibst, würde JavaScript bzw. AJAX dazu ganz gut passen, aber da kann ich dir nicht helfen. Mein JavaScript Kenntnisse sind weniger als schlecht.



    BTW: Was soll das eigentlich bezwecken? Spielerei?


    Gruß
    florian0

    Ein bischen mehr Details wären nett, meine Kristallkugel ist gerade zur Reinigung. :)


    - Genaue Fehlermeldung (Screenshot)
    - Welche Dateien (Dateinamen)?
    - Welcher Ordner (Ordnername)?


    Ich vermute mal es geht um die OCX Files.
    1. iBot neu runterladen (Da du Dateien umbenannt hast, ist das so einfacher)
    2. Im Ordner ibot_necessities sind 2 Batch-Files. Eins für XP und eins für Win7. Such dir das richtige aus und mach en Doppelklick drauf.
    3. Die darauf folgenden Meldungen mit Ok bestätigen (Was anderes bleibt dir auch nicht übrig).


    Gruß
    florian0

    Wireshark is en Thema für sich. Da siehst du halt alles vom Paket. Wirklich alles^^
    Prinzipell gehts damit auch, ist halt mehr Aufwand als mit nem Analyzer extra für Silkroad.


    Zu deinem Problem mit dem Launcher:
    Pk2 Edit oder Hostsdatei hilft da.


    Du musst nur irgentwie gwgt1 - gwgt4 .joymax.com auf 127.0.0.1 bekommen. Egal wie :D


    Hostsdatei Eintrag:

    Code
    1. 127.0.0.1 gwgt1.joymax.com
    2. 127.0.0.1 gwgt2.joymax.com
    3. 127.0.0.1 gwgt3.joymax.com
    4. 127.0.0.1 gwgt4.joymax.com


    Gruß
    florian0

    Hi,


    Wurde doch heute was released:
    http://www.stagetwo.eu/develop…ysator-src-exe-update-v3/


    Ich hab "damals" (als der agBot noch *in* war) immer den Analysator von Sly2 (Stealthex) verwendet. Ka ob der noch geht, aber der war immer mein treuer Begleiter.


    Virustotal-Scan
    MD5 : 699618478f114cb670a5cf62b5925de4
    SHA1 : 7bd341b0c70e87248e71b6c63b5e6184be73d47f

    Download


    Verwendung (wie beim Tool von Dickernoob):
    SrProxy mit Bot-Port 22580 starten. Dann den Analysator auf den SrProxy verbinden lassen. Silkroad mit Loader (z.B. edx) oder PK2-Edit (divisioninfo.txt) umleiten.
    Pakete im Analysator betrachten.


    Der Login läuft meines Erachtens gleich ab (Paketaufbau, Paketablauf). Die meisten Pakete sind sowieso statisch (immer gleich).
    Die Version sollte man anpassen, OpCodes sowieso und die Serverliste (Silkroad_Korea_Yahoo_Official).
    Wenn du das GameServer sniffen als "leicht" bezeichnest, dann solltest du über die Packete beim LoginServer lachen :)


    Edit: Link fixed


    Gruß
    florian0

    AOL :
    Im Archiv ist noch ein Archiv mit Passwort. Dazu gibts eine passwort.html Datei auf eine zwielichtige Seite weiterleitet. Dort soll man dann einen dieser tollen "Teste deinen IQ" "Lese deine Hand" oder auch "Mit dem bist du Verwandt" Dinger machen damit man das PW bekommt.
    Nebeneffekt: Man schließt automatisch einen Vertrag ab.


    Gruß
    florian0