Cheat Engine Forum Index Cheat Engine
The Official Site of Cheat Engine
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


Take control of your trainer + Register VIP members ..

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine Tutorials -> LUA Tutorials
View previous topic :: View next topic  
Author Message
Aylin
Grandmaster Cheater
Reputation: 8

Joined: 16 Feb 2017
Posts: 554

PostPosted: Thu Feb 13, 2020 4:29 am    Post subject: Take control of your trainer + Register VIP members .. This post has 1 review(s) Reply with quote

The following topic is worth adding to the archive.
We covered 2 topics and we will do 3 parts coding.

Subject (1); Keep your trainer control.
Subject (2); Restrict VIP Trainer for use other than VIP members.

===================================
Subject (1); Keep your trainer control.
===================================
If you have a Google account, it is recommended to create a "Google Docs" document. (Pic: Ek1.png)
(Google Docs: https://docs.google.com/document/u/0/ )

(Note: Links in the codes are examples)

Document setting; (Pic: Ek2.png)
1) Identify the document title.
2) Sharing setting; Set to "Anyone with the link can view. No sign-in required."
3) Write a Version number. (Note: only numbers, do not use letters and special characters)

Use the following code sample:

Code:
if form then form.destroy() form = nil end
local form = createForm(true)
form.Position = poDesktopCenter
form.Width = 240
form.Height = 125

local e1 = createEdit(form) e1.Height=24 e1.Left=25 e1.Top=25 e1.Width=100 e1.Text="11223344"
--Version: 1012344

local b1 = createButton(form) b1.Height=24 b1.Left=145 b1.Top=24 b1.Width=70 b1.caption="Check"

local l1 = createLabel(form) l1.Left=60 l1.Top=65 l1.caption="Version?"
l1.Font.Style="fsBold" l1.Font.Size=14

local t1 = createTimer(form) t1.Interval=2000 t1.Enabled=false
t1.OnTimer=function()
if syntaxcheck then return end
local url = "https://docs.google.com/document/d/1jh_zy-_BvwaYvc9smVHevAxfvWcrDQrsGDc9I6CnfAc/export?format=txt"
local http = getInternet()
local result = http.getURL(url)
if result then
 result=tostring(result:match("%d+"))
 local trainer_verifier = e1.Text --or UDF1.CELabel1.caption
  if trainer_verifier ~= result then
  l1.caption="Version Failed!!" --Version: 1012344
 t1.Enabled=false
 --  closeCE()
--   return caFree
  else
  l1.caption="Version Werified .."
 t1.Enabled=false
end
end
end

b1.OnClick=function() t1.Enabled=true end


To close the Distributed Trainer; Just change the Google Docs document version number. Wink

We took control of the trainer.
===================================

Subject (2); Restrict VIP Trainer for use other than VIP members.

Let's register as a VIP member now.
Nobody other than VIP members can use the trainer.

Let's create a Document with the same settings above.

For this, we will use Computer "UUID".
See; here is the information provided by @Corroder.
https://forum.cheatengine.org/viewtopic.php?p=5758213#5758213

The code below; It will shorten the computer UUID and give it to you.
Register this as a Trainer. Send to the VIP member.
When the VIP member runs the Trainer, he should copy the text that appears on the screen and send it to you.
Save the text (Abbreviated UUID) provided by you VIP member to Google Docs.
Place the second code on the Hack Trainer.

Get computer UUID:
Code:
local z = createForm(true)
z.Position = poDesktopCenter
z.Width = 280
z.Height = 150
z.BorderStyle = "bsNone"
z.color = "0xBDBF00"
z.Caption="VIP Member Identification Tool"

local z1 = createEdit(z)
z1.Height = 24
z1.Left = 100
z1.Top = 80
z1.Width = 130
z1.Font.Size=10
z1.color="0xFFFF00"
z1.Alignment= "taCenter"

local lx2 = createLabel(z)
lx2.AutoSize = false
lx2.Height = 45
lx2.Left = 5
lx2.Top = 5
lx2.Width = 270
lx2.Font.Size = 13
lx2.Alignment= "taCenter"
lx2.Font.color = "0x000000"
lx2.caption = "VIP Member Identification Tool"

local lx3 = createLabel(z)
lx3.Left = 55
lx3.Top = 82
lx3.Font.Size = 12
lx3.Alignment= "taCenter"
lx3.Font.color = "0x000000"
lx3.caption = "Code:"


local lx1 = createLabel(z)
lx1.AutoSize = false
lx1.Height = 45
lx1.Left = 5
lx1.Top = 30
lx1.Width = 270
lx1.Font.Size = 9
lx1.Alignment= "taCenter"
lx1.Font.color = "0xFF0034"
lx1.caption = "Copy the code in the box and send it to Admin.\nYour VIP Code"

local bx1 = createButton(z)
bx1.Height = 25
bx1.Left = 105
bx1.Top = 116
bx1.Width = 70
bx1.caption = "CLOSE"
bx1.Font.Size = 10
bx1.OnClick = function() z.Close() z = nil end

z.OnMouseDown = function() z.DragNow() end
lx1.OnMouseDown = function() z.DragNow() end
lx2.OnMouseDown = function() z.DragNow() end

---------------------------
function all_trim(s)
  return s:match"^%s*(.*)":match"(.-)%s*$"
end

local fh = assert(io.popen'wmic csproduct get uuid')
result = fh:read'*a'
fh:close()
result = string.gsub(result,'UUID',"")
result = all_trim(result)
--print(result)
--result = string.sub(result,5)
rst = string.gsub(result,'%A','')
--print(rst)
z1.Text=(rst)
z1.SetFocus()


Put the code below on the VIP Trainer.
Put a "Edit" and "Memo" in the VIP Trainer, set their visibility to "false".

Code:
--Trainer Menu visible false
--UDF1 = YouTrainer name
--print user UUID to CEEdit.
function all_trim(s)
  return s:match"^%s*(.*)":match"(.-)%s*$"
end

local fh = assert(io.popen'wmic csproduct get uuid')
result = fh:read'*a'
fh:close()
result = string.gsub(result,'UUID',"")
result = all_trim(result)
--print(result)
--result = string.sub(result,5)
rst = string.gsub(result,'%A','')
--print(rst)
UDF1.CEEdit1.Text=(rst)
--=======================--
--Let's print the VIP list on CEMemo for comparison.
local url = "https://docs.google.com/document/d/1EtbCMeFhcukS1aRG7-4fTDnEUFT2xz7ss3UkPAix-io/export?format=txt"
local int = getInternet()
local ulist = int.getURL(url)
int.destroy()

UDF1.CEMemo1.Lines.Text=(ulist)
--=======================--
--Let's make the comparison and state the reaction according to the result.
--Thanks to @Corroder for coding.

function Check()
if rst then
 x = UDF1.CEMemo1.Lines.Text
 z = rst
 if string.find(x, "%f[%a]"..z.."%f[%A]") ~= nil then
showMessage("Hello VIP member ..")
--You Trainer Menu visible = true
 else
  showMessage("You are not a VIP member.\nPlease contact Admin and get VIP membership.")
 end
end
end

Check()



As long as you have access to Google Docs;
You will determine the control of the trainer and the usage restriction.

See you again with different ideas.
Enjoy it. Wink

_________________
Hi Hitler Take control of your trainer
Enthusiastic people: Always one step ahead
Do not underestimate me Master: You were a beginner in the past
Back to top
View user's profile Send private message MSN Messenger
atom0s
Moderator
Reputation: 154

Joined: 25 Jan 2006
Posts: 7941
Location: 127.0.0.1

PostPosted: Fri Feb 14, 2020 10:19 pm    Post subject: Reply with quote

Some notes on this:

1. This is super easy to bypass. Given that you are connecting to the internet to download a list of valid IDs, that can be proxied and just self-hosted to include any ID.

2. This is set up in a manner to be extremely insecure and leaking private/personal data of your users. Since the trainer is downloading the list of valid IDs, anyone can view the file and see other people's hardware information. While the single id isn't that incriminating, if other info is added then it can potentially worry some to your users to know their personal information is leaking.

3. The Lua code for this is easily modified even if you encode it. The Check() call can be altered to bypass the check and just force the cheat open/visible.

_________________
- Retired.
Back to top
View user's profile Send private message Visit poster's website
Aylin
Grandmaster Cheater
Reputation: 8

Joined: 16 Feb 2017
Posts: 554

PostPosted: Sat Feb 15, 2020 5:02 am    Post subject: Reply with quote

Before anything else; This chase will turn into an enjoyable game. Very Happy

1) Only admin can edit the current identity list.
  and Lua code must be decoded to edit.

2) Users' personal data will never be collected.
Because shortened coding will cease to be user data,
it will become a user-specific password.
example:
Code:
 --result = C0D42EA6-C03F-5E5E-8F8A-373BEE14068B
rst = string.gsub(result,'%A','')
print(rst) --rst = CDEACFEEFABEEB

( The full UUID will never appear. User and Admin will see the shortened "rst".
)
Example VIP Pass Tool: https://www.dosyaupload.com/fsdP

3) "createTimer" event can be assigned to Lua code,
"MyTrainer" visibility is also packed into the function and the package name remains hidden.

VIP Check or My Trainer: https://www.dosyaupload.com/746d

Result: Again, the Trainer script (Content) remains bound to unique encryption.
As long as the trainer lua is decrypted, any action to be taken will be invalid.
Note: To decrypt and change the script; Trainer needs to be purchased.

Let us not forget; This is an idea to get started. It is an idea that is open to development and will be strengthened with additions. Wink

_________________
Hi Hitler Take control of your trainer
Enthusiastic people: Always one step ahead
Do not underestimate me Master: You were a beginner in the past
Back to top
View user's profile Send private message MSN Messenger
exohaxor
Advanced Cheater
Reputation: 1

Joined: 02 Sep 2018
Posts: 81

PostPosted: Sat Feb 15, 2020 8:49 am    Post subject: Reply with quote

so is there a better way?
_________________
hi
Back to top
View user's profile Send private message
Aylin
Grandmaster Cheater
Reputation: 8

Joined: 16 Feb 2017
Posts: 554

PostPosted: Sat Feb 15, 2020 12:32 pm    Post subject: Reply with quote

exohaxor wrote:
so is there a better way?


@DarkByte gave an idea.
But to code this idea ... Smile
There may be a separate tutorial forum topic.
Maybe @DarkByte can share a sample encoding. Cool

https://forum.cheatengine.org/viewtopic.php?p=5758224#5758224

_________________
Hi Hitler Take control of your trainer
Enthusiastic people: Always one step ahead
Do not underestimate me Master: You were a beginner in the past
Back to top
View user's profile Send private message MSN Messenger
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine Tutorials -> LUA Tutorials All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites