[ESRO]Sp Exploit - Packed based working

08/08/2011 02:04 ZeraPain#31
Code:
#cs ----------------------------------------------------------------------------

 AutoIt Version: 3.3.6.0
 Author:         Frayzer

 Script Function:
	Template AutoIt script.

#ce ----------------------------------------------------------------------------

; Script Start - Add your code below here

#include <string.au3>
Global $sBuffer, $rBuffer
Global $iSize, $iIndex

#region PacketWriter
Func NewPacket($sValue, $iValue)
	Local $sTemp = Hex($sValue)
	$sBuffer = ""
	$iSize = 0
	$sBuffer &= StringLeft(ReverseHex(Hex($sValue)), 4);length
	$sBuffer &= StringLeft(ReverseHex(Hex($iValue)), 4);security
EndFunc   ;==>NewPacket

Func AppendByte($sValue)
	$sBuffer &= StringRight(Hex($sValue), 2)
	$iSize += 1
EndFunc   ;==>AppendByte

Func AppendWord($sValue)
	$sBuffer &= StringLeft(ReverseHex(Hex($sValue)), 4)
	$iSize += 2
EndFunc   ;==>AppendWord

Func AppendDWord($sValue)
	$sBuffer &= StringLeft(ReverseHex(Hex($sValue)), 8)
	$iSize += 4
EndFunc   ;==>AppendDWord

Func AppendString($sString, $Unicode = false)
	Local $iLength = StringLen($sString)
	If $Unicode Then
		$sBuffer &= _StringToHexExt($sString, True)
		$iSize += $iLength * 4
	Else
		$sBuffer &= _StringToHexExt($sString)
		$iSize += $iLength * 2
	EndIf
EndFunc   ;==>AppendString

Func GetPacket()
	Local $sTemp = "0x"
	$sTemp &= StringLeft(ReverseHex(Hex($iSize)), 4)
	$sTemp &= $sBuffer
	Return $sTemp
EndFunc   ;==>GetPacket
#endregion

#region PacketReader
Func BeginParse($sString)
	$iIndex = 1
	$rBuffer = StringMid($sString, 13)
	Return Dec(StringMid($sString, 3, 2) & StringMid($sString, 1, 2))
EndFunc   ;==>BeginParse

Func ReadByte()
	Local $result = Dec(StringMid($rBuffer, $iIndex, 2))
	$iIndex += 2
	Return $result
EndFunc   ;==>ReadByte

Func ReadWord()
	Local $result = Dec(ReverseHex(StringMid($rBuffer, $iIndex, 4)))
	$iIndex += 4
	Return $result
EndFunc   ;==>ReadWord

Func ReadDWord()
	Local $result = Dec(ReverseHex(StringMid($rBuffer, $iIndex, 8)))
	$iIndex += 8
	Return $result
EndFunc   ;==>ReadDWord

Func ReadString($iLength, $Unicode = False)
	Local $result, $string = ""
	If $Unicode Then
		For $i = 0 To $iLength - 1
			$string &= StringMid($rBuffer, $iIndex + $i * 4, 2)
		Next
		$iIndex += $iLength * 4
	Else
		$string = StringMid($rBuffer, $iIndex, $iLength * 2)
		$iIndex += $iLength * 2
	EndIf
	$result = _HexToString($string)
	Return $result
EndFunc   ;==>ReadString
#endregion

Func ReverseHex($sString)
	Local $sTemp, $len
	For $i = StringLen($sString) + 1 To 1 Step -2
		$sTemp &= StringMid($sString, $i, 2)
	Next
	Return $sTemp
EndFunc   ;==>ReverseHex

Func _StringToHexExt($sString, $Unicode = False)
	Local $string
	If $Unicode Then
		For $i = 1 To StringLen($sString)
			$string &= _StringToHex(StringMid($sString, $i, 1)) & "00"
		Next
	Else
		For $i = 1 To StringLen($sString)
			$string &= _StringToHex(StringMid($sString, $i, 1))
		Next
	EndIf
	Return $string
EndFunc   ;==>_StringToHexExt
08/08/2011 02:14 zsolt1225#32
Quote:
Originally Posted by ZeraPain View Post
Code:
#cs ----------------------------------------------------------------------------

 AutoIt Version: 3.3.6.0
 Author:         Frayzer

 Script Function:
	Template AutoIt script.

