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 


Need help with encryption(I think)
Goto page 1, 2  Next
 
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Gamehacking
View previous topic :: View next topic  
Author Message
Matthew
How do I cheat?
Reputation: 0

Joined: 02 Jun 2012
Posts: 7

PostPosted: Sat Jun 02, 2012 7:59 pm    Post subject: Need help with encryption(I think) Reply with quote

Hey guys,

So I started out cheat engine very recently and tried to make a simple bot for a game called knights and merchants remake (KAM remake).
It is a strategy game where you have to collect rock and gold etc... build town and army.
Today I decided to do this little project and try and cheat the rock values, at first I tried out simply finding one value and changing it but that just started sending some files to the game developers ( as error with cause and some extra info) and kept freezing the game, So I thought that the address I found was probably not connected to the rock directly, perhaps it was encrypted?

So I did a byte search and did some change/unchanged values search and got 3 end addresses, 2 of them having the exact value of the rock.

Now keep in mind that I am a complete beginner and have little knowledge of cheat engine.

What I did next was find out what accesses those 2 addresses and here is what I found:



Now looking by what accesses it , Now I might be wrong, looks like some sort of a formula, can somebody give me leads ? where to look next?

thank you in advance!



iincc.PNG
 Description:
 Filesize:  414.64 KB
 Viewed:  35118 Time(s)

iincc.PNG



_________________
Matt .p
Back to top
View user's profile Send private message MSN Messenger
Dark Byte
Site Admin
Reputation: 458

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

PostPosted: Sat Jun 02, 2012 8:06 pm    Post subject: Reply with quote

Change both address to something completely different (like 16 and 64)
Now lose one rock
You will see which of the two was the correct one.

If it had no effect, you have to find another address
If it crashes, try changing both, or again, a different value type (perhaps binary)

Only when it has effect you can start using the debugger to find what accesses it.

Also, look at the memory in the hexviewer, it might give a clearer view of what you are editing


Anyhow, if you look at the assembler code, look at it in the disassembler. Two completely separate lines don't really say much. (Except that it is an element inside an array)

_________________
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
Matthew
How do I cheat?
Reputation: 0

Joined: 02 Jun 2012
Posts: 7

PostPosted: Sat Jun 02, 2012 8:11 pm    Post subject: Reply with quote

Dark Byte wrote:
Change both address to something completely different (like 16 and 64)
Now lose one rock
You will see which of the two was the correct one.

If it had no effect, you have to find another address
If it crashes, try changing both, or again, a different value type (perhaps binary)

Only when it has effect you can start using the debugger to find what accesses it.


Anyhow, if you look at the assembler code, look at it in the disassembler. Two compleltely seperate lines don't really say much

It was rather simpler then I expected, thank you very much.

Now If i want to make a simple script that when value of rock changes , add 1 to it would I have to go to dissembler and inject add (whatever it is), 1 for both value? cuz it seems like they both have to be the same value in order for them to work, thanks again for your help


Also

If i want to save those values so that I wont have to search for them later when i open the game, what do I do?

_________________
Matt .p
Back to top
View user's profile Send private message MSN Messenger
Dark Byte
Site Admin
Reputation: 458

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

PostPosted: Sat Jun 02, 2012 8:21 pm    Post subject: Reply with quote

You will have to do a code injection and try to understand how the game stores the values

It then depends on the instruction etc...

The instructions you've shown are used to modify all elements inside the array (sticks/rock/wood/etc...)


If it was the *338 one, the memory block exists out of a 4 byte header followed by the number of resources for each field, filled in as a 4 byte value

If it was the *46a one, the memory block exists out of a 78 (0x4e) byte long header followed by the number of resources for each field, filled in as a 2 byte value

Depending on how which is the actual one and which is display only you have to decide how to code it.

