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 


Exe tampering

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> General programming
View previous topic :: View next topic  
Author Message
Chris12
Expert Cheater
Reputation: 1

Joined: 27 Apr 2012
Posts: 103

PostPosted: Thu Feb 26, 2015 3:35 pm    Post subject: Exe tampering Reply with quote

Hi,
I made a program, now some people are cracking it.
Its written in c#, I obfuscated the code with my own obfuscator.
They still manage to find some "if(...)" and invert it (je => jnz) with a single byte-patch.

Does anyone have any tips to prevent such things?
I don't want to use a commercial obfuscator.

If this were c++ i'd decrypt and re-encrypt the method at runtime.
But in .net I can't.

I thought about checksumming the IL bytes of the methods I want to protect.

Does anyone with more in-depth knowledge of .net have any ideas what I can do?
Back to top
View user's profile Send private message
Dark Byte
Site Admin
Reputation: 470

Joined: 09 May 2003
Posts: 25805
Location: The netherlands

PostPosted: Thu Feb 26, 2015 3:50 pm    Post subject: Reply with quote

Checksumming the IL bytes won't matter as those are unchanged. It's the native code that gets changed
There may be a way to find it in c# and then checksum that, but that only works if you generate the checksum after it has been JIT'ed and before it is edited

I think .net has a method to find the JIT'er and hook that so you may be able to get it as soon as your method is jitted (don't know the details, but I saw it when doing research on finding method addresses, but since I don't need them instantly I passed it aside in favor of a delayed lookup)

Alternatively, you could try making it harder. Right now you have only one if statement checking the state. You could make that a quite convoluted if check using multiple methods and value references that do random things when detected the result has been tampered with

_________________
Do not ask me about online cheats. I don't know any and wont help finding them.

Like my help? Join me on Patreon so i can keep helping
Back to top
View user's profile Send private message MSN Messenger
Chris12
Expert Cheater
Reputation: 1

Joined: 27 Apr 2012
Posts: 103

PostPosted: Thu Feb 26, 2015 3:54 pm    Post subject: Reply with quote

Sorry for not making this clear, they're patching the IL bytes directly, not the compiled asm.
I would add a checksum of the complete module but they'd just patch that out too Razz

As for making it harder, could you give some examples?
What convolutions can I do to make it harder?
I'm so uncreative sorry ^^
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: Fri Feb 27, 2015 3:49 am    Post subject: Reply with quote

Sad to say but no matter what you do people are going to figure out ways to crack your code etc. Depending on how your program is coded you could connect it to a server on-load and have to stream / download parts of the code required to use it based on specific information such as a user/pass combo to login to a valid account and so on.

Keep in mind that can be bypassed eventually too if someone is bored enough to put in the work to do it.

_________________
- Retired.
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> General programming 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 can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites