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 


To protect the table
Goto page Previous  1, 2, 3, 4, 5, 6  Next
 
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine
View previous topic :: View next topic  
Author Message
Corroder
Grandmaster Cheater Supreme
Reputation: 75

Joined: 10 Apr 2015
Posts: 1668

PostPosted: Wed Nov 04, 2015 10:05 am    Post subject: Reply with quote

I think to protect the script (more correct to say as making harder to read the script with human language), we should do it step by step :

1. Use obfuscating, decoding or encrypting (Huh...what are them all ?)
2. Make them all (no.1) with own function
3. Use external obfuscating, decoding, encrypting software (if any)

on my side i did like this (for CE Trainer)

- Make form using form designer or CE Lua command
- Writing functions and other stuff using Notepad (or other text editor)
- Encoding script texts and save as a Lua file (or other format)
- Add this file as stream file to CE Trainer (or as local file)
- LoadString ?? How if someone use RunString to get his point ??
- Decoding encrypted text store in stream file with a function in CE Trainer
- Add some function for password, trial, self destruction in CE Trainer
- Test run, if work fine next save it as stand alone exe CE Trainer

Now, just find out what is a obf, enco or encrypt function work good.

Use Lua library such as LuaEncrypt, SHA1.Lua and many other's also an optional, but not sure it work with CE Lua (Cause they need "require" to iimplement them).

I think the important thing, even we can do this obf, enco or encrypt, we need make sure the script has not return to their original and stay in memory while we run the trainer and deobf, deco and decrypt function has ran.

Regard
Back to top
View user's profile Send private message
STN
I post too much
Reputation: 43

Joined: 09 Nov 2005
Posts: 2676

PostPosted: Wed Nov 04, 2015 11:13 am    Post subject: Reply with quote

Shrooms wrote:
atom0s wrote:

C# is just as bad given that it is a managed language. CE does a better job protecting trainers then a stock C# file would.


use c# with embedded .dll that is coded in c++.

encrypt it.

never write .dll to disk in terms of once embedded access through memory.

even if managed means nothing.

ce does shit.

put stub so even if they somehow to manage a broken .dll, u h3ck their system so its a win win


Why, just why Shocked Why use c# if you are coding a dll in c++ anyway.

Also you have to inject that dll to game memory, its easy pickings there. Just attach to the game and spy away. I have used dll injection for years and its probably the easiest way to steal than just using WPM, all you have to do is just select the dll in game memory and the code is there. Even if it is encrypted, you can still easily find out where the game code is modified.

_________________
Cheat Requests/Tables- Fearless Cheat Engine
https://fearlessrevolution.com
Back to top
View user's profile Send private message
Rydian
Grandmaster Cheater Supreme
Reputation: 31

Joined: 17 Sep 2012
Posts: 1358

PostPosted: Wed Nov 04, 2015 12:58 pm    Post subject: Reply with quote

1 - Attach to game.
2 - Initial scan.
3 - Toggle something in the trainer.
4 - Changed scan.

Repeat 3 and 4 until you find what was done.

Doesn't matter what you wrote the trainer in or how obfuscated it is.

_________________
Back to top
View user's profile Send private message
atom0s
Moderator
Reputation: 205

Joined: 25 Jan 2006
Posts: 8587
Location: 127.0.0.1

PostPosted: Wed Nov 04, 2015 1:15 pm    Post subject: Reply with quote

Shrooms wrote:
atom0s wrote:
Shrooms wrote:
this got to be a joke.

use c# AND c++.

good day

u ain't protecting shit with lua and ce LMFAO


C# is just as bad given that it is a managed language. CE does a better job protecting trainers then a stock C# file would.


use c# with embedded .dll that is coded in c++.

encrypt it.

never write .dll to disk in terms of once embedded access through memory.

even if managed means nothing.

ce does shit.

put stub so even if they somehow to manage a broken .dll, u h3ck their system so its a win win


Doesn't matter how much you do to the C++ dll, if the C# program is just raw, you can tell exactly what it is doing. And all the current protectors for C# (.NET in general) do nothing to help with protection in most cases.

I would not recommend writing anything in a managed language like C#, Vb.NET, Java, etc. at all if you are looking for protection.

And like STN said, if you are capable of writing the major backend of the code in C/C++, there is no reason to put insecurity layers into your project at all with a managed language front end.

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

Joined: 17 Sep 2012
Posts: 1358

PostPosted: Wed Nov 04, 2015 1:28 pm    Post subject: Reply with quote

Shrooms wrote:
Rydian wrote:
1 - Attach to game.
2 - Initial scan.
3 - Toggle something in the trainer.
4 - Changed scan.

Repeat 3 and 4 until you find what was done.

Doesn't matter what you wrote the trainer in or how obfuscated it is.


if you look at the snippet of code above, even if you do this, yes u will find WHAT address the hook is at, but the bytes will be protected.
Uh, no, because you can just see what, in the game, was changed, by looking at the game.

So you can see what the trainer does to the game, which is the part that actually matters.

_________________
Back to top
View user's profile Send private message
STN
I post too much
Reputation: 43

Joined: 09 Nov 2005
Posts: 2676

PostPosted: Wed Nov 04, 2015 2:28 pm    Post subject: Reply with quote

Quote:
by now launching a encrypted c#.exe...little does the user know its the .dll that is being used in memory into a game via injection...an illusion.

u can protect ur code in memory too...


I can not really tell if you are trolling or just clueless. I laughed though Very Happy

I am going to assume its the latter and what i would like to see is you make a trainer with your method and let us exercise our reversing muscles.

_________________
Cheat Requests/Tables- Fearless Cheat Engine
https://fearlessrevolution.com
Back to top
View user's profile Send private message
Rydian
Grandmaster Cheater Supreme
Reputation: 31

Joined: 17 Sep 2012
Posts: 1358

PostPosted: Wed Nov 04, 2015 2:57 pm    Post subject: Reply with quote

Then do it, prove us wrong.
_________________
Back to top
View user's profile Send private message
atom0s
Moderator
Reputation: 205

Joined: 25 Jan 2006
Posts: 8587
Location: 127.0.0.1

PostPosted: Wed Nov 04, 2015 5:11 pm    Post subject: Reply with quote

Shrooms wrote:
ugh if ur accessing the .dll in memory from c#, it can be unprotected.

if you even then pipe to the client for extra security, the .dll won't be able to even start without spoofing pipe.

now, fuck all this, i shown code above to protect the bytes, so screw all this anyways, lel


Regardless of how you access the dll, if its embedded into a .NET (managed) application it can be obtained easily. Same reason why major commercial protectors for .NET fail to protect anything because they can be dumped at runtime without issue.

As for the assumption that a usermode API is going to protect your stuff, that is laughable at best as well. VirtualProtect/VirtualProtectEx can be easily hooked and forced to do other protections, dump call information such as the address, as well as dump regions based on the address given. Entirely making your claim useless that it will protect anything.

_________________
- Retired.
Back to top
View user's profile Send private message Visit poster's website
atom0s
Moderator
Reputation: 205

Joined: 25 Jan 2006
Posts: 8587
Location: 127.0.0.1

PostPosted: Wed Nov 04, 2015 7:33 pm    Post subject: Reply with quote

Shrooms wrote:
IF I USE VIRTUALPROTECT TO CHANGE THE BYTES AND YOU DECIDE TO REVERSE ENGINER BY FOLLOWING HIS SHITTY TUT, ALL U WILL FIND IS THE ADDRESSES NOT THE TRUE SCRIPT.

yes or no?

teach


If I hook VirtualProtect, your call to it does nothing.

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

Joined: 10 Apr 2015
Posts: 1668

PostPosted: Thu Nov 05, 2015 1:29 am    Post subject: Reply with quote

Dear #..Zanzer..#

Code:

