diff --git a/docs/AboutReversing.md b/docs/AboutReversing.md index a16511d..b957eee 100644 --- a/docs/AboutReversing.md +++ b/docs/AboutReversing.md @@ -1 +1,3 @@ +# What is Reverse Engineering? + ## TODO \ No newline at end of file diff --git a/docs/Client Features/JoinScripts.md b/docs/Client Features/JoinScripts.md new file mode 100644 index 0000000..30404ce --- /dev/null +++ b/docs/Client Features/JoinScripts.md @@ -0,0 +1 @@ +TODO \ No newline at end of file diff --git a/docs/Client Security/Signatures.md b/docs/Client Security/Signatures.md index bd6cb8f..fe0853e 100644 --- a/docs/Client Security/Signatures.md +++ b/docs/Client Security/Signatures.md @@ -1,20 +1,43 @@ +# What are signatures? + ## Introduction -Signatures are another method of security ROBLOX uses to prevent any unauthorized tampering with external requests to Roblox Servers. +Signatures are another means of security ROBLOX uses to prevent any unauthorized tampering with external requests from ROBLOX Servers. -Traditionally, Signatures are as the name implies, a method of determination to insure all information is indeed coming from the authorized sender. +Traditionally, signatures are, as the name suggests, a method to determine the actual author/sender of an article. -In today's world, digitial signatures are analogous — They utilize mathematical algorithms to validate the authenticity of such data.[^1] +In today's world, digitial signatures are analogous (to traditional signatures) — They utilize mathematical algorithms to validate the authenticity of such data.[^1] + +This abstract graph demonstrates the signing process:[^2] +```mermaid +flowchart LR + id1[(Data)]-->id2[Sign]---id3>Private Key] + id2-->id7[(Signed Data)]-->id5 + id6>Public Key]---id5[Verify]-->id4[(Data)] +``` ## Client Signatures ROBLOX uses (and *used*) signatures for a multitude of things including but not limited to: -- JoinScripts[Citation needed] -- Online CoreScripts (2010-2015) +- [JoinScripts](/Client Security/JoinScripts) +- Online CoreScripts (2010-2015)[Citation needed] + +### Specification +ROBLOX uses the [RSA](https://en.wikipedia.org/wiki/RSA_(cryptosystem)) algorithm (1024-bits) with X509 and PKCS7 encoding. + +Signature wrappers have differed between the years but here are the primary forms: + +- `--rbxsig%DATA%` (2013-2020) +- `--rbxsig2%DATA%` (Since 2018) +- `--rbxsig4%DATA%` (Since 2020) + +(**DATA** refers to the actual signature)