Register for your free account! | Forgot your password?

You last visited: Today at 18:48

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

Advertisement



Potion packets at ZSZC

Discussion on Potion packets at ZSZC within the SRO Private Server forum part of the Silkroad Online category.

Reply
 
Old 03/30/2011, 14:56   #16

 
sarkoplata's Avatar
 
elite*gold: 166
Join Date: Apr 2009
Posts: 2,339
Received Thanks: 2,654
Quote:
Originally Posted by lolkop View Post
nah my tutorials are mainly written, to show, that all of it can be done in asm.
the asm code can be used in almost every language.

if u're not able to understand the reversing part, you should start learning about it, with some easy tutorials, or at least start learning asm.

since u're able to build dlls in vb, those things could be used way better, since you can directly step into the client functions.
Well than I hate being stuck. And I am sorry but I hate auto-it too .
Most of tut.s are created in Auto-it , that makes me angry.
Anyway , I remember lolkop's first autopotion tools , which were like mine
So I believe one day I can become a lolkop
/Anyway , I am still looking for this packets in my form.
[I know I should first see where is the potion in inventory, and that's hard]
I'll do something diff. e.g.
PHP Code:
//This part is which timer will do; ( for example timer2 )
SendPacket("opcode" "data for using X-Large potion at 1.slot)
SendPacket("
opcode" , "data for using X-Large potion at 2.slot)
SendPacket("opcode" "data for using X-Large potion at 3.slot)
SendPacket("
opcode" , "data for using X-Large potion at 4.slot)
5.slot 6.slot 7.slot ... going like this.

//This part is another timer. ( for example timer1 )
ReadProcessMemory(readHandlepointer + &H3B0bytes24rw)
Dim currMP As Integer BitConverter.ToInt32(bytes0)
If 
currMP Val(TextBox.Text) / 100 maxMP[MaxMp is declared in another line alreadyThen
Timer2
.enabled=True
Else
Timer2.enabled=False
End 
If

//This part is Form_load.
If CheckboxForAutopotActiviation.checked=True then
Timer1
.enabled=true
End 
If

If 
CheckboxForAutopotActiviation.checked=Falsethen
Timer1
.enabled=false
End 
If 
I think this should work properly. So as I do in elixir fusing.
Its like Sendpackets for hp slots , and works properly , fuses with order.
User of tool can tell program by a textbox how much mp does he buy , which slots are them.
What do you think?
sarkoplata is offline  
Old 03/30/2011, 15:31   #17
 
lolkop's Avatar
 
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
how do you send packets to the client?

to be able to help you we'd have to know the way you use.
lolkop is offline  
Old 03/30/2011, 16:12   #18

 
sarkoplata's Avatar
 
elite*gold: 166
Join Date: Apr 2009
Posts: 2,339
Received Thanks: 2,654
Quote:
Originally Posted by lolkop View Post
how do you send packets to the client?

to be able to help you we'd have to know the way you use.
I'm using system.net.sockets
here is my code ;

Code:
 sroSocket = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)

        Dim IP As IPAddress = IPAddress.Parse("127.0.0.1")
        Dim Port As Integer = 22580
        Dim IPEP As IPEndPoint = New IPEndPoint(IP, Port)
Code:
 Sub SendPacket(ByVal OpCode As String, ByVal sData As String)
        Using buffer As New IO.MemoryStream
            Using w As New IO.BinaryWriter(buffer)
                w.Write(CUShort(0))
                w.Write(CUShort("&H" + OpCode))
                w.Write(CUShort(1))

                For i = 0 To sData.Length / 2 - 1
                    w.Write(CByte("&H" & sData.Substring(i * 2, 2)))
                Next

                w.BaseStream.Position = 0
                w.Write(CUShort(w.BaseStream.Length - 6))
                w.Flush()
                sroSocket.Send(buffer.ToArray)
sarkoplata is offline  
Old 03/30/2011, 17:36   #19
 
lolkop's Avatar
 
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
so u're using a proxy?

written on ur own, or by some1 else? to be able to use items from inventory, you'd have to be able to crypt and decrypt packets^^
lolkop is offline  
Old 03/30/2011, 17:56   #20

 
sarkoplata's Avatar
 
elite*gold: 166
Join Date: Apr 2009
Posts: 2,339
Received Thanks: 2,654
Quote:
Originally Posted by lolkop View Post
so u're using a proxy?

written on ur own, or by some1 else? to be able to use items from inventory, you'd have to be able to crypt and decrypt packets^^
Yes I'm using proxy , and my proxy supports decrypted packets ,
I found the packet for potion at 13.slot of inv.
That's just it (704C)19EC08
phAnalyzer can send it but I still dunno why my tool can't ^^
sarkoplata is offline  
Old 03/30/2011, 18:24   #21

 
sarkoplata's Avatar
 
elite*gold: 166
Join Date: Apr 2009
Posts: 2,339
Received Thanks: 2,654
Finally my prog. can send enc. packets too.
GoneUp helped me a lot. Credits goes to him. :P
I will be here soon , when I get error from packet parsing .. :P
sarkoplata is offline  
Old 03/30/2011, 21:36   #22

 
sarkoplata's Avatar
 
elite*gold: 166
Join Date: Apr 2009
Posts: 2,339
Received Thanks: 2,654
Quote:
Originally Posted by sarkoplata View Post
PHP Code:
//This part is which timer will do; ( for example timer2 )
SendPacket("opcode" "data for using X-Large potion at 1.slot)
SendPacket("
opcode" , "data for using X-Large potion at 2.slot)
SendPacket("opcode" "data for using X-Large potion at 3.slot)
SendPacket("
opcode" , "data for using X-Large potion at 4.slot)
5.slot 6.slot 7.slot ... going like this.

//This part is another timer. ( for example timer1 )
ReadProcessMemory(readHandlepointer + &H3B0bytes24rw)
Dim currMP As Integer BitConverter.ToInt32(bytes0)
If 
currMP Val(TextBox.Text) / 100 maxMP[MaxMp is declared in another line alreadyThen
Timer2
.enabled=True
Else
Timer2.enabled=False
End 
If

//This part is Form_load.
If CheckboxForAutopotActiviation.checked=True then
Timer1
.enabled=true
End 
If

If 
CheckboxForAutopotActiviation.checked=Falsethen
Timer1
.enabled=false
End 
If 
This method works I haven't read the inventory or such a thing ^^
sarkoplata is offline  
Old 03/31/2011, 19:56   #23
 
Kraizy​'s Avatar
 
elite*gold: 0
The Black Market: 471/0/0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,810
So, you are sending the packet for each slot everytime? What about if there is no pot anymore? Won't your client crash?
Kraizy​ is offline  
Old 03/31/2011, 21:05   #24

 
sarkoplata's Avatar
 
elite*gold: 166
Join Date: Apr 2009
Posts: 2,339
Received Thanks: 2,654
Quote:
Originally Posted by Fisticuff View Post
So, you are sending the packet for each slot everytime? What about if there is no pot anymore? Won't your client crash?
Yes.No , client won't crash , if there is no pot , it uses 2nd slots pot.
sarkoplata is offline  
Old 04/02/2011, 01:05   #25

 
sarkoplata's Avatar
 
elite*gold: 166
Join Date: Apr 2009
Posts: 2,339
Received Thanks: 2,654
Wow , finally made my auto party work , If u need help I'll just be here.
sarkoplata is offline  
Old 04/02/2011, 12:40   #26
 
lolkop's Avatar
 
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
finally i've found a way to get the inventory content from memory without using any hooks =)

Code:
$actionBase = 0xCF5CD4
$charBase = 0xAA0E44
Global $kernel32 = DllOpen('kernel32.dll')
$mid = OpenProcess(WinGetProcess('[CLASS:CLIENT]'))

$inventoryBase = ReadProcessMemory($mid, ReadProcessMemory($mid, ReadProcessMemory($mid, ReadProcessMemory($mid, $actionBase) + 0x62C) + 0x78C) + 0x380)
For $i=0 To ReadProcessMemory($mid, ReadProcessMemory($mid, $charBase) + 0x16AC, 'byte')-1
	$slotBase = ReadProcessMemory($mid, ReadProcessMemory($mid, $inventoryBase + $i*4) + 0x360)
	$type = ReadProcessMemory($mid, $slotBase + 0x34)
	$nr = ReadProcessMemory($mid, $slotBase + 0x84)
	ConsoleWrite('Slot '&$i&':'&@CRLF)
	ConsoleWrite('   Item ID:'&$type&@CRLF)
	ConsoleWrite('   Item Quantity:'&$nr&@CRLF)
Next
CloseHandle($mid)
DllClose($kernel32)
haven't added it to my bot yet, but it makes it possible to use pots return scrolls etc directly from the inventory =)

beside that, it enables you to build a loop function and an auto tidy inventory function =)

basicly the code looks like this (if u're not able to understand the autoit):
Code:
inventoryBase = [[[[0xCF5CD4] + 0x62C] + 0x78C] + 0x380]
for i=0 to [[0xAA0E44] + 0x16AC] (byte) - 1
    slotBase = [[inventoryBase + i * 4] + 0x360]
    type = [slotBase + 0x34]
    nr = [slotBase + 0x84]
next
lolkop is offline  
Thanks
2 Users
Old 04/02/2011, 13:37   #27
 
Kraizy​'s Avatar
 
elite*gold: 0
The Black Market: 471/0/0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,810
Nice, will try it in .NET later
Kraizy​ is offline  
Old 04/02/2011, 19:04   #28

 
sarkoplata's Avatar
 
elite*gold: 166
Join Date: Apr 2009
Posts: 2,339
Received Thanks: 2,654
lolkop is genius , i'll try all this things in my project ^^
Thanks lolkop =)
btw thanks Fisticuff for posting me at other thread =)
sarkoplata is offline  
Old 04/03/2011, 02:49   #29

 
sarkoplata's Avatar
 
elite*gold: 166
Join Date: Apr 2009
Posts: 2,339
Received Thanks: 2,654
Quote:
Originally Posted by Fisticuff View Post
Nice, will try it in .NET later
If you make it work sucessfully , explain me too
sarkoplata is offline  
Old 04/25/2011, 03:39   #30

 
sarkoplata's Avatar
 
elite*gold: 166
Join Date: Apr 2009
Posts: 2,339
Received Thanks: 2,654
Quote:
Originally Posted by lolkop View Post
finally i've found a way to get the inventory content from memory without using any hooks =)

Code:
$actionBase = 0xCF5CD4
$charBase = 0xAA0E44
Global $kernel32 = DllOpen('kernel32.dll')
$mid = OpenProcess(WinGetProcess('[CLASS:CLIENT]'))

$inventoryBase = ReadProcessMemory($mid, ReadProcessMemory($mid, ReadProcessMemory($mid, ReadProcessMemory($mid, $actionBase) + 0x62C) + 0x78C) + 0x380)
For $i=0 To ReadProcessMemory($mid, ReadProcessMemory($mid, $charBase) + 0x16AC, 'byte')-1
	$slotBase = ReadProcessMemory($mid, ReadProcessMemory($mid, $inventoryBase + $i*4) + 0x360)
	$type = ReadProcessMemory($mid, $slotBase + 0x34)
	$nr = ReadProcessMemory($mid, $slotBase + 0x84)
	ConsoleWrite('Slot '&$i&':'&@CRLF)
	ConsoleWrite('   Item ID:'&$type&@CRLF)
	ConsoleWrite('   Item Quantity:'&$nr&@CRLF)
Next
CloseHandle($mid)
DllClose($kernel32)
haven't added it to my bot yet, but it makes it possible to use pots return scrolls etc directly from the inventory =)

beside that, it enables you to build a loop function and an auto tidy inventory function =)

basicly the code looks like this (if u're not able to understand the autoit):
Code:
inventoryBase = [[[[0xCF5CD4] + 0x62C] + 0x78C] + 0x380]
for i=0 to [[0xAA0E44] + 0x16AC] (byte) - 1
    slotBase = [[inventoryBase + i * 4] + 0x360]
    type = [slotBase + 0x34]
    nr = [slotBase + 0x84]
next
Do you think doing smth via memory is better ? or doing them with packets , and why ? :P btw is it possible to do multi-bot with a memory coded tool?
sarkoplata is offline  
Reply


Similar Threads Similar Threads
[ZSZC] Packets of Skills/misc
03/29/2011 - SRO Private Server - 52 Replies
I was bored earlier on zszc so i started recording packets for most of the different skills in zszc. Also, i REALLY need someone to help me out, i need to know what the BEST programming language i should use for sending packets to a game client (im planning on making an autopot for zszc) and maybe a few examples if possible ^^ Heres the list: Opcode--Packet--------Description
Use Less Potion
07/15/2009 - Silkroad Online - 13 Replies
Hi Everybody. I am level 39, full INT, using a Spear and I'm having trouble with potions, as i use a lot. AutoPotion is set to 30% at both, and don't know why but i use almost 500 of each per grinding (about 2-3 hours). Can you tell me what shall I do to use less of them? Best Regards, streetfight2
Potion bug
03/08/2008 - RF Online - 2 Replies
hi leute wollte mal fragen ob einer den pot bug kennt in episode 2 weil ich bräuchte denn für private server hi guys i have a question any now the pot bug in episode 2 i need it for private server hofe mir kann wer helfen hab schon verzweifelt gesucht
I need a potion bot please
03/18/2006 - Conquer Online 2 - 21 Replies
hey.. im looking for a potion bot that i can use with Cs slayer bot by ultima while i train over night at sky pass if anyone knows of a good working potion bot plz tell me where i can get, i look in co2 bots forums and found the auto life bot doesent work. i saw a bot i think for auto poting but it req AC tool wich i dont know what that is and i dont wanago into some big porgram and take frever to learn how to use. imlooking for a executable bot thet uses potsplz tell me where i can find one



All times are GMT +2. The time now is 18:48.


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.