For example, if you only wish to affect rock (I'll assume that edx or eax=1, check in more info yourself):
Code:

cmp eax,1  //or cmp edx,1 depending on which one was correct
jne notwood

//it's wood
//either do
//add [xxx+regyouchecked+xxx],1
//or just jump to the exit of the function skipping the dec, or whatever.

notwood:
//do original code

(Make use of the code injection template to fill in the jump and nops yourself)
One thing to note. Perhaps this code is executed for enemies as well. Use "Find what addresses this code accesses" to find that out. And then use that information to see if you can distinguish between enemy and yourself


And if you wish to save them you could use that code injection to store the address being affected

also try the pointerscan tutorial step

_________________
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
Matthew
How do I cheat?
Reputation: 0

Joined: 02 Jun 2012
Posts: 7

PostPosted: Sun Jun 03, 2012 8:18 am    Post subject: Reply with quote

I filled in what I could (I am a complete begginer and having read the tutorials about Auto assembler this is my limit)

I am wondering if you could feel in the blanks or give me hints? I left out 3 blank lines, didnt know what to put in there, any suggestions?
Code:
alloc(newmem,2048) //2kb should be enough
label(notwood)
label(wood)
label(returnhere)
label(originalcode)
label(exit)

newmem: //this is allocated memory, you have read,write,execute access
//place your code here
cmp edx,1  //or cmp edx,1 depending on which one was correct
jne notwood
je wood
returnhere:

wood://it's wood
?//either do
?//add [xxx+regyouchecked+xxx],1
jmp ReturnHere//or just jump to the exit of the function skipping the dec, or whatever.

notwood:
originalcode:
sub dword ptr [ecx+edx*4+04],01

exit:
jmp returnhere

"KaM_Remake.exe"+1A733E:
jmp newmem
returnhere:

_________________
Matt .p
Back to top
View user's profile Send private message MSN Messenger
Matthew
How do I cheat?
Reputation: 0

Joined: 02 Jun 2012
Posts: 7

PostPosted: Mon Jun 04, 2012 9:39 am    Post subject: Reply with quote

Ok, ive tried injecting a simple jump to exit code that does not read the subtract, Ive also tried to add 2 when rock is being brought in so instead of + 1 rock it will give me +3, but it only works for around 2 minutes and then crashes, and sometimes crashes even quicker, Most likely due to my shity coding skills Smile

I need help please!!!

These are the steps that I took:
1: byte search with inc+dicr value to find the rock value address and display value address



2:I viewed in dissasembler and injected a simple jmp code to avoid rock being deducted but that only worked for couple seconds and followed by a game crash!

_________________
Matt .p
Back to top
View user's profile Send private message MSN Messenger
Dark Byte
Site Admin
Reputation: 458

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

PostPosted: Tue Jun 05, 2012 8:32 am    Post subject: Reply with quote

5a7343 does a jump based on the result of the previous sub
instead of just jmp exit turn it into sub dword ptr [ecx+edx*4+04],0


Also, this code is used by other stuff as well (not only for rock), so if it is used to change your characters in the negative direction of the x axis you won't be able to move left

_________________
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
Matthew
How do I cheat?
Reputation: 0

Joined: 02 Jun 2012
Posts: 7

PostPosted: Tue Jun 05, 2012 5:38 pm    Post subject: Reply with quote

Dark Byte wrote:
5a7343 does a jump based on the result of the previous sub
instead of just jmp exit turn it into sub dword ptr [ecx+edx*4+04],0


Also, this code is used by other stuff as well (not only for rock), so if it is used to change your characters in the negative direction of the x axis you won't be able to move left

Hey thanks for the reply
I will try your advice, also if what you say is true then how do I get down to the core? how do I find the very address I need for rock?

thank you very much for your reply!
EDIT:
Just to confirm , when i change the subtraction to 0 the game plays and eventually crashes..

Any other ideas to make this work?
thank you very much!

_________________
Matt .p
Back to top
View user's profile Send private message MSN Messenger
Matthew
How do I cheat?
Reputation: 0

Joined: 02 Jun 2012
Posts: 7

PostPosted: Thu Jun 14, 2012 4:21 pm    Post subject: Reply with quote

Hey Guys,

I did some more research, I used a default cheat that is already in the game that adds everything by 10.
I found the value of stone and looked at what writes it and I found the function that adds 10 to all the values
Code:
madTraceProcess+169E1E - 55           - push ebp
madTraceProcess+169E1F - 68 B4D25B00  - push madTraceProcess+169F88
madTraceProcess+169E24 - 64 FF 30     - push fs:[eax]
madTraceProcess+169E27 - 64 89 20     - mov fs:[eax],esp
madTraceProcess+169E2A - 8B C3        - mov eax,ebx
madTraceProcess+169E2C - 48           - dec eax
madTraceProcess+169E2D - 2C 1C        - sub al,1C
madTraceProcess+169E2F - 0F82 84000000 - jb madTraceProcess+169EB9
madTraceProcess+169E35 - 0F85 F1000000 - jne madTraceProcess+169F2C
madTraceProcess+169E3B - B3 01        - mov bl,01
madTraceProcess+169E3D - 33 C0        - xor eax,eax
madTraceProcess+169E3F - 8A C3        - mov al,bl
madTraceProcess+169E41 - 48           - dec eax
madTraceProcess+169E42 - 83 F8 1B     - cmp eax,1B
madTraceProcess+169E45 - 76 05        - jna madTraceProcess+169E4C
madTraceProcess+169E47 - E8 E871E4FF  - call 00404360
madTraceProcess+169E4C - 40           - inc eax
madTraceProcess+169E4D - 0FB7 44 46 4E  - movzx eax,word ptr [esi+eax*2+4E]
madTraceProcess+169E52 - 0FB7 D7      - movzx edx,di
madTraceProcess+169E55 - 03 C2        - add eax,edx
madTraceProcess+169E57 - 71 05        - jno madTraceProcess+169E5E
madTraceProcess+169E59 - E8 DE71E4FF  - call 00404368
madTraceProcess+169E5E - B9 FFFF0000  - mov ecx,0000FFFF
madTraceProcess+169E63 - 33 D2        - xor edx,edx
madTraceProcess+169E65 - E8 728DEBFF  - call madTraceProcess+22BDC
madTraceProcess+169E6A - 3D FFFF0000  - cmp eax,0000FFFF
madTraceProcess+169E6F - 76 05        - jna madTraceProcess+169E76
madTraceProcess+169E71 - E8 BE71E4FF  - call 00404360
madTraceProcess+169E76 - 33 D2        - xor edx,edx
madTraceProcess+169E78 - 8A D3        - mov dl,bl
madTraceProcess+169E7A - 4A           - dec edx
madTraceProcess+169E7B - 83 FA 1B     - cmp edx,1B
madTraceProcess+169E7E - 76 05        - jna madTraceProcess+169E85
madTraceProcess+169E80 - E8 AF71E4FF  - call 00404360
madTraceProcess+169E85 - 42           - inc edx
madTraceProcess+169E86 - 66 89 44 56 4E  - mov [esi+edx*2+4E],ax
madTraceProcess+169E8B - 0FB7 C7      - movzx eax,di
madTraceProcess+169E8E - 50           - push eax
madTraceProcess+169E8F - 0FBE 56 0E   - movsx edx,byte ptr [esi+0E]
madTraceProcess+169E93 - A1 24ED5D00  - mov eax,[madTraceProcess+18B9F8]
madTraceProcess+169E98 - 8B 00        - mov eax,[eax]
madTraceProcess+169E9A - E8 F579FDFF  - call madTraceProcess+141894
madTraceProcess+169E9F - 8B 40 14     - mov eax,[eax+14]
madTraceProcess+169EA2 - 8B 40 04     - mov eax,[eax+04]
madTraceProcess+169EA5 - 8B CB        - mov ecx,ebx
madTraceProcess+169EA7 - 8B D6        - mov edx,esi
madTraceProcess+169EA9 - E8 EE8CFEFF  - call madTraceProcess+152B9C
madTraceProcess+169EAE - 43           - inc ebx
madTraceProcess+169EAF - 80 FB 1D     - cmp bl,1D
madTraceProcess+169EB2 - 75 89        - jne madTraceProcess+169E3D
madTraceProcess+169EB4 - E9 B4000000  - jmp madTraceProcess+169F6D
madTraceProcess+169EB9 - 33 C0        - xor eax,eax
madTraceProcess+169EBB - 8A C3        - mov al,bl
madTraceProcess+169EBD - 48           - dec eax
madTraceProcess+169EBE - 83 F8 1B     - cmp eax,1B
madTraceProcess+169EC1 - 76 05        - jna madTraceProcess+169EC8
madTraceProcess+169EC3 - E8 6C71E4FF  - call 00404360
madTraceProcess+169EC8 - 40           - inc eax
madTraceProcess+169EC9 - 0FB7 44 46 4E  - movzx eax,word ptr [esi+eax*2+4E]
madTraceProcess+169ECE - 0FB7 D7      - movzx edx,di
madTraceProcess+169ED1 - 03 C2        - add eax,edx
madTraceProcess+169ED3 - 71 05        - jno madTraceProcess+169EDA
madTraceProcess+169ED5 - E8 6271E4FF  - call 00404368
madTraceProcess+169EDA - B9 FFFF0000  - mov ecx,0000FFFF
madTraceProcess+169EDF - 33 D2        - xor edx,edx
madTraceProcess+169EE1 - E8 F68CEBFF  - call madTraceProcess+22BDC
madTraceProcess+169EE6 - 3D FFFF0000  - cmp eax,0000FFFF
madTraceProcess+169EEB - 76 05        - jna madTraceProcess+169EF2
madTraceProcess+169EED - E8 4271E4FF  - call 00404360
madTraceProcess+169EF2 - 33 D2        - xor edx,edx
madTraceProcess+169EF4 - 8A D3        - mov dl,bl
madTraceProcess+169EF6 - 4A           - dec edx
madTraceProcess+169EF7 - 83 FA 1B     - cmp edx,1B
madTraceProcess+169EFA - 76 05        - jna madTraceProcess+169F01
madTraceProcess+169EFC - E8 3371E4FF  - call 00404360
madTraceProcess+169F01 - 42           - inc edx
madTraceProcess+169F02 - 66 89 44 56 4E  - mov [esi+edx*2+4E],ax
madTraceProcess+169F07 - 0FB7 C7      - movzx eax,di
madTraceProcess+169F0A - 50           - push eax
madTraceProcess+169F0B - 0FBE 56 0E   - movsx edx,byte ptr [esi+0E]
madTraceProcess+169F0F - A1 24ED5D00  - mov eax,[madTraceProcess+18B9F8]
madTraceProcess+169F14 - 8B 00        - mov eax,[eax]
madTraceProcess+169F16 - E8 7979FDFF  - call madTraceProcess+141894
madTraceProcess+169F1B - 8B 40 14     - mov eax,[eax+14]
madTraceProcess+169F1E - 8B 40 04     - mov eax,[eax+04]
madTraceProcess+169F21 - 8B CB        - mov ecx,ebx
madTraceProcess+169F23 - 8B D6        - mov edx,esi
madTraceProcess+169F25 - E8 728CFEFF  - call madTraceProcess+152B9C
madTraceProcess+169F2A - EB 41        - jmp madTraceProcess+169F6D
madTraceProcess+169F2C - 8B 46 09     - mov eax,[esi+09]
madTraceProcess+169F2F - 50           - push eax
madTraceProcess+169F30 - A1 30EE5D00  - mov eax,[madTraceProcess+18BB04]
madTraceProcess+169F35 - 8B 00        - mov eax,[eax]
madTraceProcess+169F37 - 8B 40 20     - mov eax,[eax+20]
madTraceProcess+169F3A - 8B D3        - mov edx,ebx
madTraceProcess+169F3C - E8 4FD2F4FF  - call madTraceProcess+B7190
madTraceProcess+169F41 - 8D 55 F8     - lea edx,[ebp-08]
madTraceProcess+169F44 - E8 D3D2F4FF  - call madTraceProcess+B721C
madTraceProcess+169F49 - 8B 4D F8     - mov ecx,[ebp-08]
madTraceProcess+169F4C - 8D 45 FC     - lea eax,[ebp-04]
madTraceProcess+169F4F - BA CCD25B00  - mov edx,madTraceProcess+169FA0
madTraceProcess+169F54 - E8 B783E4FF  - call 0040563C
madTraceProcess+169F59 - 8B 4D FC     - mov ecx,[ebp-04]
madTraceProcess+169F5C - B2 01        - mov dl,01
madTraceProcess+169F5E - A1 3C864B00  - mov eax,[madTraceProcess+65310]
madTraceProcess+169F63 - E8 00B4EFFF  - call madTraceProcess+65368
madTraceProcess+169F68 - E8 F779E4FF  - call 00404C90
madTraceProcess+169F6D - 33 C0        - xor eax,eax
madTraceProcess+169F6F - 5A           - pop edx
madTraceProcess+169F70 - 59           - pop ecx
madTraceProcess+169F71 - 59           - pop ecx
madTraceProcess+169F72 - 64 89 10     - mov fs:[eax],edx
madTraceProcess+169F75 - 68 BBD25B00  - push madTraceProcess+169F8F
madTraceProcess+169F7A - 8D 45 F8     - lea eax,[ebp-08]
madTraceProcess+169F7D - BA 02000000  - mov edx,00000002
madTraceProcess+169F82 - E8 9180E4FF  - call 00405344
madTraceProcess+169F87 - C3           - ret


Now I am here to ask how can I take this information and create a trainer out of this?
thanks

kind regards



EDIT


Also

Lets take this code for example:
Code:
madTraceProcess+169E1E - 55           - push ebp
madTraceProcess+169E1F - 68 B4D25B00  - push madTraceProcess+169F88
madTraceProcess+169E24 - 64 FF 30     - push fs:[eax]
madTraceProcess+169E27 - 64 89 20     - mov fs:[eax],esp
madTraceProcess+169E2A - 8B C3        - mov eax,ebx
madTraceProcess+169E2C - 48           - dec eax
madTraceProcess+169E2D - 2C 1C        - sub al,1C
madTraceProcess+169E2F - 0F82 84000000 - jb madTraceProcess+169EB9
madTraceProcess+169E35 - 0F85 F1000000 - jne madTraceProcess+169F2C
madTraceProcess+169E3B - B3 01        - mov bl,01
madTraceProcess+169E3D - 33 C0        - xor eax,eax
madTraceProcess+169E3F - 8A C3        - mov al,bl
madTraceProcess+169E41 - 48           - dec eax
madTraceProcess+169E42 - 83 F8 1B     - cmp eax,1B
madTraceProcess+169E45 - 76 05        - jna madTraceProcess+169E4C
madTraceProcess+169E47 - E8 E871E4FF  - call 00404360
madTraceProcess+169E4C - 40           - inc eax


What does the line
Code:
madTraceProcess+169F88
mean?

I am a begginer at this , I understand the basic functions and how basic jump and push and mov works, but I am not sure how this code operates, can someone go through it and explain how exactly this works?

I am very interested in cheat engine and want to learn more Smile

_________________
Matt .p
Back to top
View user's profile Send private message MSN Messenger
DaSpamer
Grandmaster Cheater Supreme
Reputation: 52

Joined: 13 Sep 2011
Posts: 1578

PostPosted: Fri Jun 15, 2012 10:59 am    Post subject: Reply with quote

I'd love to learn little bit more,
Hope you'll help us Dark Byte...
Back to top
View user's profile Send private message
poppi
How do I cheat?
Reputation: 0

Joined: 30 Dec 2012
Posts: 1

PostPosted: Sun Dec 30, 2012 3:52 pm    Post subject: Reply with quote

Hey, I am also a player of this game. Specially in Multiplayer. Also i have tried some things. I had it one time for singleplayer without problems,so i had over 500 wood. However i tried it some days ago a 2nd time and this crashes comes. I remember sth,that i have used hex, but it doesnt work this time too Very Happy


Have someone an idea or can help. A trainer would be great HAHA However multiplayer will be really hard. I have looked how the server works on this game. It is completly crazy,i can tell more about if "normal" singleplayer will work without problems Very Happy Very Happy


EDIT: Or would it help maybe,if i would add a picture of the error which should be sended to the developers? HAHA
Thx guys

poppi
Back to top
View user's profile Send private message
lewin
How do I cheat?
Reputation: 0

Joined: 17 Aug 2013
Posts: 3

PostPosted: Sat Aug 17, 2013 12:34 am    Post subject: Reply with quote

Hey guys,
I'm one of the developer of the KaM Remake, I happened to find this post when I was Googling for sites talking about our project, so I thought I might reply Wink

Firstly let me say that I am very much against multiplayer cheating in order to gain an advantage over other players (cheating in singleplayer is your choice, in fact we encourage that by including singleplayer cheats and debugging options). Winning in multiplayer through cheating seems completely unsatisfactory (how can you feel good about winning when you only won because you cheated?) and just annoys other players. However, the fact that people are trying to cheat means that we have gained a reasonable level of popularity. I appreciate that you discuss it publicly so if you did expose any exploits, we would have an opportunity to patch them.

I regret to inform you that our multiplayer system is very cheat resistant (which is a good thing in open source projects like this). Each client simulates the ENTIRE game starting from the same random seed, and the only traffic that is sent over the network and synchronised between players are specific commands such as "build house" or "move this soldier". These commands are thoroughly checked by every client to ensure that you are not doing something illegal (such as moving an enemy soldier), and if you are, the commands are ignored by other players. So cheating through the network protocol is not possible because other clients will reject your illegal commands.

Also, because every client simulates the entire game, any memory hacks you use will ONLY affect your simulation of the game, not the other player's simulation. This means that when you try to use the resources (e.g. stone) that you gained through cheating, the other client will not have those resources and you will both become out of sync. This is quickly detected and your game crashes with an "out of sync" error. Even if you suppressed this error, there's not much point cheating when none of the other players are affected by your cheats, right? Wink

So a hack to give you extra resources like you discussed above would work if you play by yourself or in singleplayer, but as soon as you play with another player (who is not using your hacks) you will get a crash because your game will go out of sync.

As to why your hack is crashing for you after a few minutes in solo multiplayer/singleplayer, adding a resource is a complicated internal process, it needs to be updated in many places (deliveries, storehouse, player statistics, etc.) If just one of these places is not updated correctly, it will probably crash after some time. So it's not a simple process to create a hack like this, but it's not due to encryption as you suggested in your original post, it's just due to complicated internal game structure. Also, you're on the wrong track with the "mad" stuff, that's our debugger/crash reporter madExcept Wink

So I'm sorry to disappoint you, but cheating in multiplayer in the KaM Remake is very difficult. If you would like to improve your skill (and so beat other player legitimately) I can recommend these Youtube videos of competitive multiplayer games:
youtube DOT com/user/Leeuwgie
And also feel free to ask for suggestions for how to improve your strategies on our forum:
knightsandmerchants DOT net/forum/

I hope this helps.
Cheers,
Lewin.
Back to top
View user's profile Send private message
DaSpamer
Grandmaster Cheater Supreme
Reputation: 52

Joined: 13 Sep 2011
Posts: 1578

PostPosted: Sat Aug 17, 2013 6:02 am    Post subject: Reply with quote

lewin wrote:
Hey guys,
I'm one of the developer of the KaM Remake, I happened to find this post when I was Googling for sites talking about our project, so I thought I might reply Wink

Firstly let me say that I am very much against multiplayer cheating in order to gain an advantage over other players (cheating in singleplayer is your choice, in fact we encourage that by including singleplayer cheats and debugging options). Winning in multiplayer through cheating seems completely unsatisfactory (how can you feel good about winning when you only won because you cheated?) and just annoys other players. However, the fact that people are trying to cheat means that we have gained a reasonable level of popularity. I appreciate that you discuss it publicly so if you did expose any exploits, we would have an opportunity to patch them.

I regret to inform you that our multiplayer system is very cheat resistant (which is a good thing in open source projects like this). Each client simulates the ENTIRE game starting from the same random seed, and the only traffic that is sent over the network and synchronised between players are specific commands such as "build house" or "move this soldier". These commands are thoroughly checked by every client to ensure that you are not doing something illegal (such as moving an enemy soldier), and if you are, the commands are ignored by other players. So cheating through the network protocol is not possible because other clients will reject your illegal commands.

Also, because every client simulates the entire game, any memory hacks you use will ONLY affect your simulation of the game, not the other player's simulation. This means that when you try to use the resources (e.g. stone) that you gained through cheating, the other client will not have those resources and you will both become out of sync. This is quickly detected and your game crashes with an "out of sync" error. Even if you suppressed this error, there's not much point cheating when none of the other players are affected by your cheats, right? Wink

So a hack to give you extra resources like you discussed above would work if you play by yourself or in singleplayer, but as soon as you play with another player (who is not using your hacks) you will get a crash because your game will go out of sync.

As to why your hack is crashing for you after a few minutes in solo multiplayer/singleplayer, adding a resource is a complicated internal process, it needs to be updated in many places (deliveries, storehouse, player statistics, etc.) If just one of these places is not updated correctly, it will probably crash after some time. So it's not a simple process to create a hack like this, but it's not due to encryption as you suggested in your original post, it's just due to complicated internal game structure. Also, you're on the wrong track with the "mad" stuff, that's our debugger/crash reporter madExcept Wink

So I'm sorry to disappoint you, but cheating in multiplayer in the KaM Remake is very difficult. If you would like to improve your skill (and so beat other player legitimately) I can recommend these Youtube videos of competitive multiplayer games:
youtube DOT com/user/Leeuwgie
And also feel free to ask for suggestions for how to improve your strategies on our forum:
knightsandmerchants DOT net/forum/

I hope this helps.
Cheers,
Lewin.


I have a doubt that has tried to cheat in multiplayer.
What you've said is another example of why it's pain to cheat multiplayer games, just doesn't worth it.


Now about singleplayer cheating.
Everything is possible when client relays on your computer only.
It might take little bit effort, but still possible.



P.S
Your either gave incorrect link to your forum, or it's broken?

_________________
HEY Hitler
Do you get lazy when making trainers?
Well no more!
My CETrainer will generate it for you in seconds, so you won't get lazy! Very Happy

http://forum.cheatengine.org/viewtopic.php?t=564919
Back to top
View user's profile Send private message
lewin
How do I cheat?
Reputation: 0

Joined: 17 Aug 2013
Posts: 3

PostPosted: Sat Aug 17, 2013 10:40 pm    Post subject: Reply with quote

I assumed these cheats were aimed for multiplayer since singleplayer cheating is mostly redundant given that we have singleplayer cheats implemented into the game (as most games do). I guess he might have wanted something a bit specific. We'd be happy to implement more singleplayer cheats to save you the trouble, please send us your suggestions with the reasons why you think they are needed (to our forum linked in my previous post is preferable).

The forum was offline for a few hours yesterday, try it now.
Back to top
View user's profile Send private message
++METHOS
I post too much
Reputation: 92

Joined: 29 Oct 2010
Posts: 4197

PostPosted: Sat Aug 17, 2013 11:04 pm    Post subject: Reply with quote

lewin-

Discussion of multiplayer cheating is not allowed here. Usually, this rule is enforced quite adamantly, even by non-moderator members. In the rare case that it is not, it is usually due to a simple oversight. Most newer members do not bother with reading any of the rules prior to posting, unfortunately. As such, when game titles aren't mentioned, or when responders do not go out of their way to first determine if the game in question is an online/multiplayer game, accidents like this one are likely to happen. Needless to say, it doesn't happen often, and when it does, it is ultimately at the discretion of the moderators to decide whether or not to lock the thread. Since the title of this game has been published, and the OP appears to be running the multiplayer version of the game, it is technically in breach of the rules. However, given the fact that this executable is a freeware, open-source project, some might argue that the rules should not fully apply in this case. I don't know. Personally, I am against multiplayer cheating unless I am the one doing it. Very Happy

lewin wrote:
singleplayer cheating is mostly redundant given that we have singleplayer cheats implemented into the game (as most games do). I guess he might have wanted something a bit specific. We'd be happy to implement more singleplayer cheats to save you the trouble
-Quite the contrary. For most games, the single player cheats that we seek are not provided by default. When they are, they are often provided as a DLC pack that must be purchased, or, they can adversely effect game statistics when used or prohibit further progress when activated etc.. Additionally, for some of us, a large part of what we do is driven by the challenge of solving the puzzle, expanding our creativity and knowledge and reinventing the game. Some of us, like myself, don't even play the games that we mod except for training purposes or on rare occasions. In fact, I am not a gamer at all.
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 Gamehacking All times are GMT - 6 Hours
Goto page 1, 2  Next
Page 1 of 2

 
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