n={7946918697735711062,2406159617271886963}
t=''
for i=1,2 do
q=qwordToByteTable(n[i])
for j=1,8 do
t=t..string.char(q[j])
end
end
showMessage(t)


would you to help writing this short VBS script to lua ?

Code:

function textcode(s)
  For i = 1 To Len(s)
     newtxt = Mid(s, i, 1)
     newtxt = Chr(Asc(newtxt)+3)
     coded = coded & newtxt
     Next
     textcode = coded
  End Function


Thank you and regards
Back to top
View user's profile Send private message
atom0s
Moderator
Reputation: 205

Joined: 25 Jan 2006
Posts: 8587
Location: 127.0.0.1

PostPosted: Thu Nov 05, 2015 2:16 am    Post subject: Reply with quote

Shrooms wrote:
atom0s wrote:
Shrooms wrote:
IF I USE VIRTUALPROTECT TO CHANGE THE BYTES AND YOU DECIDE TO REVERSE ENGINER BY FOLLOWING HIS SHITTY TUT, ALL U WILL FIND IS THE ADDRESSES NOT THE TRUE SCRIPT.

yes or no?

teach


If I hook VirtualProtect, your call to it does nothing.


when you inject my .dll into the process it is made for, you have started a process within said injected applications memory.

my trainer then would have already hooked vprotect (vmp?) and hide the bytes (replacing to nop per se).

now, are you saying you can hook my virtualprotect and un change edits? what if i put a counter-measurement via assembly? idk man!


I can prevent your hook from ever happening.

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

Joined: 17 Sep 2012
Posts: 1358

PostPosted: Thu Nov 05, 2015 6:42 am    Post subject: Reply with quote

Shrooms wrote:
Rydian wrote:
Then do it, prove us wrong.


coding sumthin differen't, why don't u do it urself.
'Cause I know it's a waste of time and you don't know what you're talking about.

Make a trainer that cheats something for Terraria and see if we can't find out what it does.

_________________
Back to top
View user's profile Send private message
Zanzer
I post too much
Reputation: 126

Joined: 09 Jun 2013
Posts: 3278

PostPosted: Thu Nov 05, 2015 9:21 am    Post subject: Reply with quote

Corroder wrote:
Dear #..Zanzer..#
would you to help writing this short VBS script to lua ?
Thank you and regards

Are you trying to get me to do your homework? Smile
Code:
function textcode(s)
  local coded = ""
  for i=1,#s do
    coded = coded .. string.char(s:byte(i) + 3)
  end
  return coded
end
Back to top
View user's profile Send private message
kostya555
Advanced Cheater
Reputation: 0

Joined: 04 Apr 2013
Posts: 55

PostPosted: Thu Nov 05, 2015 9:42 am    Post subject: Re: Reply with quote

Dear friends, can you help me to protect the trainers table? Please respond to my request, be so kind as to help me with protection...
Back to top
View user's profile Send private message
STN
I post too much
Reputation: 43

Joined: 09 Nov 2005
Posts: 2676

PostPosted: Thu Nov 05, 2015 10:51 am    Post subject: Re: Reply with quote

kostya555 wrote:
Dear friends, can you help me to protect the trainers table? Please respond to my request, be so kind as to help me with protection...


Did you just ignore the whole thread ?. Here is a recap, Zanzer and Corroder already posted pretty viable solutions, no spoon-feeding though.

@Shrooms: The workaround is don't use managed code. Go with c++ or assembly and use protections like themida but that is just slowing them down and i don't think you can stop spying on WPM even then.

If it was possible to stop someone completely, don't you think thats what all the big companies would have done to prevent piracy ? when they have more money than they know what to do with.

_________________
Cheat Requests/Tables- Fearless Cheat Engine
https://fearlessrevolution.com
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> Cheat Engine All times are GMT - 6 Hours
Goto page Previous  1, 2, 3, 4, 5, 6  Next
Page 2 of 6

 
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 can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites