Für welches Silkroad?
Beiträge von dongdong
-
-
nein
entweder snd die contra clientless oder die sind zu unfähig sowas zu programmieren^^
dann wohl eher contra clientless fürn Clientless brauch man beim Login nur 3-4 Packete mehr zu senden und halt das Ping Packet in nem Timer. -
Auch von mir nochmal Alles Gute
-
Du brauchst
- jede Menge Zeit
- Viel Erfahrung in der Programmiersprache die du benutzen willst.
- Erfahrung in der Netzwerkprogrammierung
- Du solltest wissen wie man mit Hexadezimal Zahlen umgeht
- Ahnung von Silkroad
- Kenntnisse über Silkroads Security System
- jede Menge Geduld
- noch mehr Geduld um gute Tutorials zu lesen und VOLLSTÄNDIG zu verstehen
- noch mehr ZeitUnd ich hab mit Sicherheit noch einiges vergessen...
Für den Anfang könnte dir dieses Tutorial von chea77er hilfreich sein. -
Wenn ich das richtig verstehe habt ihr das Game noch nicht, also nur ne Idee in eurem Kopf. So keiner von euch kann coden, es ist noch nichts vorhanden und ihr wollt euch Coder & Grafiker einstellen, die die ganze Arbeit für euch machen? Nur mal vorne weg, dass wird nicht billig. Schaut euch mal auf Seiten im Internet um die (nur) einfache Website Erstellung (ohne i-welche Games) anbieten, da biste locker 500-1500 € los. Ich weiß ja nicht ob ihr euch dessen bewußt seid...
Vielleicht findet ihr ja auich jemanden der es billiger macht aber naja.
Es wäre vielleicht noch von Vorteil, wenn ihr euer Budget (nicht so wichtig, müsst ihr dann sowieso mit demjenigen klären) und den Aufwand bzw. die späteren Funktionen was ihr euch da so vorstellt angibt, damit der Interessent weiß, auf was er da zusteuert... -
Ok und wann kommt der richtige Coding Contest #9?
Das war der richtige und wenn dir das nicht passt brauchst du ja nicht mitzumachen (wie's letztendlich ja auch war). -
-
Ja muss dann normalerweiße ne 1 sein.
Ich würde OpenProcess allerdings immer mit PROCESS_ALL_ACCESS aufrufen. Sonst willst du nachher was reinschreiben und übersiehst dass du keine Rechte hast und dann geht die Errorsuche nochmal los -
Also den VB Code versteh ich mal gar nicht ?!
Du verwendest ReadProcessMemory an der falschen Stelle.
Warum liest du jeweils 24 bytes aus? ein Int32 besteht aus 4 bytes...
Du musst in Der Do... Until Schleife natürlich immer wieder logged aktualisieren.
In dem AutoIt Code werden nur die Addressen miteinander subtrahiert, nicht das was an der Stelle im Speicher steht.[cs]
uint base = 0xAA0E44;
uint name = 0xA9FB98;
uint logged = name - 0x2D14;uint result = 0;
while (result == 0)
{
int bytesRead = 0;
byte[] buffer = new byte[4];
ReadProcessMemory(myProcess, logged, buffer, 4 out bytesRead);
result = BitConverter.ToUInt32(buffer, 0);
}
[/cs]
so könnte das in etwa aussehen in c# (also der Auto-IT Code übersetzt. -
kein Problem
Schau am besten immer auf pInvoke.net nach, dort findest du so ziemlich alle API's mit den verschiedenen enums usw., meistens sind auch noch die verschiedenen Überladungen der Funktion dabei. -
-
Ne funktioniert auch nicht so, drück mal in Visual Studio, ich geh mal davon aus du benutzt VS, F1 dann kommst du auf eine sehr detaillierte Hilfe. Dort steht dann auch wie man etwaige Funktionen zu benutzen hat.
msdn schrieb:
Gibt den Index des ersten Vorkommens des angegebenen String in dieser Instanz an.Namespace: System
Assembly: mscorlib (in mscorlib.dll)
[cs]
public int IndexOf (
string value
)
[/cs]
Parametervalue
Der zu suchende String.
Rückgabewert
Die Indexposition von value, wenn diese Zeichenfolge gefunden wurde, andernfalls -1. Wenn value Empty ist, wird 0 zurückgegeben.
[quelle]http://msdn.microsoft.com/de-d…8b1470s%28v=vs.80%29.aspx[/quelle] -
Sei doch nicht so auf den Auto-It Code fokussiert.
Um den Sro_Client zu starten musst du nur die richtigen Parameter übergeben und brauchst eig. nur einen Mutex zu erstellen. Stimmt denn auch deine Addresse? Lade den Client mal in Olly und schau dir an was gepatched wird. Die ReadMemory Zeile macht für mich keinen Sinn... Ist der Client gepackt oder warum prüfst du die bytes ab? Und warum machst du ne einfache if-Abfrage wenn dass Sinn ergeben soll müsste es schon eine while Schleife sein, die beendet wird sobald die Bedingung erfüllt ist. Dann prüft man das auch nicht mit einem String ab, sondern als Hex, eventuell musst du dann die Bytes umdrehen, ich weiß nicht genau wie das ausgegeben wird also anstatt 0x7547, dann 0x4775 oder du liest jedes Byte einzeln aus.
-
Du musst den string einfach richtig aufspalten.
zu 1.)
spalte doch den string einfach nochmal auf nochmal mit IndexOf("/") rausfinden an welcher stelle das Zeichen liegt und ab da alles hintendran löschen (string.remove).2.)
Dann kannst du auch mit Convert.ToInt32 konvertieren. -
um welche Sro Version handelt es sich (rsro, isro, csro,...)?
Ich denke das DllStructGetSize wird von Auto-IT für den Dll-Call benötigt. -
deinstallier doch Java, dann gehts auch nicht mehr
-
[cs]
byte[] myArr = new byte[1] { 0xEB };
WriteProcessMemory(myProcess, myBaseAddress, myArr, 1, out myBytesWrittenVar);
[/cs]
kann in VB.Net etwas abweichen (von der Array Initialisierung) -
s sollte nur ein Beispiel sein wie du IndexOf anwendest. Du bekommst doch diesen String (mit weitaus mehr drin) vom HTTPWebRequest zurückgegeben. Dann musst du halt den String durchsuchen.
-
-
[cs]
string s = "<span id=\"l1\" class=\"value\">8411/11800</span>";
s.IndexOf ("span id") //returned 8
[/cs]
Beispiel ende