Page 3 of 4 FirstFirst 1234 LastLast
Results 21 to 30 of 39

Thread: Making Bot

  1. #21
    unfaceguy
    unfaceguy is offline
    New member
    Join Date
    2011 Jun
    Posts
    26
    Thanks Thanks Given 
    13
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts
    Rep Power
    0
    hmm i will learn basic asm from now. but last thing i want to know :
    Code:
    //------------------------------------------------
    // Char simple attack
    // also for mining
    //------------------------------------------------
    {
    0045B213  |.  8B4C24 10     MOV ECX,DWORD PTR SS:[ARG.4]
    0045B217  |.  55            PUSH EBP                                 ; /Arg3
    0045B218  |.  51            PUSH ECX                                 ; |Arg2
    0045B219  |.  57            PUSH EDI                                 ; |Arg1
    0045B21A  |.  8BCE          MOV ECX,ESI                              ; |
    0045B21C  |.  E8 9F330000   CALL 0045E5C0                            ; \elementclient.0045E5C0
    }
    procedure Call_Attack(TargetID: PParams); stdcall;
    var
      P1      : dword;
      PW_Call : pointer;
      PW_BASE_ADDR : DWORD;
    begin
      P1 := TargetID^.pDword1 ;
      PW_Call := pointer($0045F920);
      PW_BASE_ADDR := $0098addc;
        asm
          pushad
            mov   esi, PW_BASE_ADDR
            mov   esi, dword ptr [esi]
            mov   esi, dword ptr [esi+$1C]
            mov   esi, dword ptr [esi+$20]
            push  $0
            push  $80000000
            push  P1
            mov   ecx, esi
            call  PW_Call
          popad
        end;
    end;
    This code will target monster and do simple attack right ?

    b/c if i attack monster , i will call function "Target Monster " first
    Code:
    static DWORD WINAPI ASM_TARGETMONSTER(LPCVOID lpParam)
    {                
    	DWORD *Param = (DWORD*) lpParam;
        DWORD value = *(Param+0);
    	_asm
    	{
    		mov eax, GAME_BASE_ADDRESS
    		mov eax, [eax]
    		push value
    		mov ecx, [eax+0x20]
    		add ecx, 0xEC
    		mov edx, 0x00606A70
    		call edx
    	}
    	return 0;
    }
    after that i call simple attack :

    Code:
    static DWORD WINAPI ASM_COMMONATTACK(LPCVOID lpParam)
    {
        __try
    		{
            _asm
    			{
    			pushad;
                mov eax,ATTACK_ADD;
    			call eax;
    			popad;
    			}
    		}
        __except(1)
        {
        }
        return 0;
    }

  2. #22
    Dwar
    Dwar is offline
    Veteran Dwar's Avatar
    Join Date
    2010 Mar
    Posts
    2,222
    Thanks Thanks Given 
    211
    Thanks Thanks Received 
    2,230
    Thanked in
    292 Posts
    Rep Power
    10
    Quote Originally Posted by unfaceguy View Post
    f i attack monster , i will call function "Target Monster " first, after that i call simple attack :
    Correct. Without "targeting" you are unable to attack, because you should "tell" server that "this" mob is your aim
    Please, post your questions on forum, not by PM or mail

    I spend my time, so please pay a little bit of your time to keep world in equilibrium

  3. #23
    unfaceguy
    unfaceguy is offline
    New member
    Join Date
    2011 Jun
    Posts
    26
    Thanks Thanks Given 
    13
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts
    Rep Power
    0
    oh sorry , please back to post : https://progamercity.net/pw-hacks/14...html#post10165
    i think you got me wrong . my question was "[[[BA] + 0x1C] + 0x20] = address of which? "


    thank you .

    ---------- Post added 2011-06-09 at 11:51 AM ---------- Previous post was 2011-06-08 at 06:41 PM ----------

    i need your help again -_- ..
    When i run to test it , it show "Error 487 0x01E7 Attempt to access an invalid address "
    i searched google about this error , but i cant fix it , so i think your exp can know what wrong s here .

    Function :
    Code:
    Public Shared Sub interactWith(ByVal ProcessID As Integer, ByVal objectId As Integer, ByVal interactionType As Integer, ByVal skillPointer As Integer)
    
            Dim ECXI, ECXI1, eax As Integer
    
    
            Dim hProcess As Integer = OpenProcess(PROCESS_ALL_ACCESS, False, ProcessID)
    
            If hProcess = 0 Then Return
            Try
    
                Dim actionStruct, actionList, interactWithAction As Integer
                ' Get Char Base :
                ReadProcessMemory(hProcess, &HA5B90C, ECXI1, 4, 0)
                ReadProcessMemory(hProcess, ECXI1 + &H1C, ECXI, 4, 0)
                ReadProcessMemory(hProcess, ECXI + &H8, eax, 4, 0)
    
    
    
                ReadProcessMemory(hProcess, eax + &HFF4, actionStruct, 4, 0)
                ReadProcessMemory(hProcess, actionStruct + &H30, actionList, 4, 0)
                ReadProcessMemory(hProcess, actionList + &H8, interactWithAction, 4, 0)
    
                MemWriteInt(hProcess, interactWithAction + &H8, 0)
                'action finished = 0
                MemWriteInt(hProcess, interactWithAction + &H14, 1)
                'Action start = 1
                MemWriteInt(hProcess, interactWithAction + &H24, 0)
                ' Action not start = 0
                MemWriteInt(hProcess, interactWithAction + &H20, objectId)
                ' Set object id to interact with
                MemWriteInt(hProcess, interactWithAction + &H38, 4)
                ' Set the type of interaction, 0 = regAtk, 1 = pick item, 2 = talk to NPC,3 = useSkill, 4 = gatherResources
                'WriteProcessMemory(hProcess, interactWithAction + off_player_actStruct_list_interact_error1, 0)
                ' Set error = 0
                'WriteProcessMemory(hProcess, interactWithAction + off_player_actStruct_list_interact_error2, 0)
                ' Set error = 0
                MemWriteInt(hProcess, interactWithAction + &H34, 0)
                MemWriteInt(hProcess, interactWithAction + &H4C, 0)
                ' Set skillPointer
                MemWriteInt(hProcess, interactWithAction + &H50, 0)
                ' Set new actionType
                MemWriteInt(hProcess, actionStruct + &HC, interactWithAction)
                ' Set new actionType
                MemWriteInt(hProcess, actionStruct + &H18, 1)
                ' Set next action position to 1
                MemWriteInt(hProcess, actionStruct + &H14, interactWithAction)
                ' Set new actionType
            Catch ex As Exception
                WriteLog(ex.ToString, "PickOre", "System")
    
            End Try
    
        End Sub
        Public Shared Sub MemWriteInt(ByVal processHandle As IntPtr, ByVal address As Integer, ByVal value As Integer)
            Dim success As Boolean
            Dim buffer As Byte() = BitConverter.GetBytes(value)
            Dim nBytesRead As UInt32 = 0
            Dim temp = New IntPtr(address)
    
    
            success = WriteProcessMemory(processHandle, address, buffer, 4, nBytesRead)
            If (success = False) Then
                MsgBox("WriteProcessMemory failed with error " & Marshal.GetLastWin32Error)
            End If
            'MsgBox(success)
        End Sub

  4. #24
    Dwar
    Dwar is offline
    Veteran Dwar's Avatar
    Join Date
    2010 Mar
    Posts
    2,222
    Thanks Thanks Given 
    211
    Thanks Thanks Received 
    2,230
    Thanked in
    292 Posts
    Rep Power
    10
    Before asking, trace your code step-by-step to find exception
    Please, post your questions on forum, not by PM or mail

    I spend my time, so please pay a little bit of your time to keep world in equilibrium

  5. #25
    unfaceguy
    unfaceguy is offline
    New member
    Join Date
    2011 Jun
    Posts
    26
    Thanks Thanks Given 
    13
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts
    Rep Power
    0
    fixed it .my bot is working now
    thank you

  6. #26
    unfaceguy
    unfaceguy is offline
    New member
    Join Date
    2011 Jun
    Posts
    26
    Thanks Thanks Given 
    13
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts
    Rep Power
    0
    hi you again,Can you share me your scanner ?

    thank you.

  7. #27
    Dwar
    Dwar is offline
    Veteran Dwar's Avatar
    Join Date
    2010 Mar
    Posts
    2,222
    Thanks Thanks Given 
    211
    Thanks Thanks Received 
    2,230
    Thanked in
    292 Posts
    Rep Power
    10
    Quote Originally Posted by unfaceguy View Post
    Can you share me your scanner ?
    I want to rewrite it and share normal version with a community. I can't release the current version, 'coz it even has a draft gui and some functions are unstable
    Please, post your questions on forum, not by PM or mail

    I spend my time, so please pay a little bit of your time to keep world in equilibrium

  8. The Following User Says Thank You to Dwar For This Useful Post:


  9. #28
    unfaceguy
    unfaceguy is offline
    New member
    Join Date
    2011 Jun
    Posts
    26
    Thanks Thanks Given 
    13
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts
    Rep Power
    0
    oh nice

    this is my basic bot for my PW vn

  10. #29
    Dwar
    Dwar is offline
    Veteran Dwar's Avatar
    Join Date
    2010 Mar
    Posts
    2,222
    Thanks Thanks Given 
    211
    Thanks Thanks Received 
    2,230
    Thanked in
    292 Posts
    Rep Power
    10
    Good work. As I saw it also loots "all" loot it's nice, and also your bot runs smoothly. Now you can open your own thread for VN PW bot and collect "thanks/reputation"
    Please, post your questions on forum, not by PM or mail

    I spend my time, so please pay a little bit of your time to keep world in equilibrium

  11. #30
    unfaceguy
    unfaceguy is offline
    New member
    Join Date
    2011 Jun
    Posts
    26
    Thanks Thanks Given 
    13
    Thanks Thanks Received 
    0
    Thanked in
    0 Posts
    Rep Power
    0
    Quote Originally Posted by Dwar View Post
    Now PW client in the past for me so I can't point to exact offsets or give exact BA value etc., but I can help with basic concepts.
    At the beginning, try to find all "specific" commands, e.g.: mov ecx, GAME_BASE_ADDRESS or add ecx, 0xEC



    Then put BP on each result.



    Start game; wipe out unnecessary BP (walk, jump etc)
    Do something, something which function you want to find (e.g. attack)
    Probably, necessary BP will fire or point you to routine which take part in your game action (attack). So, trace this routine and examine results

    About second. As I remember, PW has no function call for direct farming. You should use... hm... I forgot (if I find my old debug list and notes, I will post some additional notes)
    for Jade Dynasty, what are "specific" commands .. i searched "mov ecx, GAME_BASE_ADDRESS or add ecx, 0xEC" but it didnt find anything ...

    thanks

Page 3 of 4 FirstFirst 1234 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •