Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 00:04

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Warum wird der Pointer nicht verändert?

Discussion on Warum wird der Pointer nicht verändert? within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1

 
EasyFarm's Avatar
 
elite*gold: 281
Join Date: May 2011
Posts: 1,552
Received Thanks: 946
Question Warum wird der Pointer nicht verändert?

Hi..

Ich habe ein Problem.
Ich habe sämtliche Autoitcodes probiert, leider geht keiner.
Ich glaube ich mache was mit dem Pointer Falsch...

Hier mein Autoitcode:

PHP Code:
#RequireAdmin
#include <Pointer.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

$Form1 GUICreate("Beispielhack 1.3"38938192124)
$Input1 GUICtrlCreateInput(""8824121)
$Button1 GUICtrlCreateButton("On"25685717$WS_GROUP)
$Button2 GUICtrlCreateButton("Off"32085717$WS_GROUP)
GUISetState(@SW_SHOW)

Dim $Speedhack[3] = [00x4200x66A]
$Base 0x002ED9B0
$Handle 
_MemoryOpen(ProcessExists("metin2.bin"))

While 
1
$nMsg 
GUIGetMsg()
    Switch 
$nMsg
        
Case $GUI_EVENT_CLOSE
            
Exit
        Case 
$Button1
            _MemoryPointerWrite
($Base$Handle$Speedhack,GuiCtrlRead($Input1))
        Case 
$Button2
            _MemoryPointerWrite
($Base$Handle$Speedhack,16230)
    EndSwitch
Wend 
So sieht es bei Cheat Engine aus:


Ich hoffe jemand erkennt meinen Fehler..
Der Pointer geht 100%.

Danke.
Mfg. EasyFarm


Edit:
Mein Problem ist natürlich, dass sich die Value nicht ändert ^^
EasyFarm is offline  
Old 11/05/2012, 21:29   #2
 
Logtetsch's Avatar
 
elite*gold: 192
Join Date: May 2009
Posts: 2,227
Received Thanks: 3,262
Hab gerade mal kurz drüber geschaut und ein paar Dinge verändert.
Bin etwas müde von der Arbeit, deshalb will ich auch nicht genauer auf die einzelnen Punkte eingehen. Schau es dir einfach mal an und frag, wenn du was nicht verstehen solltest.

Logtetsch is offline  
Thanks
1 User
Old 11/05/2012, 22:24   #3

 
EasyFarm's Avatar
 
elite*gold: 281
Join Date: May 2011
Posts: 1,552
Received Thanks: 946
Thx erstmal.
Leider ändert sich die Value wieder nicht.
Wie kann ich das für 4 Bytes mal machen?
In Cheat Engine ist es auf 4 Bytes, aber mit 2 gehts auch.

Mfg. EasyFarm
EasyFarm is offline  
Old 11/05/2012, 22:46   #4

 
elite*gold: 64
Join Date: May 2011
Posts: 1,229
Received Thanks: 854
Also ich würde es so machen:

PHP Code:
#RequireAdmin 
#include <Pointer.au3> 
#include <ButtonConstants.au3> 
#include <EditConstants.au3> 
#include <GUIConstantsEx.au3> 
#include <WindowsConstants.au3> 

$Form1 GUICreate("Beispielhack 1.3"38938192124
$Input1 GUICtrlCreateInput(""8824121,$ES_NUMBER
$Button1 GUICtrlCreateButton("On"25685717$WS_GROUP
$Button2 GUICtrlCreateButton("Off"32085717$WS_GROUP
GUISetState(@SW_SHOW

$Base 0x002ED9B0 
$Process 
ProcessExists("metin2.bin")
$Handle _MemoryOpen($Process
$GetModule _MemoryModuleGetBaseAddress($Process "metin2.bin")
$Read $GetModule $Base

While 
$Read 
_MemoryRead($Read $Handle) + 0x420
$Read 
_MemoryRead($Read $Handle) + 0x66A
$nMsg 
GUIGetMsg() 
    Switch 
$nMsg 
        
Case $GUI_EVENT_CLOSE 
            
Exit 
        Case 
$Button1 
            _MemoryWrite
($Read $Handle GUICtrlRead($Input1))
        Case 
$Button2 
            _MemoryWrite
($Read $Handle "WERT")
    EndSwitch 
Wend 
Nicht getestet.

Hier ist der Befehl der glaub ich nicht in der Pointer.au3 steht.
Aber irgendwo in google( nicht von mir ):
PHP Code:
Func _MemoryModuleGetBaseAddress($iPID$sModule)
    If 
Not ProcessExists($iPIDThen Return SetError(100)

    If 
Not IsString($sModuleThen Return SetError(200)

    
Local   $PSAPI DllOpen("psapi.dll")

    ;
Get Process Handle
    Local   $hProcess
    Local   $PERMISSION 
BitOR(0x00020x04000x00080x00100x0020) ; CREATE_THREADQUERY_INFORMATIONVM_OPERATIONVM_READVM_WRITE

    
If $iPID 0 Then
        Local $hProcess 
DllCall("kernel32.dll""ptr""OpenProcess""dword"$PERMISSION"int"0"dword"$iPID)
        If 
$hProcess[0Then
            $hProcess 
$hProcess[0]
        EndIf
    EndIf

    ;
EnumProcessModules
    Local   $Modules 
DllStructCreate("ptr[1024]")
    
Local   $aCall DllCall($PSAPI"int""EnumProcessModules""ptr"$hProcess"ptr"DllStructGetPtr($Modules), "dword"DllStructGetSize($Modules), "dword*"0)
    If 
$aCall[4] > 0 Then
        Local   $iModnum 
$aCall[4] / 4
        Local   $aTemp
        
For $i 1 To $iModnum
            $aTemp 
=  DllCall($PSAPI"dword""GetModuleBaseNameW""ptr"$hProcess"ptr"Ptr(DllStructGetData($Modules1$i)), "wstr""""dword"260)
            If 
$aTemp[3] = $sModule Then
                DllClose
($PSAPI)
                Return 
Ptr(DllStructGetData($Modules1$i))
            EndIf
        
Next
    
EndIf

    
DllClose($PSAPI)
    Return 
SetError(-100)

EndFunc 
BladeTiger12 is offline  
Old 11/05/2012, 23:15   #5
 
Logtetsch's Avatar
 
elite*gold: 192
Join Date: May 2009
Posts: 2,227
Received Thanks: 3,262
Tut mir leid. Mir ist auf deinem Bild garnicht aufgefallen, dass man die Baseaddresse erst herausfinden muss.

Das, was BladeTiger12 zeigt, wäre eine Option, die aber suboptimal ist.
Außerdem viel zu aufwendig.
Die bessere und effizientere Methode ist ebenfalls recht einfach. Du kopierst den Text, der auf deinem Bild zu sehen ist ("Metin2.bin+002ED9B0") und drückst anschließend auf den button "Add address manually". Nun öffnet sich ein kleines Pop-Up-Fenster. In das erste input Feld, das für die Adresse zuständig ist, fügst du den kopierten Text ein und bestätigst das ganze einfach mit "OK". Nun befindet sich unten in der listview eine neue Zeile mit einer neuen Adresse und den dazugehörigen Werten (Description, Address, Type, Value). Die gesuchte Baseadresse befindet sich in dem Kategoriefeld "Address". Diese kannst du ganz simple in dein Script importieren.
Logtetsch is offline  
Old 11/05/2012, 23:23   #6

 
elite*gold: 64
Join Date: May 2011
Posts: 1,229
Received Thanks: 854
Naja ob man das jetzt so macht oder wie ich es gemacht habe
kommt am schluss doch immer die gleiche raus.
Und warum erst mit Cheat Engine das machen.
Wenn man die Base Address auch so bekommt.
Und verändert kann man das ganze ja auch gleich.
BladeTiger12 is offline  
Old 11/05/2012, 23:25   #7

 
EasyFarm's Avatar
 
elite*gold: 281
Join Date: May 2011
Posts: 1,552
Received Thanks: 946
Quote:
Originally Posted by Logtetsch View Post
Tut mir leid. Mir ist auf deinem Bild garnicht aufgefallen, dass man die Baseaddresse erst herausfinden muss.

Das, was BladeTiger12 zeigt, wäre eine Option, die aber suboptimal ist.
Außerdem viel zu aufwendig.
Die bessere und effizientere Methode ist ebenfalls recht einfach. Du kopierst den Text, der auf deinem Bild zu sehen ist ("Metin2.bin+002ED9B0") und drückst anschließend auf den button "Add address manually". Nun öffnet sich ein kleines Pop-Up-Fenster. In das erste input Feld, das für die Adresse zuständig ist, fügst du den kopierten Text ein und bestätigst das ganze einfach mit "OK". Nun befindet sich unten in der listview eine neue Zeile mit einer neuen Adresse und den dazugehörigen Werten (Description, Address, Type, Value). Die gesuchte Baseadresse befindet sich in dem Kategoriefeld "Address". Diese kannst du ganz simple in dein Script importieren.
Danke.
Hab ich gemacht.
Leider kommt da jetzt eine ganz andere Value bei raus.
Mfg. Easy
EasyFarm is offline  
Old 11/05/2012, 23:36   #8

 
elite*gold: 64
Join Date: May 2011
Posts: 1,229
Received Thanks: 854
Hmm.
Komm mal in Skype und da kann ich dir besser helfen.
Und das da eine andere value raus kommt ist ja klar.
Da es keine Offsets hat wenn du es nur Addest.
Und du sollst ja auch nur wie er gesagt hat die Adresse rauskopieren
und sie in Autoit einfügen.
BladeTiger12 is offline  
Reply


Similar Threads Similar Threads
Metin2 Rüssi verändert wird nicht angezeigt
08/17/2012 - Metin2 Private Server - 2 Replies
Heyho Ich hab ein kleines problem ich habe die lvl 1 rüssi vom krieger umgeändert. Aber leider seh ich das nicht ingame es ist richtig eingefügt habe alles richtig wieder zusammen gepackt ich weiß nicht woran es liegt. Screens: http://img411.imageshack.us/img411/9239/unbenannt 2mb.th.png http://img825.imageshack.us/img825/5690/unbenannt umi.th.png
Warum wird meine Signatur nicht angezeigt?
07/19/2012 - Off Topic - 2 Replies
Ah hab schon Danke ;) #close
[PHP] Warum wird das Bild nicht gepspeichert
04/06/2012 - Web Development - 3 Replies
Abend. Ich bin am verzweifeln, irgendwas simmt da nicht. Alle Dateinen haben CHMOD 777 Rechte. <?php $bilder = array( 'bild1.png', 'bild2.png' );
Warum wird das Bild nicht animniert ?
08/30/2011 - General Art - 13 Replies
Einen schönen guten Morgen ElitePvpers, ich habe mich heute morgen mal an eine ANimation rangemacht, sie besteht aus 4 Bildern und es soll Regen dargestellt werden, nur leider wenn ich sie als .gif abspeichere und im Browser öffne, sehe ich nur ein normales Bild ohne Animationen. Und wenn wir gerade bei diesem Thema sind, aus wievielen Bildern kann eine Animation maximal bestehen ?
Fehler?!Warum Wird es nicht angezeigt?!
12/16/2010 - WarRock - 4 Replies
Guten Abend Ich habe mal eine kleine Frage? Findet ihr den Fehler? Sreen:http://img687.imageshack.us/img687/3786/feh leryu.png Wenn nicht dann habe ich eine Frage :Warum wir bei mir oben rechts die kleine karte nicht angezeigt?



All times are GMT +1. The time now is 00:05.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.