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 


Help me understanding this C# Code

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

Joined: 19 Jul 2015
Posts: 154

PostPosted: Fri Jun 03, 2016 6:32 am    Post subject: Help me understanding this C# Code Reply with quote

I was finding a tutorial to make trainer with C# and after few days I got a source code of a trainer, But I am having problem in understanding this code :-

Code:
private int InitializeMoneyLock(CheckBox _myCheckBox)
        {
            moneyLock.applyCode = new byte[] { 0xC7, 0x45, 0x08, 0x00, 0x00, 0x00, 0x00, 0x66, 0x0F, 0xD6, 0x06, 0xD3, 0xCA, 0x2B, 0x55, 0x08, 0xC3 };
            moneyLock.jmpOffset = 0x34F90E;
            moneyLock.jmpStart = new byte[] { 0x50, 0xB8 };
            moneyLock.jmpEnd = new byte[] { 0xFF, 0xD0, 0x58};
            moneyLock.jmpRecovery = new byte[] { 0x66, 0x0F, 0xD6, 0x06, 0xD3, 0xCA, 0x2B, 0x55, 0x08 };

            int ok;
            if (_myCheckBox.IsChecked.Value == true)
            {
                ok = Helper.WriteCode(ref moneyLock);
                if (ok <= 0) { _myCheckBox.IsChecked = false; }
            }
            else
            {
                ok = Helper.RecoveryCode(ref moneyLock);
            }
            return ok;

        }



I can't understand what is :
jmpoffset
jmpstart
jmpEnd
jmpRecovery

The auto assemble script I made is :-

Code:
[ENABLE]
//code from here to '[DISABLE]' will be used to enable the cheat
alloc(newmem,2048)
label(returnhere)
label(originalcode)
label(exit)

newmem: //this is allocated memory, you have read,write,execute access
//place your code here

mov [ebp+08],0


originalcode:
sub edx,[ebp+08]
rol edx,cl

exit:
jmp returnhere

"Asphalt8_w8.exe"+34F914:
jmp newmem
returnhere:


 
 
[DISABLE]
//code from here till the end of the code will be used to disable the cheat
dealloc(newmem)
"Asphalt8_w8.exe"+34F914:
sub edx,[ebp+08]
rol edx,cl
//Alt: db 2B 55 08 D3 C2


Note : I am a C language student and yeah I will have C# in the fourth module (after 8 months) , And I can't wait 8 months to make this code understand... So please Help me understanding this...

Thanks In Advance Smile


[EDITED]

As Cake-san helped me but I don't know why he/she removed his post.. Shocked

Thanks a lot Cake-san Smile

Do you have any idea that why He put the replace code in 3 different lines ?

Code:
moneyLock.jmpStart = new byte[] { 0x50, 0xB8 };
            moneyLock.jmpEnd = new byte[] { 0xFF, 0xD0, 0x58};


He can easily do this :-


Code:
moneyLock.jmpRecovery = new byte[] { 0x66, 0x0F, 0xD6, 0x06, 0xD3, 0xCA, 0x2B, 0x55, 0x08 };


and one more thing the jmpoffset must be the offset of 66 0F D6 06 ? Right?

Thanks In Advance Smile

[/EDITED]
Back to top
View user's profile Send private message
Cake-san
Grandmaster Cheater
Reputation: 8

Joined: 18 Dec 2014
Posts: 541
Location: Semenanjung

PostPosted: Fri Jun 03, 2016 9:20 am    Post subject: Reply with quote

Sorry,there're something wrong in my post,that's why I deleted it. Wink
Here's my speculation,nothing more or less:
Originalcode:
Code:

0x34F907 - C7 45 08 00000000     - mov [ebp+08],00000000 { 0 }
0x34F90E - 66 0FD6 06            - movq [esi],xmm0
0x34F912 - D3 CA                 - ror edx,cl
0x34F914 - 2B 55 08              - sub edx,[ebp+08]
0x34F917 - C3                    - ret

Injected:
Code:

0x34F907 - C7 45 08 00000000     - mov [ebp+08],00000000 { 0 }
0x34F90E - 50                    - push eax
0x34F90F - B8 FFD058CA           - mov eax,CA58D0FF { -900148993 }
0x34F914 - 2B 55 08              - sub edx,[ebp+08]
0x34F917 - C3                    - ret


Like writing formal letter,maybe there're some formats that you need to follow ? Rolling Eyes

_________________
...
Back to top
View user's profile Send private message
lolAnonymous
Expert Cheater
Reputation: 1

Joined: 19 Jul 2015
Posts: 154

PostPosted: Fri Jun 03, 2016 9:31 am    Post subject: Reply with quote

Thanks A lot Cake-san Wink
Back to top
View user's profile Send private message
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