Du solltest Strukturen benutzen, AddressOfFunctions hat nämlich ein Offset von 1Ch.
Mit direkten Offsets zu arbeiten ist sehr unleserlich und so gut wie gar nicht wartbar.
Außerdem braucht man kein mul, da man einfach das SIB-Byte für die Adressierung benutzen kann (sprich mov eax,[eax+ebx*4+55h]).
Und wenn du einen kleineren Teil eines Registers veränderst und im größeren dann das Ergebnis erwartest, musst du das Carry-Flag berücksichtigen.
Wenn deine Adresse z.B. 76EEF6A0h und der Wert an [ecx], den du auf ax addierst, gleich B00h ist, dann steht in eax 76EE01A0h statt 76EF01A0h.
Dafür gibt es eigentlich add with carry, aber da der höherwertige 16-byte Part der Register nicht ansprechbar ist, müsste man mit adc einen Umweg gehen oder z.B. jc mit add eax,10000h hinzufügen, deswegen ist es einfacher, wenn du direkt movzx benutzt, sodass du den Wert auf 4-Bytes vergrößerst und ihn auf das komplette eax-Register addierst.
Das mit den Variablen sieht halt eher unschön aus, außerdem sind Speicherzugriffe ziemlich langsam.
Wenn deine Adresse z.B. 76EEF6A0h und der Wert an [ecx], den du auf ax addierst, gleich B00h ist, dann steht in eax 76EE01A0h statt 76EF01A0h.
Dafür gibt es eigentlich add with carry, aber da der höherwertige 16-byte Part der Register nicht ansprechbar ist, müsste man mit adc einen Umweg gehen oder z.B. jc mit add eax,10000h hinzufügen, deswegen ist es einfacher, wenn du direkt movzx benutzt, sodass du den Wert auf 4-Bytes vergrößerst und ihn auf das komplette eax-Register addierst.
das ergibt natürlich sinn, hätte ich allerdings nicht dran gedacht
Quote:
Originally Posted by link
Das mit den Variablen sieht halt eher unschön aus, außerdem sind Speicherzugriffe ziemlich langsam.
da die func nur ein einziges mal zum start gecalled wird, macht das nichts... grundsätzlich setze ich auch auf register (natürlich wenn möglich ohne lokale variablen)
key+key=func 02/09/2012 - AutoIt - 5 Replies Wie schreibe ich das wenn ich beispielsweise ALT+F4 klicke das dann nix passiert anstatt das das programm ausgeht ?
#Help
Func nach der func ausführen problem 08/15/2011 - AutoIt - 6 Replies Hi,
ich hab hier mal nen code schnipel der nicht funktioniert..
Die error Erkennung...
if StringInStr($oWebTcp.body, "Du kannst nicht weitermachen...") Then
GUICtrlSetData($list1, "Login failed. Please fix"&" = "&$array&" ANR: ")
[Fragen zu] Gui Hide & Show / Admin Rights / Func in Func 12/12/2010 - AutoIt - 29 Replies Hi Leute,
wie ihr oben ja bereits lesen könnt habe ich ein paar Fragen.
1. Könnte mir jmd. eine Hotkeyset-Func schreiben, womit ich mit nur einer (!) Taste die GUI verstecken und wieder anzeigen lassen kann ?
2. Gibt es etwas, dass dem gescripteten Tool von selbst Adminrechte verschafft? Ich rede NICHT von RequireAdmin, da muss man ja Administrator des PCs sein.
€:
Kann "#requireadmin" rausgezögert werden ?!
Ich möchte, dass das passiert, aber erst, wenn ich einen Knopf gedrückt...
Func in IE.au3 10/15/2009 - AutoIt - 26 Replies Hallo,
mal eine Frage zur IE.au3
Ich möchte im gleichen Fenster eine andere Adresse aufrufen,
kann ich das hiermit machen ?
IENavigate(ByRef $o_object, $s_Url, $f_wait = 1)
dann hab ich da mal 2 weitere fragen zu.
Was genau kommt bei $o_object rein und was ist mit dem ByRef ?
Vielen Dank falls mir geholfen werden kann.
Need help Func 04/11/2009 - GW Bots - 12 Replies Hi all, I have a little issue with the bot I'm doin using the tt6 move to engine. I'm trying the make it scan in front of my charc on the minimap to check if enemies are present.
So here's the func:
;scan if enemy is in front of us
Func ScanEnemy1()
PixelSearch(86, 460, 173, 516, $MonsterColor_Red, 10)
If @error then
Sleep( 100 )
PixelSearch(86, 460, 173, 516, $MonsterColor_Red, 10)
if @error then return False
EndIf