Register for your free account! | Forgot your password?

You last visited: Today at 07:23

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

Advertisement



Changes for GW Update May, 1.

Discussion on Changes for GW Update May, 1. within the GW Exploits, Hacks, Bots, Tools & Macros forum part of the Guild Wars category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: May 2014
Posts: 269
Received Thanks: 320
Changes for GW Update May, 1.

All Changes i know of from GW-Update May, 1.

Code:
1. Header

Global $Header__mMax_mSetAttributes               = 0x10
Global $Header__AbandonQuest                      = 0x12
Global $Header__SetHeroAggression                 = 0x17
Global $Header__LockHeroTarget                    = 0x18
Global $Header__ChangeHeroSkillSlotState          = 0x1C
Global $Header__CommandHero                       = 0x1E
Global $Header__CommandAll                        = 0x1F

Global $Header__AddHero                           = 0x23
Global $Header__KickHero                          = 0x24
Global $Header__CallTarget                        = 0x28
Global $Header__Attack                            = 0x2C
Global $Header__CancelAction                      = 0x2E
Global $Header__DropBuff                          = 0x2F

Global $Header__DropItem                          = 0x32
Global $Header__DropGold                          = 0x35
Global $Header__EquipItem                         = 0x36
Global $Header__GoPlayer                          = 0x39
Global $Header__DonateFaction                     = 0x3B
Global $Header__GoNPC                             = 0x3F

Global $Header__Dialog                            = 0x41
Global $Header__PickUpItem                        = 0x45
Global $Header__ChangeSecondProfession            = 0x47

Global $Header__GoSignpost                        = 0x57
Global $Header__OpenChest                         = 0x59
Global $Header__SetDisplayedTitle                 = 0x5E
Global $Header__ClearDisplayedTitle               = 0x5F

Global $Header__SetSkillbarSkill                  = 0x62
Global $Header__LoadSkillBar                      = 0x63
Global $Header__SkipCinematic                     = 0x69
Global $Header__mSendChat                         = 0x6A

Global $Header__IdentifyItem                      = 0x72
Global $Header__MoveItem                          = 0x78
Global $Header__AcceptAllItems                    = 0x79

Global $Header__SalvageMaterials                  = 0x80
Global $Header__SalvageMod                        = 0x81
Global $Header__ChangeGold                        = 0x82
Global $Header__UseItem                           = 0x84

Global $Header__SwitchMode                        = 0xA2
Global $Header__AddNpc                            = 0xA6
Global $Header__LeaveGroup                        = 0xA9
Global $Header__EnterChallenge                    = 0xAC
Global $Header__ReturnToOutpost                   = 0xAE
Global $Header__KickNpc                           = 0xAF

Global $Header__TravelGH                          = 0xB7
Global $Header__MoveMap                           = 0xB8
Global $Header__LeaveGH                           = 0xB9



2. PerformAction

Flag 0x18 -> 0x1E
Flag 0x1A -> 0x20



3. Pattern & Offsets

$mLoggedIn = MemoryRead(GetScannedAddress('ScanLoggedIn', -3)) -0x198
$mZoomStill = GetScannedAddress("ScanZoomStill", 0x33)
$mZoomMoving = GetScannedAddress("ScanZoomMoving", 0x21)

_('ScanSkillCancelLog:')
AddPattern('741D6A006A48')
_('ScanZoomStill:')
AddPattern('558BEC8B41085685C0')
_('ScanZoomMoving:')
AddPattern('EB358B4304')



4. Function

Func SendChat($aMessage, $aChannel = '!')
	Local $lMessage
	Local $lAddress = 256 * $mQueueCounter + $mQueueBase

	If $mQueueCounter = $mQueueSize Then
		$mQueueCounter = 0
	Else
		$mQueueCounter = $mQueueCounter + 1
	EndIf

	If StringLen($aMessage) > 120 Then
		$lMessage = StringLeft($aMessage, 120)
	Else
		$lMessage = $aMessage
	EndIf

	MemoryWrite($lAddress + 12, $aChannel & $lMessage, 'wchar[122]')
	DllCall($mKernelHandle, 'int', 'WriteProcessMemory', 'int', $mGWProcHandle, 'int', $lAddress, 'ptr', $mSendChatPtr, 'int', 8, 'int', '')

	If StringLen($aMessage) > 120 Then SendChat(StringTrimLeft($aMessage, 120), $aChannel)
EndFunc   ;==>SendChat

Func GetLoggedIn()
	Return MemoryRead($mLoggedIn) > 0 ? 1 : 0
EndFunc   ;==>GetLoggedIn



5. Assembly

Func CreateSkillCancelLog()
	_('SkillCancelLogProc:')
	_('pushad')

	_('mov eax,dword[SkillLogCounter]')
	_('push eax')
	_('shl eax,4')
	_('add eax,SkillLogBase')

	_('mov ecx,dword[edi]')
	_('mov dword[eax],ecx')
	_('mov ecx,dword[ecx*4+TargetLogBase]')
	_('mov dword[eax+4],ecx')
	_('mov ecx,dword[edi+4]')
	_('mov dword[eax+8],ecx')

	_('push 2')
	_('push eax')
	_('push CallbackEvent')
	_('push dword[CallbackHandle]')
	_('call dword[PostMessage]')

	_('pop eax')
	_('inc eax')
	_('cmp eax,SkillLogSize')
	_('jnz SkillCancelLogSkipReset')
	_('xor eax,eax')
	_('SkillCancelLogSkipReset:')
	_('mov dword[SkillLogCounter],eax')

	_('popad')
	_('push 0')
	_('push 48')				; Incremented from 42
	_('mov ecx,esi')
	_('ljmp SkillCancelLogReturn')
EndFunc   ;==>CreateSkillCancelLog

	Within CreateCommands():
	_('CommandSellItem:')
	_('push 0')
	_('push 0')
	_('push 0')
	_('push dword[eax+4]')
	_('push 0')
	_('add eax,8')
	_('push eax')
	_('push 1')
	_('mov ecx,b')
	_('mov ebx,1')				; Added
	_('xor edx,edx')
	_('call SellItemFunction')
	_('ljmp CommandReturn')
Enjoy!
DerMoench14 is offline  
Thanks
16 Users
Old 05/19/2019, 19:56   #2
 
oneshout's Avatar
 
elite*gold: 0
Join Date: Dec 2017
Posts: 385
Received Thanks: 294
Quote:
Originally Posted by DerMoench14 View Post
All Changes i know of from GW-Update May, 1.

Tks for the help, always much appreciated
oneshout is offline  
Old 05/19/2019, 22:02   #3
 
elite*gold: 0
Join Date: Apr 2018
Posts: 48
Received Thanks: 17
Thank you very much
Is there a list of broken functions? so at least we know what can crash gw?

thnks again!
OneStrangeGuy is offline  
Old 05/20/2019, 12:14   #4
 
elite*gold: 0
Join Date: Dec 2017
Posts: 64
Received Thanks: 2
Can you fix?

Code:
	
        $ltemp = GetScannedAddress("ScanDialogLog", 15)
	SetValue("DialogLogStart", "0x" & Hex($ltemp, 8))
	SetValue("DialogLogReturn", "0x" & Hex($ltemp + 8, 8))

        $mLastDialogID = GetValue('LastDialogID')

        ('ScanDialogLog:')
	AddPattern('8977045F5E5B8BE55DC208')
	

        _('LastDialogSender/4')
	_('LastDialogButtonsSize/4')
	_('LastDialogButtons/256')
	_('LastDialogID/4')

        WriteDetour('DialogLogStart', 'DialogLogProc')

        Func CreateDialogHook()
	  _('DialogLogProc:')
	  _('push ebp')
	  _('mov ebp,esp')
	  _('mov eax,dword[ebp+8]')
	  _('mov dword[LastDialogID],eax')
	  _('mov eax,dword[ecx+8]')
	  _('mov dword[LastDialogButtonsSize],0')
	  _('test al,1')
	  _('ljmp DialogLogReturn')
        EndFunc

        Func GetLastDialogID()
	   Return MemoryRead($mLastDialogID)
        EndFunc
Stary Pen' is offline  
Old 05/20/2019, 22:28   #5
 
elite*gold: 0
Join Date: May 2014
Posts: 269
Received Thanks: 320
Enjoy!
Code:
$lTemp = GetScannedAddress('ScanDialogLog', -0x27)
SetValue('DialogLogStart', '0x' & Hex($lTemp, 8))
SetValue('DialogLogReturn', '0x' & Hex($lTemp + 9, 8))


