Tratsch rund um Autoit / Autoit Talk | kleinere Fragen

05/02/2013 10:12 enell21#1171
hmm das doof dort wird alles eig. ganz gut erklärt nur das tutorial is ziemlich alt und CE hat sich schon etwas verändert.
05/02/2013 10:14 Dr.Toni#1172
Da das Tutorial schon älter ist könnte das der Grund sein ;)
05/02/2013 11:25 -STORM-#1173
Der Link wird automatisch zensiert, daher vermute ich, das andere Forum wird hier als Konkurrenz gesehen.
Jedenfalls ist es kein Problem, mit ein bisschen googeln den kompletten Link zu finden.

Ich habe dein Problem jetzt so verstanden:
Du bist im CE Tutorial bis zu Step 6 gekommen und hast bis da alles verstanden.
Du hast in Step 6 die korrekte Adresse gefunden (und zwar genau eine).
Du hast für diese Adresse den Pointer Scan ausgeführt und bekommst ne riesen Menge an Ergebnissen.

Soweit alles richtig?

Erstmal ist Pointer Scan nicht der Weg, der im CE Tutorial Step 6 beschrieben wird (falls du einigermaßen Englisch kannst, lies es halt mal durch).
Trotzdem kann man es natürlich auch so lösen.

Das erste, was mir einfällt, ist, mal die "Pointerscanner scanoptions" (das Fenster erscheint direkt wenn du auf "Pointer scan for this address" klickst) mit denen auf dem Bild im Tutorial zu vergleichen. Insbesondere "Size of structure" (die maximale Größe der Offsets) sollte 1024 sein, und "Max level" (die maximale Anzahl der Offsets) sollte 1 sein. Später müssen natürlich je nach Zweck diese Einstellungen angepasst werden.
Bei aktuellen Versionen von CE sieht das Fenster etwas anders aus, aber Size of structure und Max level gibt es definitiv.

Falls du trotzdem mehrere Pointer findest, dann kannst du die große Stärke des Pointer Scanners ausspielen, nach veränderten Adressen zu suchen. Du klickst also im Tutorial auf "Change pointer" und anschließend auch auf "Change value" und findest die neue Adresse, so wie du vorher die alte gefunden hast.
Anschließend wählst du im Pointer Scanner "Rescan memory" und gibst die neue Adresse an.
Das sollte die Anzahl der Pointer deutlich reduzieren. Falls es immer noch mehr als einer sind, wiederhol den Vorgang ein paar mal.
Praktisch kommt es auch vor, dass ein Wert mehrere Pointer hat, im Tutorial ist das aber nicht der Fall.
05/02/2013 12:45 enell21#1174
riesen dank an dich STORM.

Edit: das prob is ich finde immer genau 4 adressen x,x?
hast vllt auch dafür eine tolle lösung? :S

Edit2 : Habs :D danke für deine tolle hilfe :)
05/03/2013 16:16 Achat#1175
Code:
$hTimer=TimerInit()
$hFile=FileOpen(@ScriptDir&'\o.txt',1)
for $i = 0 to 1024*1024
	FileWrite($hFile,0)
Next
FileClose($hFile)
MsgBox(0,0,TimerDiff($hTimer))
Ich möchte freien Speicherplatz überschreiben.
Schnell. 1 MB in 4 sec ist zu langsam, gibt es da schnellere Alternativen?

MfG
05/03/2013 16:43 Lawliet#1176
Such mal nach "autoit create files fast", dann findest du die lösung über memory mapped files ;)
05/04/2013 09:06 rona10#1177
Quote:
#RequireAdmin
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Icon=..\..\..\Program Files (x86)\alaplaya\S4League\S4League.ico
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#cs ----------------------------------------------------------------------------

AutoIt Version: 3.3.8.1
Author: NoName

Script Function:
Just a little S4 League Testhack

#ce ----------------------------------------------------------------------------

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <NomadMemory.au3>
#RequireAdmin
#region ### START Koda GUI section ### form=
$Form1 = GUICreate("Weapon +10%", 213,129 ,192 ,124)
$Checkbox1 = GUICtrlCreateCheckbox("Weapon +10%", 56, 40, 97, 17)
$Button1 = GUICtrlCreateButton("Go", 64, 72, 75, 25)
GUISetState(@SW_SHOW)
#endregion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
Hack()
EndSwitch
WEnd