#ce ----------------------------------------------------------------------------

; Script Start - Add your code below here

#include <string.au3>
Global $sBuffer, $rBuffer
Global $iSize, $iIndex

#region PacketWriter
Func NewPacket($sValue, $iValue)
	Local $sTemp = Hex($sValue)
	$sBuffer = ""
	$iSize = 0
	$sBuffer &= StringLeft(ReverseHex(Hex($sValue)), 4);length
	$sBuffer &= StringLeft(ReverseHex(Hex($iValue)), 4);security
EndFunc   ;==>NewPacket

Func AppendByte($sValue)
	$sBuffer &= StringRight(Hex($sValue), 2)
	$iSize += 1
EndFunc   ;==>AppendByte

Func AppendWord($sValue)
	$sBuffer &= StringLeft(ReverseHex(Hex($sValue)), 4)
	$iSize += 2
EndFunc   ;==>AppendWord

Func AppendDWord($sValue)
	$sBuffer &= StringLeft(ReverseHex(Hex($sValue)), 8)
	$iSize += 4
EndFunc   ;==>AppendDWord

Func AppendString($sString, $Unicode = false)
	Local $iLength = StringLen($sString)
	If $Unicode Then
		$sBuffer &= _StringToHexExt($sString, True)
		$iSize += $iLength * 4
	Else
		$sBuffer &= _StringToHexExt($sString)
		$iSize += $iLength * 2
	EndIf
EndFunc   ;==>AppendString

Func GetPacket()
	Local $sTemp = "0x"
	$sTemp &= StringLeft(ReverseHex(Hex($iSize)), 4)
	$sTemp &= $sBuffer
	Return $sTemp
EndFunc   ;==>GetPacket
#endregion

#region PacketReader
Func BeginParse($sString)
	$iIndex = 1
	$rBuffer = StringMid($sString, 13)
	Return Dec(StringMid($sString, 3, 2) & StringMid($sString, 1, 2))
EndFunc   ;==>BeginParse

Func ReadByte()
	Local $result = Dec(StringMid($rBuffer, $iIndex, 2))
	$iIndex += 2
	Return $result
EndFunc   ;==>ReadByte

Func ReadWord()
	Local $result = Dec(ReverseHex(StringMid($rBuffer, $iIndex, 4)))
	$iIndex += 4
	Return $result
EndFunc   ;==>ReadWord

Func ReadDWord()
	Local $result = Dec(ReverseHex(StringMid($rBuffer, $iIndex, 8)))
	$iIndex += 8
	Return $result
EndFunc   ;==>ReadDWord

Func ReadString($iLength, $Unicode = False)
	Local $result, $string = ""
	If $Unicode Then
		For $i = 0 To $iLength - 1
			$string &= StringMid($rBuffer, $iIndex + $i * 4, 2)
		Next
		$iIndex += $iLength * 4
	Else
		$string = StringMid($rBuffer, $iIndex, $iLength * 2)
		$iIndex += $iLength * 2
	EndIf
	$result = _HexToString($string)
	Return $result
EndFunc   ;==>ReadString
#endregion

Func ReverseHex($sString)
	Local $sTemp, $len
	For $i = StringLen($sString) + 1 To 1 Step -2
		$sTemp &= StringMid($sString, $i, 2)
	Next
	Return $sTemp
EndFunc   ;==>ReverseHex

Func _StringToHexExt($sString, $Unicode = False)
	Local $string
	If $Unicode Then
		For $i = 1 To StringLen($sString)
			$string &= _StringToHex(StringMid($sString, $i, 1)) & "00"
		Next
	Else
		For $i = 1 To StringLen($sString)
			$string &= _StringToHex(StringMid($sString, $i, 1))
		Next
	EndIf
	Return $string
EndFunc   ;==>_StringToHexExt
What's this? And how can i use it? A little guide please.
08/08/2011 02:16 saxer1#33
Does that topic refer to this:
[Only registered and activated users can see links. Click Here To Register...]
?
08/08/2011 02:16 Mai_1337#34
Hmm this exploit is intresting never tought esro could have such a simple bug xD
08/08/2011 02:16 lorveth#35
Hi everyone, nice chatlog mini :D

