booingJoin Date: 2009-05-04 Post Count: 6594 |
----- WARNING: TL;DR POST AHEAD.
I'm not trying to spam, but since this is commonly an argument used to "disprove" trolls threatening to exploit, I think it should be cleared up. Before a script is executed, there IS a value on the stack that is its identity. In most cases, it's 2(normal), 4(core scripts), 5(command bar) or 1(plugins). The join script is either 6 or 7. I've forgotten. Unless I'm misinterpreting these posts, people are saying that level 7 "doesn't exist" - this is not true. An exploiter can change that 4-byte value on the stack to anything, even negative numbers. You can "have a negative context", but that means nothing. Although there are unlimited identity numbers, each identity does not have a defined value. "Defined contexts" are what gives a script more power. An undefined context has (I believe) less than level 2 access. As far as I know, the order of power is 7>6>4>1>5>2. "Where did the 3 go?" Up to about 2008, the command bar had an identity of 3. I don't know why they changed it to 5. 3 may be defined, but I'm listing contexts that exploiters would have a use with - if they can get 3, then they're not hooking, so they might as well get 7. 7 IS a defined context. If the context byte has a value of 7, then that script can do just about anything meant to be done with RBX.Lua. What I'm saying is that "level 7" isn't a made up term by exploiters. It DOES exist but there ARE identities that aren't defined(including level 8, I believe.) I may have made mistakes in this post, but I'm summing everything up that I know for sure with little testing. |
|
zars15Join Date: 2008-11-10 Post Count: 9999 |
"The join script is either 6 or 7."
I doubt that roblox uses Lua to connect and ready most of things for joining, but I can't be sure of that, since I haven't gone into reverse engineering that deep. |
|
booingJoin Date: 2009-05-04 Post Count: 6594 |
>reverse engineering
>5 minutes of fiddler
roblox.com/game/Join.ashx |
|
zars15Join Date: 2008-11-10 Post Count: 9999 |
Exactly that's what I meant, I haven't reverse engineered that much, to know how roblox starts and connects to servers. I didn't even know that ashx is Lua. |
|
|
Also, level 7 is the catch-all term for 'exploited permissions' - that is, it is implied that if someone says that have level 7 they are able to do anything, even if printidentity says they are only level 2. It's the basic term for 'exploited script elevation'. |
|
|
As far as I'm aware, unrestricted > 4 > 1 = 5 > 2.
_________________________________________________________________________
Twitter: https://twitter.com/MarkOtaris |
|
Waffle3zJoin Date: 2011-04-15 Post Count: 266 |
there is no level 1 |
|
|
@waffle3z
Plugins are level 1.
_________________________________________________________________________
Twitter: https://twitter.com/MarkOtaris |
|
|
The word "level" is actually incorrect to describe them because they are not levels, as that would imply that there is some sort of order between them.
_________________________________________________________________________
Twitter: https://twitter.com/MarkOtaris |
|
Waffle3zJoin Date: 2011-04-15 Post Count: 266 |
as far as I'm aware, level 1 handles i/o which doesn't exist in RBX::Lua |
|
|
coploxJoin Date: 2008-06-07 Post Count: 3252 |
Call them identity 1, identity 2, etc. I mean, that doesn't imply that 2 is better than 1, it's makes the number into an identifier rather than a well, level. |
|
|
coploxJoin Date: 2008-06-07 Post Count: 3252 |
I didn't call them levels, did I? I don't remember that.
But anyway, calling them identity 1, 2, 3, ... is more appropriate, so that is what we should call them. |
|
booingJoin Date: 2009-05-04 Post Count: 6594 |
@Julien
What I'm saying is that "level" describes an integer, and "unrestricted" is a string. You can't typecast strings to integers very well unless they contain only numbers. |
|
|
|
> Can we just say that identity 7 is the same as unrestricted? This is a pointless argument/debate/whatever you want to call this.
But it isn't. A thread can be unrestricted without having the identity 7.
_________________________________________________________________________
Twitter: https://twitter.com/MarkOtaris |
|
|
|
I'm pretty sure it doesn't exist. I don't know what the identity of the join script is, if it has one, but unless someone can provide everyone with evidence that the identity 7 exists, I think we can just assume that it doesn't exist.
_________________________________________________________________________
Twitter: https://twitter.com/MarkOtaris |
|
|
You seem to have missed my post.
The identity 7 can both literally and figutivly exist - you can have printidentity report you are level 7, or just bypass the checks and have the equivalent permissions while still being level 2. Also, join.ashx runs as level 6. |
|
booingJoin Date: 2009-05-04 Post Count: 6594 |
@Julien
I could give you my local 7 elevation that literally changes all local scripts' identities to a value of 7, giving me complete local power, but I don't think that's a good idea... What I'm saying is that a byte can have any value, and 7 is a defined context. |
|
|
@booing
Whether they're using a byte or not to store the identity value in the program itself is irrelevant and doesn't mean any value the variable that contains it can possibly take (even if it is not supposed to) is necessarily a valid identity.
I'm pretty sure the identity -53454234, regardless of whether a thread's identity could be that with tweaks, is not a valid identity.
_________________________________________________________________________
Twitter: https://twitter.com/MarkOtaris |
|
TenalJoin Date: 2011-05-15 Post Count: 18684 |
title fix |
|
|
level 7 does exist, for all you people who haven't seen it.
~�_Å﹩к﹩ℌαηε_�~ |
|
|
It does, booing is correct about most of that stuff. "most" |
|