_('ScanDialogLog:')
AddPattern('558BEC83EC285356578BF28BD9')


Within Func CreateDialogHook():

_('DialogLogProc:')
_('push ecx')
_('mov ecx,esi')
_('mov dword[LastDialogID],ecx')
_('pop ecx')
_('mov dword[LastDialogButtonsSize],0')
_('mov eax,[eax+2C]')
_('mov eax,[eax+680]')
_('ljmp DialogLogReturn')


Within Func _($aASM):

Case $aASM = 'mov eax,[eax+2C]'
	$lOpCode = '8B402C'
Case $aASM = 'mov eax,[eax+680]'
	$lOpCode = '8B8080060000'
Quote:
Originally Posted by OneStrangeGuy View Post
Thank you very much
Is there a list of broken functions? so at least we know what can crash gw?

thnks again!
I don't really use GWA2 / gwAPI ... so i don't know.
DerMoench14 is offline  
Thanks
1 User
Old 05/21/2019, 13:56   #6
 
elite*gold: 0
Join Date: Dec 2017
Posts: 64
Received Thanks: 2
Quote:
Originally Posted by DerMoench14 View Post
Enjoy!
Code:
$lTemp = GetScannedAddress('ScanDialogLog', -0x27)
SetValue('DialogLogStart', '0x' & Hex($lTemp, 8))
SetValue('DialogLogReturn', '0x' & Hex($lTemp + 9, 8))


_('ScanDialogLog:')
AddPattern('558BEC83EC285356578BF28BD9')


Within Func CreateDialogHook():

_('DialogLogProc:')
_('push ecx')
_('mov ecx,esi')
_('mov dword[LastDialogID],ecx')
_('pop ecx')
_('mov dword[LastDialogButtonsSize],0')
_('mov eax,[eax+2C]')
_('mov eax,[eax+680]')
_('ljmp DialogLogReturn')


Within Func _($aASM):

Case $aASM = 'mov eax,[eax+2C]'
	$lOpCode = '8B402C'
Case $aASM = 'mov eax,[eax+680]'
	$lOpCode = '8B8080060000'


I don't really use GWA2 / gwAPI ... so i don't know.
Thx so much!
Stary Pen' is offline  
Old 05/22/2019, 17:18   #7
 
elite*gold: 0
Join Date: Dec 2014
Posts: 21
Received Thanks: 12
Quote:
Originally Posted by DerMoench14 View Post
Enjoy!
Code:
$lTemp = GetScannedAddress('ScanDialogLog', -0x27)
SetValue('DialogLogStart', '0x' & Hex($lTemp, 8))
SetValue('DialogLogReturn', '0x' & Hex($lTemp + 9, 8))


_('ScanDialogLog:')
AddPattern('558BEC83EC285356578BF28BD9')


Within Func CreateDialogHook():

_('DialogLogProc:')
_('push ecx')
_('mov ecx,esi')
_('mov dword[LastDialogID],ecx')
_('pop ecx')
_('mov dword[LastDialogButtonsSize],0')
_('mov eax,[eax+2C]')
_('mov eax,[eax+680]')
_('ljmp DialogLogReturn')


Within Func _($aASM):

Case $aASM = 'mov eax,[eax+2C]'
	$lOpCode = '8B402C'
Case $aASM = 'mov eax,[eax+680]'
	$lOpCode = '8B8080060000'
I'm just to stupid to follow that. Where in _($aASM) i have to put that in?
Code:
_($aASM):

Case $aASM = 'mov eax,[eax+2C]'
	$lOpCode = '8B402C'
Case $aASM = 'mov eax,[eax+680]'
	$lOpCode = '8B8080060000'
I dont have a function CreateDialogHook() i have CreateDialogLog() and if i add your code i get LastDialogButtonsSize not provided.

I know how to find out headers and i shared them with the community. But i have no clue about code injection opcodes and so on.

Is it possible for one of the supercoders available on this forum to share a complete GW2?.

Every bot available is comming with one and they are totally different and every time i try to get a bot running with a "actual" (What I think what is a actual one ) one i get different errors like Skillogreturn and all this stuff what need to be fixed.

Best Example are the headers. We have
Code:
$LockHeroTargetHeader = 0x18
$Header__LockHeroTarget                    = 0x18
$HeaderLockHeroTarget = 0x18
would it not be better to create one "standard" GWA2 and adapt all the bots to this one instead everyone working on its own?

Sorry to bother and it is only my point of view. So happy bashing.
schnoesel21 is offline  
Old 05/23/2019, 10:35   #8
 
elite*gold: 0
Join Date: Dec 2014
Posts: 21
Received Thanks: 12
Quote:
Originally Posted by CoderAndy View Post


i think thats a gwAPI plugin function and you don't need to add that specific code at gwa2,
using dialog with gwa2 works at least i don't have any problems with the old code,
do you have a script that fails with dialog ?

unfortunately if you have scripts with their own specific functions you need to find them and fix them by hand, check for sendpacket or performaction withing the function and update them,

gwa2 it is already an easy "standard" api as you saying but sometimes the coders need to create specific functions for specific farms, most of the times that specific functions will be with the main script, if you just update the gwa2 and run the script within scite the output will tell you if it has double functions and all the errors, the different naming/wording its fault of the ppl that update them also every coder has his own coding and wording "style" so try to check the script first.
Hi Andy.

Thanks for your reply.

I know how to do that. I do it every time. And again and again ....

You call it a standard? I got 7 different versions of gwa2 within the last 7 downloads. 7 times compare file to see the diff.

And thats whats anoying me. Why we doing it every time on every Bot and everyone for its own.

If we create one standard GWA2 and using that for every bot all the wasted workforce can be used to create nice and smooth bots.

And without the crashes we all get to get the bots running Arenanets chance to identify bots is getting smaller.

I'm a project manager in real live and to be honest if my team is working together like we do i just hire a new one ;-)

But as i said. Thats just my sight.

I still enjoy this forum and the discussions and i still enjoy working on bots.

I think its just my project manager Efficiency eye thats speaking here. I'm really sorry if i bother someone.
schnoesel21 is offline  
Old 05/23/2019, 18:53   #9
 
phat34's Avatar
 
elite*gold: 0
Join Date: Sep 2014
Posts: 354
Received Thanks: 120
There are standard versions out there schnoesel21, you just have to read lots of post and find them. Best thing to do though, honestly is download one of the working files and just choose one as your standard. Because gwa2 is an open source system, people make their own mods all the time... and believe me they have tried to do a standard one many times but as people make their own files to work with their own codes, this pollution exist. Because of the providers array of recent attacks on the community (and previous ones), a lot of the "supercoders coined in above messages" have chosen a retreating stance and have become more private... Repetitive attacks on this small community, has diminished the game and volume of people that openly share codes like these and even entire message bases have closed.
phat34 is offline  
Old 05/24/2019, 07:14   #10
 
elite*gold: 0
Join Date: Sep 2006
Posts: 110
Received Thanks: 2
Seeing that this thread harbours a wide range of bots would it not be a nice idea to rewrite them to work with one gwa2? Afterwards it could be a rule that only the bot file without the gwa2 is to be published here. That could lead to the use of one central gwa2


Quote:
Originally Posted by schnoesel21 View Post
Hi Andy.

Thanks for your reply.

I know how to do that. I do it every time. And again and again ....

You call it a standard? I got 7 different versions of gwa2 within the last 7 downloads. 7 times compare file to see the diff.

And thats whats anoying me. Why we doing it every time on every Bot and everyone for its own.

If we create one standard GWA2 and using that for every bot all the wasted workforce can be used to create nice and smooth bots.

And without the crashes we all get to get the bots running Arenanets chance to identify bots is getting smaller.

I'm a project manager in real live and to be honest if my team is working together like we do i just hire a new one ;-)

But as i said. Thats just my sight.

I still enjoy this forum and the discussions and i still enjoy working on bots.

I think its just my project manager Efficiency eye thats speaking here. I'm really sorry if i bother someone.
Borega is offline  
Old 05/27/2019, 16:26   #11
 
elite*gold: 0
Join Date: Dec 2014
Posts: 21
Received Thanks: 12
Quote:
Originally Posted by CoderAndy View Post


i think thats a gwAPI plugin function and you don't need to add that specific code at gwa2,
using dialog with gwa2 works at least i don't have any problems with the old code,
do you have a script that fails with dialog ?
Hi Andy

In deed i have a problem with Last Dialog. GetLastDialogHex is always 0. I need this function for one of my scripts. Can you have a look please:
I tried the pattern and hex from this threat but no luck so far.

Code:
Global $mLastDialogId

$lTemp = GetScannedAddress('ScanDialogLog', 15) ; 2019.05 -0x27 was 15
	SetValue('DialogLogStart', '0x' & Hex($lTemp, 8))
	SetValue('DialogLogReturn', '0x' & Hex($lTemp + 8, 8)) ;2019.05 + 9, 8 was + 8, 8

	_('ScanDialogLog:')
	AddPattern('8977045F5E5B5DC208') ; 2019.05 AddPattern('558BEC83EC285356578BF28BD9') was AddPattern('8977045F5E5B5DC208')

$mLastDialogId = GetValue('LastDialogID')

;~ Description: ASM function. Internal use only.
Func CreateDialogLog() ; 2019.05
 	_('DialogLogProc:')
 	_('push ebp')
 	_('mov ebp,esp')
 	_('mov eax,dword[ebp+8]')
 	_('mov dword[LastDialogID],eax')
 	_('mov eax,dword[ecx+8]')
 	_('test al,1')
 	_('ljmp DialogLogReturn')
EndFunc	;==>CreateDialogLog
schnoesel21 is offline  
Old 05/28/2019, 12:36   #12
 
elite*gold: 0
Join Date: Dec 2014
Posts: 21
Received Thanks: 12
I just adapted the follower bot to my gwapi. There is a Last Dialog Field in it and you can send the Dialog to the followers. Since the May update ( i think ) last Dialog is not working any more.
schnoesel21 is offline  
Old 08/24/2019, 18:15   #13
 
phat34's Avatar
 
elite*gold: 0
Join Date: Sep 2014
Posts: 354
Received Thanks: 120
btw... Scan Zoom Moving and Still are broke... No Zoom control via ChangeMaxZoom() -- I am looking into it...
phat34 is offline  
Old 09/07/2019, 23:16   #14
 
phat34's Avatar
 
elite*gold: 0
Join Date: Sep 2014
Posts: 354
Received Thanks: 120
@ In post 1 you posted :

Code:
_('ScanSkillCancelLog:')
AddPattern('741D6A006A48')
Can you post the address change below that go with that change?

$mSkillCancelLog = GetScannedAddress('ScanSkillCancelLog', 5)
phat34 is offline  
Reply


Similar Threads Similar Threads
new witch hack , 17 may and 18 may 2011
05/20/2011 - GunZ - 0 Replies
hey guys , if you want the latest version of witch hack , go to Witch The Wicked • Index page there you find official hacks,,,,, really i want to post there hack here , but they did nt accept , so go there and download the newest hack , they are nice , you can download it for free and without username . and the most important , that there hack doesnt spam the site every minute as dedicated hack do ... you have many new thing inside the new hack , like create hack name ,........ and...
kung cnu man may acc na may gold ak na may engraving trade ko!!!!!!!!!!read plss
12/27/2009 - Trading - 11 Replies
kung cnu man may acc na may gold ak at engraving psg1 pwede ba itrade ko sa major ko yellow na may 7 baril at may 210 ecoin pa tpus may 100k sp nid ko plsss!!!!!!!!!! just add me josephlouisfaurill06o sa ym kung interesado kayu,.,.,.,.no SCAM
Free TBOT on May 19 upto May 21
05/20/2008 - Silkroad Online - 9 Replies
juz check bot258.com i dunno if it is real...juz check guys.. and let me know if it is real thnx...
Untested new scam may be stupid and may already been said!
04/26/2008 - CO2 Exploits, Hacks & Tools - 11 Replies
Right ive just thought of this in theory great scam :confused: if u use art money or cheat engine you could use them to give your char alot of money which can be shown in trade but not traded so u could say to anyone that looks to have a bit of money and good equips 'hi, do you want this account because im getting a bit bored of conquer and i got no friends who play on it ' they will most likely say yes and if they do then trade with them and say use cheat engine to give him a fake 60,000,000...



All times are GMT +2. The time now is 07:23.


Powered by vBulletin®
Copyright ©2000 - 2024, 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 ©2024 elitepvpers All Rights Reserved.