100% found this document useful (1 vote)
11K views12 pages

RC7 Executor Key System Guide

The document outlines the creation of a modern RC7-style executor with a key verification system, including a user interface for key input and executor functionalities. It features a GUI for entering a key, verifying it, and accessing the main executor interface, which includes script execution options and settings. Additionally, it implements an advanced anti-hookable key system with unique machine fingerprinting and server validation capabilities.

Uploaded by

pj3782702
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
11K views12 pages

RC7 Executor Key System Guide

The document outlines the creation of a modern RC7-style executor with a key verification system, including a user interface for key input and executor functionalities. It features a GUI for entering a key, verifying it, and accessing the main executor interface, which includes script execution options and settings. Additionally, it implements an advanced anti-hookable key system with unique machine fingerprinting and server validation capabilities.

Uploaded by

pj3782702
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd

-- Modern Sleek RC7-style Executor with Key System

-- Services
local TweenService = game:GetService("TweenService")
local CoreGui = game:GetService("CoreGui")

-- Key System Variables


local validKeys = {
"RC7-PREMIUM-KEY",
"EXECUTOR-ACCESS-2023"
}
local keyVerified = false

-- Create Key System GUI


local KeySystemGui = [Link]("ScreenGui")
local KeyFrame = [Link]("Frame")
local KeyTitle = [Link]("TextLabel")
local KeyInput = [Link]("TextBox")
local VerifyButton = [Link]("TextButton")
local KeyStatus = [Link]("TextLabel")

[Link] = "RC7_KeySystem"
[Link] = CoreGui
[Link] = [Link]

[Link] = "KeyFrame"
[Link] = KeySystemGui
KeyFrame.BackgroundColor3 = [Link](30, 30, 35)
KeyFrame.BorderColor3 = [Link](0, 0, 0)
[Link] = 0
[Link] = [Link](0.5, -175, 0.5, -100)
[Link] = [Link](0, 350, 0, 200)
[Link] = [Link](0, 0)
[Link] = true

-- Shadow effect
local UICorner = [Link]("UICorner")
[Link] = [Link](0, 8)
[Link] = KeyFrame

local UIGradient = [Link]("UIGradient")


[Link] = [Link]{
[Link](0, [Link](40, 40, 45)),
[Link](1, [Link](25, 25, 30))
}
[Link] = KeyFrame

[Link] = "KeyTitle"
[Link] = KeyFrame
[Link] = 1
[Link] = [Link](0, 0, 0, 15)
[Link] = [Link](1, 0, 0, 30)
[Link] = [Link]
[Link] = "RC7 EXECUTOR - KEY SYSTEM"
KeyTitle.TextColor3 = [Link](240, 240, 240)
[Link] = 18.0

[Link] = "KeyInput"
[Link] = KeyFrame
KeyInput.BackgroundColor3 = [Link](45, 45, 50)
KeyInput.BorderColor3 = [Link](60, 60, 65)
[Link] = 1
[Link] = [Link](0.5, -125, 0.5, -20)
[Link] = [Link](0, 250, 0, 40)
[Link] = [Link]
[Link] = "Enter your key..."
[Link] = ""
KeyInput.TextColor3 = [Link](255, 255, 255)
[Link] = 14.0
[Link] = false

local KeyInputCorner = [Link]("UICorner")


[Link] = [Link](0, 6)
[Link] = KeyInput

[Link] = "VerifyButton"
[Link] = KeyFrame
VerifyButton.BackgroundColor3 = [Link](60, 120, 180)
[Link] = [Link](0.5, -75, 0.5, 30)
[Link] = [Link](0, 150, 0, 35)
[Link] = [Link]
[Link] = "VERIFY KEY"
VerifyButton.TextColor3 = [Link](255, 255, 255)
[Link] = 14.0
[Link] = false

local VerifyButtonCorner = [Link]("UICorner")


[Link] = [Link](0, 6)
[Link] = VerifyButton

[Link] = "KeyStatus"
[Link] = KeyFrame
[Link] = 1
[Link] = [Link](0, 0, 0.8, 0)
[Link] = [Link](1, 0, 0, 20)
[Link] = [Link]
[Link] = "Enter your key to continue"
KeyStatus.TextColor3 = [Link](180, 180, 180)
[Link] = 14.0

-- Main Executor GUI (hidden until key verified)


local ExecutorGui = [Link]("ScreenGui")
local MainFrame = [Link]("Frame")
local TopBar = [Link]("Frame")
local Title = [Link]("TextLabel")
local CloseButton = [Link]("TextButton")
local MinimizeButton = [Link]("TextButton")
local ScriptBox = [Link]("TextBox")
local ButtonsFrame = [Link]("Frame")
local ExecuteButton = [Link]("TextButton")
local InjectButton = [Link]("TextButton")
local ClearButton = [Link]("TextButton")
local SettingsFrame = [Link]("Frame")
local AutoInjectToggle = [Link]("Frame")
local AutoInjectLabel = [Link]("TextLabel")
local AutoInjectSwitch = [Link]("TextButton")
local AutoInjectCircle = [Link]("Frame")
local AutoExecuteToggle = [Link]("Frame")
local AutoExecuteLabel = [Link]("TextLabel")
local AutoExecuteSwitch = [Link]("TextButton")
local AutoExecuteCircle = [Link]("Frame")

[Link] = "RC7_Executor"
[Link] = CoreGui
[Link] = [Link]
[Link] = false

[Link] = "MainFrame"
[Link] = ExecutorGui
MainFrame.BackgroundColor3 = [Link](30, 30, 35)
MainFrame.BorderColor3 = [Link](0, 0, 0)
[Link] = 0
[Link] = [Link](0.5, -250, 0.5, -150)
[Link] = [Link](0, 500, 0, 300)
[Link] = true
[Link] = true
[Link] = true

local MainCorner = [Link]("UICorner")


[Link] = [Link](0, 8)
[Link] = MainFrame

local MainGradient = [Link]("UIGradient")


[Link] = [Link]{
[Link](0, [Link](40, 40, 45)),
[Link](1, [Link](25, 25, 30))
}
[Link] = MainFrame

[Link] = "TopBar"
[Link] = MainFrame
TopBar.BackgroundColor3 = [Link](40, 40, 45)
[Link] = 0
[Link] = [Link](1, 0, 0, 30)

local TopBarCorner = [Link]("UICorner")


[Link] = [Link](0, 8)
[Link] = TopBar

[Link] = "Title"
[Link] = TopBar
[Link] = 1
[Link] = [Link](0, 10, 0, 0)
[Link] = [Link](0, 200, 1, 0)
[Link] = [Link]
[Link] = "RC7 EXECUTOR"
Title.TextColor3 = [Link](240, 240, 240)
[Link] = 14.0
[Link] = [Link]

[Link] = "CloseButton"
[Link] = TopBar
[Link] = 1
[Link] = [Link](1, -30, 0, 0)
[Link] = [Link](0, 30, 1, 0)
[Link] = [Link]
[Link] = "×"
CloseButton.TextColor3 = [Link](255, 255, 255)
[Link] = 20.0

[Link] = "MinimizeButton"
[Link] = TopBar
[Link] = 1
[Link] = [Link](1, -60, 0, 0)
[Link] = [Link](0, 30, 1, 0)
[Link] = [Link]
[Link] = "−"
MinimizeButton.TextColor3 = [Link](255, 255, 255)
[Link] = 20.0

[Link] = "ScriptBox"
[Link] = MainFrame
ScriptBox.BackgroundColor3 = [Link](20, 20, 25)
ScriptBox.BorderColor3 = [Link](60, 60, 65)
[Link] = 1
[Link] = [Link](0, 10, 0, 40)
[Link] = [Link](1, -20, 0, 190)
[Link] = [Link]
[Link] = "-- Enter your script here"
[Link] = ""
ScriptBox.TextColor3 = [Link](255, 255, 255)
[Link] = 14.0
[Link] = [Link]
[Link] = [Link]
[Link] = false
[Link] = true