@zsolt1225, thats autoIT source code.
08/08/2011 02:23 r7slayer#36
Quote:
Originally Posted by Synx7 View Post
I'm now debating about if I should tell the admin how to fix it or not... -_-
Yea sure go for it... He aint guna make you a gm if you tell him, your just going to be ass-licking pure and simple and your not going to be any more popular here if you do either.

Your choice and btw i don't think the admin could prevent this exploit. He doesn't have the experience to do shite with the server files this is completely clear seen as he would like help from other people and another thing your trying to say you had access to the server files?

Wow can't see how this is possible seen as he wouldn't make you a gm but give you access to the files? Maybe the Database but nothing else. This exploit isn't fixable in the database, so stop trying to look or sound like you have some power over something because it's now become abundantly clear your just a power hungry little kid thats trying to stroke his e-penis.

You might of shown everyone that the admin only cares about profit and money but at the same time you've shown everyone you were just looking for more power.
08/08/2011 02:24 lorveth#37
Quote:
Originally Posted by r7slayer View Post
Yea sure go for it... He aint guna make you a gm if you tell him, your just going to be ass-licking pure and simple and your not going to be any more popular here if you do either.

Your choice and btw i don't think the admin could prevent this exploit. He doesn't have the experience to do shite with the server files this is completely clear seen as he would like help from other people and another thing your trying to say you had access to the server files?

Wow can't see how this is possible seen as he wouldn't make you a gm but give you access to the files. Maybe the Database but nothing else and this exploit isn't fixable in the database, so stop trying to look or sound like you have some power over something because it's now become abundantly clear your just a power hungry little kid thats trying to stroke his e-penis.

You might of shown everyone that the admin only cares about profit and money but at the same time you've shown everyone you were just looking for more power.
That exploit should be fixable by editing db tables, I or someone else have to test that on swsro and zszc.

On sjsro is working right now.
On esro it should work too, since there was only item mall update ;)
08/08/2011 02:24 ZeraPain#38
Quote:
Originally Posted by zsolt1225 View Post
What's this? And how can i use it? A little guide please.
08/08/2011 02:29 Kape7#39
Quote:
Originally Posted by r7slayer View Post
Yea sure go for it... He aint guna make you a gm if you tell him, your just going to be ass-licking pure and simple and your not going to be any more popular here if you do either.

Your choice and btw i don't think the admin could prevent this exploit. He doesn't have the experience to do shite with the server files this is completely clear seen as he would like help from other people and another thing your trying to say you had access to the server files?

Wow can't see how this is possible seen as he wouldn't make you a gm but give you access to the files? Maybe the Database but nothing else. This exploit isn't fixable in the database, so stop trying to look or sound like you have some power over something because it's now become abundantly clear your just a power hungry little kid thats trying to stroke his e-penis.

You might of shown everyone that the admin only cares about profit and money but at the same time you've shown everyone you were just looking for more power.
It is easy to fix.
08/08/2011 02:40 yogitee2009#40
Synx Dont tell him .... its better , he will come to you and ask you
08/08/2011 02:40 rushcrush#41
Quote:
It is easy to fix.
maybe easy for you
but this noob admin cant do anything cuz he dont know anything about sro
and if someone winning to help him fix this
i perfer to tell him give money for this job
cuz if this didnt get fix then the server will get F
and everyone want this
so gl
08/08/2011 02:43 ZeraPain#42
Quote:
Originally Posted by Synx7 View Post
I'm now debating about if I should tell the admin how to fix it or not... -_-
really funny to see you writing this.
one time you say you support the "community"
and now that you got left you still want to help him.

did you become homesick? ;-)
08/08/2011 02:43 lorveth#43
@rushcrush
All about money ya?
Not even if he would 1k€ for the fix,in my opinion I wouldnt do that.
He will just make more and more money.
Open more and more servers.
08/08/2011 02:45 rushcrush#44
all we need is pro hacker and this admin will cry so much
08/08/2011 02:49 Kape7#45
Quote:
Originally Posted by ZeraPain View Post
really funny to see you writing this.
one time you say you support the "community"
and now that you got left you still want to help him.

did you become homesick? ;-)
I still didn't lost my hope about the admin changing the way he manages his servers. That's why it is a debate for me.