Func Hack()
ToolTip("Warte auf S4 League..",0,0)
$PID = ProcessExists("S4Client.exe")
ProcessWait($PID)
$OPEN = _MemoryOpen($PID)
If GUICtrlRead ($Checkbox1) = 1 Then
_MemoryWrite (0x4D765281,$OPEN,"1299600006","byte[4]")
EndIf
EndFunc
Kann mir jemand helfen? ._.
Ist das erste mal das ich mit AutoIT "arbeite".
Es ist einfach nur mal zum probieren. ._.
05/04/2013 12:37 Kiinasu#1178
Hey,

gibt iwie ne gute fertige funktion, um email adressen bei "größeren" email anbietern zu erstellen? Also, das ich ne funktion aufrufen kann und er mir nen account erstellt, vll die daten in ne txt datei logt und ich die mail adresse benutzen kann. Halt am besten für einen email anbieter, der nicht überall direkt blockiert wird (so spammail zeug bringt mir halt leider nichts). Macht auch nichts, wenn ich immer nen captcha eingeben muss, hauptsache ich kann damit relativ gut emails erstellen und in mein script einfügen.
05/04/2013 12:54 Dr.Toni#1179
HttpWebRequest ;)
05/04/2013 15:48 Achat#1180
Quote:
Originally Posted by Lawliet! View Post
Such mal nach "autoit create files fast", dann findest du die lösung über memory mapped files ;)
Code:
If Not FileExists(@ScriptDir & '\o.txt') Then
	$hFile = FileOpen(@ScriptDir & '\o.txt', 1)
	For $i = 1 To 1024 * 1024
		FileWrite($hFile, 0)
	Next
	FileClose($hFile)
EndIf
$hTimer = TimerInit()
For $i = 1 To 1000
	FileCopy(@ScriptDir & '\o.txt', @TempDir & '\o' & $i & '.txt', 1)
Next
MsgBox(0, 0, Round(TimerDiff($hTimer)/1000,2))
20sec / 1000 MB sind mir schnell genug :)

MfG
05/04/2013 22:50 Croco™#1181
Kleine Frage:
Ich habe folgenden Code:
Quote:
Func Test()
EndFunc

ZweiteFunktion($Parameter1,$Parameter2)
Wie kann ich mit StringRegExp alle Funktionen auslesen die nicht mit einem "Func " anfangen ?
Bis jetzt gibt er mir mit folgendem alle Funktionsnamen aus:
Quote:
\w+\(.*\)
05/04/2013 23:07 Achat#1182
Um was geht es genau?
Willst du einen Obfuscator schreiben?

MfG
05/04/2013 23:18 Croco™#1183
Jep für ein anstehendes Projekt brauch ich einen Neuen.
Mein Problem ist nur das ich keine Ahnung habe wie ich mit StringRegExp angeben kann das etwas nicht da sein darf ;)

Sieht doch schonmal ganz gut aus, aber es könnte besser werden:
05/06/2013 14:59 Achat#1184
Quote:
Originally Posted by Croco™ View Post
Jep für ein anstehendes Projekt brauch ich einen Neuen.
Mein Problem ist nur das ich keine Ahnung habe wie ich mit StringRegExp angeben kann das etwas nicht da sein darf ;)

Sieht doch schonmal ganz gut aus, aber es könnte besser werden:
Sieht doch schonmal ganz gut aus, ...

Zu RegExp: Wenn du willst, dass etwas nicht vorkommt, kannst du
Code:
[^[B]zeichen[/B]]
verwenden
Code:
[^\d]
findet z.B. alles, außer Zahlen.
Wie man Ausdrücke ausschließt, habe ich noch nicht herausgefunden.
[Only registered and activated users can see links. Click Here To Register...] <.< [Only registered and activated users can see links. Click Here To Register...]

MfG
05/07/2013 17:08 Kiinasu#1185
Warum geht zwar (also für 5 kann ich jeden wert einsetzen von 1-30:
Quote:
_FFFormOptionSelect("date", "id", 5, "value")
aber
Quote:
_FFFormOptionSelect("date", "id", Random(1, 30), "value")
geht nicht