HI,
geht das, dass AutoIT nach der texture ... in S4 league sucht und alles was dann kommt in etwas anderes umendert in 1 z.B ?
Also nicht so wie jetzt das man die adresse bracuuht sondern einfach
nach 1 suchen lassen
alles was er findet zu 2 ändern
Ja überleg doch mal, was AutoIT machen kann bzw. welche Befehle dieser Noob-Sprache zur verfügung stehen...
Was du willst ist das gleiche wie eine Memory Search Engine und ist mit AutoIT sicher nicht/kaum machbar. Selbst wenn man es über DLL Call oä. versucht wird es doch an der extrem langsamen VM Ware scheitern, selbst bei VB.Net ist es schwer das Teil flüssig laufen zu lassen, mit C++ ist es nicht anders, man muss eben überlegen wie man da ran geht
;==================================================================================
; Function: _MemoryScan($ah_Handle, $pattern [, $after[, $iv_addrStart, [$iv_addrEnd]]])
; Description: Finds the address of the first occurance of a pattern in a process.
; Parameter(s): $ah_Handle - An array containing the Dll handle and the handle
; of the open process as returned by _MemoryOpen().
; $pattern - The pattern you want to find. Provide the pattern
; as a String of hex values. You may use the '.' as wildcard.
; Any other character as '0123456789ABCDEFabcdef.' is ignored.
; Example: "55 8B .. 83"
; $after - (optional) Set to FALSE by default.
; If set to TRUE, the method will return the address
; after the pattern, else the method returns the address
; of the pattern itself.
; $iv_addrStart - (optional) Set to 0x00400000 by default.
; This is the address where the method begins to scan
; for the pattern. It must be in hex format (0x00000000).
; $iv_addrEnd - (optional) Set to 0X00FFFFFF by default.
; This is the address where the method stops to scan
; for the pattern. It must be in hex format (0x00000000).
; Requirement(s): None.
; Return Value(s): On Success - Returns the address of the first occurance of the pattern
; ($after = FALSE) or the address after the first occurance
; of the pattern ($after = TRUE). The address is in
; hexadecimal format.
; On Failure - Returns -1
; @Error - 0 = No error.
; 1 = Invalid $ah_Handle.
; 2 = Invalid $pattern.
; Author(s): Luzifer42
; Note(s): The default scan range will be completed in less than one second.
;==================================================================================
Func _MemoryScan($ah_Handle, $pattern, $after=false, $iv_addrStart=0x00400000, $iv_addrEnd=0X00FFFFFF, $step=51200)
If Not IsArray($ah_Handle) Then
SetError(1)
Return -1
EndIf
$pattern=StringRegExpReplace($pattern, "[^0123456789ABCDEFabcdef.]", "")
IF StringLen($pattern)=0 Then
SetError(2)
Return -2
EndIf
For $addr=$iv_addrStart To $iv_addrEnd Step $step-(StringLen($pattern)/2)
StringRegExp(_MemoryRead($addr, $ah_Handle, "byte[" & $step & "]"), $pattern, 1, 2)
If Not @Error Then
If $after Then
return StringFormat("0x%.8X", $addr+((@Extended-2)/2))
Else
return StringFormat("0x%.8X", $addr+((@Extended-StringLen($pattern)-2)/2))
EndIf
EndIf
Next
Return -3
EndFunc
über die Performance in AutoIt lässt sich streiten, fakt ist: Es ist ziemlich lahm.
Sagen wir es so. Wenn du es schaffst, das ein AutoIT Prog (mithilfe von Fremderzeugenissen, ohne geht es einfach nicht) in einen Prozess eindringt und nach der Value 1 sucht wäre das ja schonmal grandious. Das Teil würde aber sicher erstmal 3 Jahre suchen bis es dann alle Adressen hat (Ausgenommen es zerfrists dein Ram und dein PC crasht) und diese dann alle ändert was dank top VM Ware sicher nochmals 1 Jahr dauert.
Von daher würde ich es lassen. Und ne richtige Sprache brauchste auch nicht anfangen ;o
Klar geht das auch in Autoit, es ist nur so beschissen lahm, das es einen nicht weiter bringt.
Das ganze nennt sich Pattern search und ist zwar einfach zu implementieren, aber es zu konfigurieren (range, genauigkeit) will gelernt sein.
Außerdem gibt es meist viele Ergebnisse, wovon man nur eins ändern darf, da müsste es dann wie bei CE ein Next Scan geben, was aber bei nem Trainer sinnfrei ist.
Für Strings sollte das aber ganz gut möglich sein, ich könnte eine kleine Dll schreiben, die eine Suchfunktion bietet, die du dann per Autoit aufrufen könntest
edit:
ups grad die eingefügte lib von pinguin gesehen, da ist ja keine mehr von mir nötig.
Quote:
Sagen wir es so. Wenn du es schaffst, das ein AutoIT Prog (mithilfe von Fremderzeugenissen, ohne geht es einfach nicht) in einen Prozess eindringt und nach der Value 1 sucht wäre das ja schonmal grandious. Das Teil würde aber sicher erstmal 3 Jahre suchen bis es dann alle Adressen hat (Ausgenommen es zerfrists dein Ram und dein PC crasht) und diese dann alle ändert was dank top VM Ware sicher nochmals 1 Jahr dauert.
Von daher würde ich es lassen. Und ne richtige Sprache brauchste auch nicht anfangen ;o
Das ist doch völliger Blödsinn.
CE dringt auch nicht ein, sondern sucht von außen, auch wenn es natürlich im Prozess einen kleinen Ticken schneller ginge.
Autoit selbst wird von ner vom ausgeführt, aber Dlls, werden ganz normal vom Prozessor ausgeführt, das ist nicht lahm.
Klar geht das auch in Autoit, es ist nur so beschissen lahm, das es einen nicht weiter bringt.
Das ganze nennt sich Pattern search und ist zwar einfach zu implementieren, aber es zu konfigurieren (range, genauigkeit) will gelernt sein.
Außerdem gibt es meist viele Ergebnisse, wovon man nur eins ändern darf, da müsste es dann wie bei CE ein Next Scan geben, was aber bei nem Trainer sinnfrei ist.
Für Strings sollte das aber ganz gut möglich sein, ich könnte eine kleine Dll schreiben, die eine Suchfunktion bietet, die du dann per Autoit aufrufen könntest
edit:
ups grad die eingefügte lib von pinguin gesehen, da ist ja keine mehr von mir nötig.
Das ist doch völliger Blödsinn.
CE dringt auch nicht ein, sondern sucht von außen, auch wenn es natürlich im Prozess einen kleinen Ticken schneller ginge.
Autoit selbst wird von ner vom ausgeführt, aber Dlls, werden ganz normal vom Prozessor ausgeführt, das ist nicht lahm.
Wenn magst, darfste für mich ne MemorySearch DLL coden ;O
Klar geht das auch in Autoit, es ist nur so beschissen lahm, das es einen nicht weiter bringt.
Das ganze nennt sich Pattern search und ist zwar einfach zu implementieren, aber es zu konfigurieren (range, genauigkeit) will gelernt sein.
Außerdem gibt es meist viele Ergebnisse, wovon man nur eins ändern darf, da müsste es dann wie bei CE ein Next Scan geben, was aber bei nem Trainer sinnfrei ist.
Für Strings sollte das aber ganz gut möglich sein, ich könnte eine kleine Dll schreiben, die eine Suchfunktion bietet, die du dann per Autoit aufrufen könntest
edit:
ups grad die eingefügte lib von pinguin gesehen, da ist ja keine mehr von mir nötig.
Das ist doch völliger Blödsinn.
CE dringt auch nicht ein, sondern sucht von außen, auch wenn es natürlich im Prozess einen kleinen Ticken schneller ginge.
Autoit selbst wird von ner vom ausgeführt, aber Dlls, werden ganz normal vom Prozessor ausgeführt, das ist nicht lahm.
Ja und? Es geht darum, es mit AutoIT zu realisieren und es wäre mir neu das man solche Dll´s mit AutoIT coden kann... Wenn du es nur über AutoIT laufen lässt geht einfach nix voran, dass weist du genauso gut wie ich...
Klar geht das auch in Autoit, es ist nur so beschissen lahm, das es einen nicht weiter bringt.
Das ganze nennt sich Pattern search und ist zwar einfach zu implementieren, aber es zu konfigurieren (range, genauigkeit) will gelernt sein.
Außerdem geht es mit AutoIt o_O
Einfach jede Adresse nach der Value absuchen und ggf. in ein Array einfügen, wenn die Value passt.
Zeit ist ja egal.
Ergo:
Ja es geht.
Performancetechnisch jedoch ziemlich schlecht.
Ja und? Es geht darum, es mit AutoIT zu realisieren und es wäre mir neu das man solche Dll´s mit AutoIT coden kann... Wenn du es nur über AutoIT laufen lässt geht einfach nix voran, dass weist du genauso gut wie ich...
Du sagtest aber, dass es selbst mit DllCall lahm ginge, wenn ich mich Recht entsinne und das wäre einfach falsch.
Und auch in Autoit könnte man ein paar Tuning Möglichkeiten nutzen, um den Algorithmus zu optimieren.
Wenn man es so eng betrachtet, lässt sich fast gar nichts alleine in Autoit realisieren, weil für vieles irgendwelche DllCalls gemacht werden
Du sagtest aber, dass es selbst mit DllCall lahm ginge, wenn ich mich Recht entsinne und das wäre einfach falsch.
Und auch in Autoit könnte man ein paar Tuning Möglichkeiten nutzen, um den Algorithmus zu optimieren.
Wenn man es so eng betrachtet, lässt sich fast gar nichts alleine in Autoit realisieren, weil für vieles irgendwelche DllCalls gemacht werden
Ja das Stimmt. Wenn man sowieso in der Lage ist sich solche Dll´s zu machen, würde man gar nicht erst den Aufwand betreiben sowas über AutoIT zu benutzen^^
Naja, wie gesagt, ich könnte so eine Dll bereitstellen, wenn das genug wollen.
Aber auch wen Autoit lahm ist, man kann ja die Range auf eine gewisse Größe reduzieren, man muss ja nicht den ganzen Client durchsuchen.
Und Fichte hatte mal, als es noch möglich war, nen Adressfinder für die Dmg Adressen in Autoit geschrieben, der brauchte auch nur ein paar Sekunden und hat im ganzen Client gesucht.
Metin2 AutoIT wieder funzen lassen? 09/14/2010 - Metin2 - 8 Replies hay Leute,
viele von euch machen noch AutoIT bots für Metin2DE.
Bei mir funktionieren meine AutoIT skripts aber nicht auf Metin2DE
wie kriegt ihr das wieder zum laufen?
gibbet nen TuT dafür?
hab nen Jahr AutoIT erfahrung und möchte auch gern ein paar sachen Pup machen^^
plss antworten =)
D2NT nach ip suchen lassen? 06/01/2010 - Diablo 2 - 6 Replies kann man den bot eingentlich so einstellen, das er bei einer bestimmten ip in die er joint drin bleibt?
Values suchen? 05/22/2010 - S4 League - 24 Replies €: Ich meine natürlich Adressen (Cutspeed, etc.)
Hallo,
ich hätte da eine Frage und zwar:
Ich habe vor eigene Trainer zu basteln, einfach um diese dummen Leecher Status wegzubekommen^^
Der Nachteil dabei ist aber, dass ich nicht weiß, wie ich Adressen finden kann.
Ich möchte diese nicht einfach von anderen klauen, dass würde diesen nervigen Status auch nicht entfernen.
Nun hab ich auch gelesen, dass man ja mit Hotkeysuspend die CE öffnen kann und dann in S4 suchen kann. Nur ich kann ja...
[FRAGE] AutoIt Zeile suchen + ändern 02/06/2010 - AutoIt - 9 Replies Hi,
mal eine Frage, ich möchte nen Bot für Metin2 schreiben naja eigentlich ziemlich egal.
Dieser soll di metin2.cfg anpassen.
Jetzt möchte ich die beiden Zeilen:
WIDTH 1440
HEIGHT 838
Schleifen Paralel Laufen lassen (AutoIt) 06/06/2009 - AutoIt - 8 Replies hi wollte mal fragen ob man mit Autoit 2 oder mher schleifen paralel laufen lassen kann wenn aj wie???