Page 2 of 4 FirstFirst 1234 LastLast
Results 11 to 20 of 39

Thread: Making Bot

  1. #11
    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
    Sorry but you have asked a nonsense. You already have complete functions to write data into memory.
    oh i see . my bad.

    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)
    As you said , i cant find function for direct farming .. i found __PerformAction. it traces back when i pick - gather .. and i think i found Gather function ... but it doesnt not work ....

    Do you remember any hints or notes .

  2. #12
    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
    Long ago I've used attack for farming
    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;
    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. The Following 2 Users Say Thank You to Dwar For This Useful Post:


  4. #13
    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
    PW_Call : pointer;
    PW_Call := pointer($0045F920);
    What does it mean ?
    i write it to c++ . is it correct?
    Code:
    static DWORD WINAPI ASM_PICKORE(LPCVOID lpParam)
    {
    	DWORD *Param = (DWORD*)lpParam;
            DWORD itemID = *(Param + 0);
    	//DWORD valueSN = *(Param + 1);
    	
    	_asm {
          pushad
            mov   esi, GAME_BASE_ADDRESS
            mov   esi, dword ptr [esi]
            mov   esi, dword ptr [esi+0x1C]
            mov   esi, dword ptr [esi+0x20]
            push  0x00000000
            push  0x80000000
            push  itemID
            mov   ecx, esi
    	mov edx, ATTACK_ADD
    	call edx
            
          popad
    	}
        return 0;
    }
    Last edited by unfaceguy; 2011-06-08 at 09:16 AM.

  5. #14
    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
    Yeah, it should work. But don't forget, call address $0045F920 and offsets, e.g. [esi+0x20], isn't suitable for your client
    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

  6. #15
    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 . so what are these offsets?
    mov esi, dword ptr [esi+0x1C]
    mov esi, dword ptr [esi+0x20]
    PS : my bot can attack + pick items . thank you

  7. #16
    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
    oh . so what are these offsets?
    Just offsets for old russian client, your client has other values
    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. #17
    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
    Just offsets for old russian client, your client has other values
    no , i just want to know how to scan these offsets. im confusing ..
    Code:
          pushad
            mov   esi, GAME_BASE_ADDRESS
            mov   esi, dword ptr [esi]
            mov   esi, dword ptr [esi+0x1C]
            mov   esi, dword ptr [esi+0x20]
    i still dont know if these code above use for targeting object(?)
    Code:
            push  P1
            mov   ecx, esi
            call  PW_Call
          popad
    and this call "attack procedure " (?)

    Sorry for my less knowledge

  9. #18
    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
    If you want to scan (whatever it means dump memory at this location [[[BA] + 0x1C] + 0x20]. In CE just create a new pointer and then view associated memory region; in Olly the same. When you reached needed memory region, you can scan, analyze it an so on. Sorry, but I don't understand what you really want. If your aim is finding un-described values in some game structure, then I already show how it can be done
    Quote Originally Posted by unfaceguy View Post
    i still dont know if these code above use for targeting object(?)
    Check https://progamercity.net/pw-hacks/14...ot-source.html you will find injection code for basic actions
    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

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


  11. #19
    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
    Code:
          pushad
            mov   esi, GAME_BASE_ADDRESS
            mov   esi, dword ptr [esi]
            mov   esi, dword ptr [esi+0x1C]
            mov   esi, dword ptr [esi+0x20]
    oh my question is " what do these code above do? " -_____-'
    i dont know [[[BA] + 0x1C] + 0x20] = ? (

  12. #20
    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
    oh my question is " what do these code above do?
    This is a basics of ASM. Please learn language before starting any programming task. Shortly, esi store some value.

    Quote Originally Posted by unfaceguy View Post
    i dont know [[[BA] + 0x1C] + 0x20] = ?
    At least, you can read wiki

    Quote Originally Posted by wiki
    In computer science, an offset within an array or other data structure object is an integer indicating the distance (displacement) from the beginning of the object up until a given element or point, presumably within the same object. The concept of a distance is valid only if all elements of the object are the same size (typically given in bytes or words).

    For example, given an array of characters A, containing abcdef, one can say that the element containing the letter 'c' has an offset of 2 from the start of A.

    In computer engineering and low-level programming (such as assembly language), an offset usually denotes the number of address locations added to a base address in order to get to a specific absolute address. In this (original) meaning of offset, only the basic address unit, usually the 8-bit byte, is used to specify the offset's size. In this context an offset is sometimes called a relative address.
    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

Page 2 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
  •