local ScriptBoxCorner = [Link]("UICorner")


[Link] = [Link](0, 6)
[Link] = ScriptBox

[Link] = "ButtonsFrame"
[Link] = MainFrame
[Link] = 1
[Link] = [Link](0, 10, 0, 240)
[Link] = [Link](0, 270, 0, 50)

[Link] = "ExecuteButton"
[Link] = ButtonsFrame
ExecuteButton.BackgroundColor3 = [Link](60, 120, 60)
[Link] = [Link](0, 0, 0, 0)
[Link] = [Link](0, 80, 0, 35)
[Link] = [Link]
[Link] = "EXECUTE"
ExecuteButton.TextColor3 = [Link](255, 255, 255)
[Link] = 14.0
[Link] = false

local ExecuteCorner = [Link]("UICorner")


[Link] = [Link](0, 6)
[Link] = ExecuteButton

[Link] = "InjectButton"
[Link] = ButtonsFrame
InjectButton.BackgroundColor3 = [Link](120, 60, 60)
[Link] = [Link](0, 90, 0, 0)
[Link] = [Link](0, 80, 0, 35)
[Link] = [Link]
[Link] = "INJECT"
InjectButton.TextColor3 = [Link](255, 255, 255)
[Link] = 14.0
[Link] = false

local InjectCorner = [Link]("UICorner")


[Link] = [Link](0, 6)
[Link] = InjectButton

[Link] = "ClearButton"
[Link] = ButtonsFrame
ClearButton.BackgroundColor3 = [Link](60, 60, 120)
[Link] = [Link](0, 180, 0, 0)
[Link] = [Link](0, 80, 0, 35)
[Link] = [Link]
[Link] = "CLEAR"
ClearButton.TextColor3 = [Link](255, 255, 255)
[Link] = 14.0
[Link] = false

local ClearCorner = [Link]("UICorner")


[Link] = [Link](0, 6)
[Link] = ClearButton

[Link] = "SettingsFrame"
[Link] = MainFrame
[Link] = 1
[Link] = [Link](0, 300, 0, 240)
[Link] = [Link](0, 190, 0, 50)

[Link] = "AutoInjectToggle"
[Link] = SettingsFrame
[Link] = 1
[Link] = [Link](0, 0, 0, 0)
[Link] = [Link](0, 180, 0, 20)

[Link] = "AutoInjectLabel"
[Link] = AutoInjectToggle
[Link] = 1
[Link] = [Link](0, 100, 1, 0)
[Link] = [Link]
[Link] = "Auto Inject"
AutoInjectLabel.TextColor3 = [Link](255, 255, 255)
[Link] = 14.0
[Link] = [Link]

[Link] = "AutoInjectSwitch"
[Link] = AutoInjectToggle
AutoInjectSwitch.BackgroundColor3 = [Link](60, 60, 65)
[Link] = [Link](1, -40, 0, 0)
[Link] = [Link](0, 40, 0, 20)
[Link] = ""
[Link] = false

local AutoInjectSwitchCorner = [Link]("UICorner")


AutoInjectSwitchCorne
r
[Link] = [Link](0, 10)
[Link] = AutoInjectSwitch

[Link] = "AutoInjectCircle"
[Link] = AutoInjectSwitch
AutoInjectCircle.BackgroundColor3 = [Link](200, 200, 200)
[Link] = [Link](0, 2, 0.5, -8)
[Link] = [Link](0, 16, 0, 16)

local AutoInjectCircleCorner = [Link]("UICorner")


[Link] = [Link](1, 0)
[Link] = AutoInjectCircle

-- Advanced Anti-Hookable Key System


local KeySystem = {}
[Link] = false
[Link] = 0
[Link] = 5
[Link] = {}
[Link] = ""
[Link] = "[Link]
[Link] = false
[Link] = {
primary = [Link]([Link]([Link](33, 126)), 32),
secondary = [Link]([Link]([Link](33, 126)), 32),
tertiary = [Link]([Link]([Link](33, 126)), 32)
}
[Link] = {}

-- Generate a unique machine fingerprint


function KeySystem:GenerateFingerprint()
local fingerprint = {}

-- Collect system information


[Link] =
tostring(game:GetService("Workspace").[Link])
[Link] = tostring(gcinfo())
[Link] = [Link]("%z")
[Link] = [Link]()
[Link] = [Link]
[Link] = [Link]

-- Generate a unique identifier based on player data


local player = game:GetService("Players").LocalPlayer
if player then
[Link] = [Link]
[Link] = [Link]
[Link] = tostring([Link])
[Link] = [Link]
end

-- Generate a session ID
local sessionChars = {}
for i = 1, 32 do
[Link](sessionChars, [Link]([Link](65, 90)))
end
[Link] = [Link](sessionChars)
[Link] = [Link]
[Link] = fingerprint
return self:HashFingerprint(fingerprint)
end

-- Hash the fingerprint data


function KeySystem:HashFingerprint(data)
local dataString = ""

-- Sort keys for consistent order


local keys = {}
for k in pairs(data) do
[Link](keys, k)
end
[Link](keys)

-- Concatenate data
for _, k in ipairs(keys) do
dataString = dataString .. tostring(k) .. ":" .. tostring(data[k]) .. ";"
end

-- Simple hash function (in a real implementation, use a proper hashing


algorithm)
local hash = 0
for i = 1, #dataString do
hash = ((hash << 5) - hash) + [Link](dataString, i)
hash = [Link](hash, hash) -- Convert to 32bit integer
end

return tostring(hash)
end

-- Encrypt data using multi-layer encryption


function KeySystem:Encrypt(data)
if type(data) ~= "string" then
data = tostring(data)
end

-- First layer: XOR with primary key


local encrypted = ""
for i = 1, #data do
local char = [Link](data, i)
local keyChar = [Link]([Link], (i %
#[Link]) + 1)
encrypted = encrypted .. [Link]([Link](char, keyChar))
end

-- Second layer: Substitution with secondary key


local secondPass = ""
for i = 1, #encrypted do
local char = [Link](encrypted, i)
local keyChar = [Link]([Link], (i %
#[Link]) + 1)
secondPass = secondPass .. [Link]((char + keyChar) % 256)
end

-- Third layer: Reverse and XOR with tertiary key


local thirdPass = ""
for i = #secondPass, 1, -1 do
local char = [Link](secondPass, i)
local keyChar = [Link]([Link], (i %
#[Link]) + 1)
thirdPass = thirdPass .. [Link]([Link](char, keyChar))
end

-- Encode to base64-like format


local encoded = ""
for i = 1, #thirdPass, 3 do
local a = [Link](thirdPass, i) or 0
local b = [Link](thirdPass, i+1) or 0
local c = [Link](thirdPass, i+2) or 0

local char1 = [Link](a, 2)


local char2 = [Link]([Link]([Link](a, 3), 4), [Link](b,
4))
local char3 = [Link]([Link]([Link](b, 15), 2), [Link](c,
6))
local char4 = [Link](c, 63)

encoded = encoded ..
[Link]("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
char1+1, char1+1)
encoded = encoded ..
[Link]("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
char2+1, char2+1)

if i+1 <= #thirdPass then


encoded = encoded ..
[Link]("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
char3+1, char3+1)
else
encoded = encoded .. "="
end

if i+2 <= #thirdPass then


encoded = encoded ..
[Link]("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
char4+1, char4+1)
else
encoded = encoded .. "="
end
end

return encoded
end

-- Decrypt data
function KeySystem:Decrypt(data)
-- Decode from base64-like format
local decoded = ""
for i = 1, #data, 4 do
if i+3 > #data then break end

local char1 =
[Link]("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
[Link](data, i, i)) - 1
local char2 =
[Link]("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
[Link](data, i+1, i+1)) - 1
local char3 = [Link](data, i+2, i+2) == "=" and 0 or
[Link]("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
[Link](data, i+2, i+2)) - 1
local char4 = [Link](data, i+3, i+3) == "=" and 0 or
[Link]("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
[Link](data, i+3, i+3)) - 1

local byte1 = [Link]([Link](char1, 2), [Link](char2, 4))


decoded = decoded .. [Link](byte1)

if [Link](data, i+2, i+2) ~= "=" then


local byte2 = [Link]([Link]([Link](char2, 15), 4),
[Link](char3, 2))
decoded = decoded .. [Link](byte2)
end

if [Link](data, i+3, i+3) ~= "=" then


local byte3 = [Link]([Link]([Link](char3, 3), 6), char4)
decoded = decoded .. [Link](byte3)
end
end

-- Reverse third layer


local thirdPass = ""
for i = #decoded, 1, -1 do
local char = [Link](decoded, i)
local keyChar = [Link]([Link], (i %
#[Link]) + 1)
thirdPass = thirdPass .. [Link]([Link](char, keyChar))
end

-- Reverse second layer


local secondPass = ""
for i = 1, #thirdPass do
local char = [Link](thirdPass, i)
local keyChar = [Link]([Link], (i %
#[Link]) + 1)
secondPass = secondPass .. [Link]((char - keyChar) % 256)
end

-- Reverse first layer


local decrypted = ""
for i = 1, #secondPass do
local char = [Link](secondPass, i)
local keyChar = [Link]([Link], (i %
#[Link]) + 1)
decrypted = decrypted .. [Link]([Link](char, keyChar))
end

return decrypted
end

-- Validate key with anti-tamper checks


function KeySystem:ValidateKey(key)
-- Increment attempt counter
[Link] = [Link] + 1

-- Check for too many attempts


if [Link] > [Link] then
self:BlockUser("Too many failed attempts")
return false
end

-- Check for empty key


if not key or key == "" then
return false
end

-- Anti-debugging checks
if self:DetectDebugger() then
self:BlockUser("Debugger detected")
return false
end

-- Generate fingerprint if not already done


if not [Link] then
self:GenerateFingerprint()
end

-- Prepare validation data


local validationData = {
key = key,
fingerprint = self:HashFingerprint([Link]),
timestamp = [Link](),
sessionId = [Link],
gameId = [Link],
placeId = [Link]
}

-- Encrypt validation data


local encryptedData =
self:Encrypt(game:GetService("HttpService"):JSONEncode(validationData))

-- Here would normally be an HTTP request to validate with server


-- Since we can't make real HTTP requests in this example, we'll simulate it

-- In a real implementation, you would do:


-- local response = game:GetService("HttpService"):PostAsync(
-- [Link],
-- encryptedData,
-- [Link]
-- )

-- Simulate server validation


local isValid = self:SimulateServerValidation(key, encryptedData)

if isValid then
[Link] = true
return true
else
-- Apply time delay for failed attempt to prevent brute forcing
wait([Link]([Link] * 2, 10))
return false
end
end

-- Simulate server validation (in a real implementation, this would be done server-
side)
function KeySystem:SimulateServerValidation(key, encryptedData)
-- This is a placeholder. In a real implementation, this logic would be on your
server.
-- The key validation should never be done client-side in a production
environment.

-- For this example, we'll consider keys that match certain patterns as valid
-- Valid key format: RC7-XXXX-XXXX-XXXX where X is any alphanumeric character
if [Link](key, "^RC7%-[A-Za-z0-9][A-Za-z0-9][A-Za-z0-9][A-Za-z0-9]%-[A-
Za-z0-9][A-Za-z0-9][A-Za-z0-9][A-Za-z0-9]%-[A-Za-z0-9][A-Za-z0-9][A-Za-z0-9][A-Za-
z0-9]$") then
-- Simulate checking against a database
local validKeys = {
"RC7-DEMO-DEMO-DEMO", -- Demo key for testing
"RC7-ABCD-EFGH-IJKL",
"RC7-1234-5678-9ABC"
}

for _, validKey in ipairs(validKeys) do


if key == validKey then
return true
end
end
end

return false
end

-- Detect debugging tools or tampering attempts


function KeySystem:DetectDebugger()
-- Check for common exploitation signs
local env = getfenv(0)

-- Check for modified environment


if [Link] ~= script then
return true
end

-- Check for suspicious globals that might indicate exploits


local suspiciousGlobals = {
"hookfunction", "hookmetamethod", "getrawmetatable", "setrawmetatable",
"getnamecallmethod", "setnamecallmethod", "checkcaller", "newcclosure",
"decompile", "saveinstance", "dumpstring", "getscriptclosure"
}

for _, name in ipairs(suspiciousGlobals) do


if env[name] ~= nil then
return true
end
end

-- Timing check to detect debuggers


local startTime = [Link]()
for i = 1, 1000 do
-- Do some work
local x = i * i
end
local endTime = [Link]()
-- If execution took too long, might be debugged
if endTime - startTime > 0.1 then
return true
end

return false
end

-- Block user if tampering is detected


function KeySystem:BlockUser(reason)
if [Link] then
warn("[KeySystem] User blocked: " .. reason)
end

Common questions

Powered by AI

The unique machine fingerprint in the RC7 executor's key system serves to tie a validation session to a specific player's machine, enhancing security. It is constructed using system information such as screen resolution, memory usage, timezone, and player-specific data like userId and account age. This fingerprinting helps prevent unauthorized access and key sharing .

The RC7 executor manages verification attempts by maintaining a counter (KeyAttempts) that increments each time an attempt is made. If the number of attempts exceeds the MaxAttempts, which is set to 5, the user is blocked from further attempts using the BlockUser function with the reason "Too many failed attempts" .

The RC7 executor employs a multi-layer encryption approach using three different keys (primary, secondary, tertiary) for multiple transformations of data. This complex method obscures data and makes unauthorized decryption difficult. Furthermore, the encryption involves a base64-like format, enhancing its obfuscation .

The RC7 executor's network communication for key validation is simulated rather than actual, as indicated by the absence of real HTTP request handling. Limitations include the inability to perform genuine server-side validation. Instead, client-side emulation checks keys against predefined patterns, highlighting security weaknesses since client-side validation is less secure .

Hashing the fingerprint data in the RC7 executor's key verification process is crucial for maintaining data integrity and security. It creates a fixed-size representation of sensitive data, ensuring it is not stored or transmitted in its raw form, thus preventing interception and tampering by malicious actors .

The AutoInjectToggle and AutoInjectSwitch features enhance user experience by allowing users to automate repeated tasks, such as script injection upon certain triggers, thus saving time and effort. This streamlines user workflow, especially for those who frequently use the executor .

The use of simulated server validation in the RC7 executor could be for example or development purposes where real server communication is unnecessary or unavailable. It allows for testing of the validation process and feedback logic without needing an actual back-end server setup, which streamlines development and debugging .

The RC7 executor's encryption process involves multiple layers: 1) The first layer XORs the data with a primary key, 2) the second layer applies a substitution using a secondary key, and 3) the third layer reverses the order and XORs with a tertiary key. The final step encodes the result using a base64-like format .

The RC7 executor detects debugging tools by checking for common exploitation signs such as modified environments or suspicious globals indicating potential exploits. It performs timing checks to detect slowdowns indicative of debugging. If such conditions are met, it returns true for debugging tool detection, suggesting tampering or hacking attempts .

The Key Frame in the RC7 executor's GUI is designed for clarity and visual appeal with a background color of RGB (30, 30, 35) and borders set to zero for a sleek look. Its function is to host elements like the key input, title, and buttons for verification, and it provides a central point for user interaction with the key system .

You might also like