Making editors for cricket games

Yeah, try if Artmoney finds a pointer, and check if even the pointer is static or dynamic, as has been the case with some recent games!

The pointer remain at rest if your game is in static position. However when you advances in the game its not remain static. (But we can easily edit becuz the game will be at rest at the time of editing)


One more good news I have completely sort out the regen issue as well their age are in form of bits (0 ,32 ,64 ,96 ,128 ,160 ,192 and last 224)
 
Just as a request can we keep this thread for tutorials and discussion of and use the ICC thread for talking about the cracking and storage of the data.
 
EDIT - I've now made a DLL file for all these functions. To use memory editing all you'll have to do is attach a reference to a dll file which I'll be attaching here(Very simple) and then you can use all the functions I'll be incorporating into the DLL file! :)

I'll be attaching the DLL and tut sometime later today. Stay tuned! :)


The advantages of a DLL would be that though a class would only be used in vb.net, the DLL can be used either in vb.net and C#! :)
 
Last edited:
speaking of an editor, would it be possible to design an editor so that you can put a limit on a value you can enter.

for example the batting ability via ArtMoney can be edited up to 65535 (thats 256 squared minus 1). a level 255 batsman can only be run out, no bowler is gonna take his wicket.

i've found only one Level 7 batsman in Ashes 06 (Sehwag). Level 7 is from 1793 to 2047. limiting the maximum value to 2000 is therefore quite reasonable to prevent people making god-like batsmen.
 
I've incorporated the following features into the DLL, setprocess, read from the memory and write to the memory. The DLL can be used with either C# or VB.net and has to be bundled along with the program. Posting it in about an hour...

If I've missed out any important memory commands then please tell ASAP. :)
 
Memory Editing Tutorial

[drumroll]Welcome to the Memory editing tutorial! [/drumroll] :p

Yes, I finally got round to make it.

What I've done in this tutorial is, that instead of getting down dirty with all the core concepts about this function, and that function, I've made a DLL file which has all required functions in a REALLY simplified manner. :)

This tutorial assumes that you know the basics about memory editing, what is a memory address, what are bytes etc. If you don't, then you got to learn them from somewhere, because I can't be offering that support in here. :)

This tutorial is only for the programming part of the trainer making or making anything involving memory editing. I'm NOT going to explain the different memory structures, methodologies etc. here. Strictly the programming part.

Alright, lets get started. All you have to do is this. In every project you want to do memory editing, you just have to include a reference to the DLL file I'm providing, and then bundle the DLL file along with the tool. :)

Here we go!

1. Open VB.NET express, and make a new solution.

2. In the solution explorer bar on the right, right click on the name of the solution, and click on add reference...

e46fa0a747.jpg


3. Then on the window that comes up, select the browse tab, and go to the folder where the MemConnect.dll file is located. Select it and press ok.

xephmp.jpg


4. Then you're done with it, now to the programming part...

Add a button to your solution. We're going to be making a small minesweeper time changing program.

Note that I've hidden all the memory code from your eyes by using the DLL, so you don't have to worry about that! :)

In the code window, in the button click sub, use this code -

Code:
        Dim connector As New MemConnect.connector()

What this code does is, that it declares a new memory connector, by giving the reference to the MemConnect file and using the connector function in that. In the Dim ____ as New MemConnect.connector(), you can fill anything in the ____ because it is a variable, but then you'll have to use that for the rest of the program. :)

Now that we've declared our memory connector, we need to find the Minesweeper game's process in the memory so we can edit it. :)

Code:
        connector.setprocess("WINmine")

In this code, we use our connector again, and use the setprocess function I've made to set the program to use the Minesweeper process. WINmine is the exe name for Minesweeper, and for example it is cricket07.exe for cricket07. Note the cases, they are important, as capitals are different than lowers. We put the name in double quotes because it is a string.

Now that this line is executed, we've told the program to connect the connector class to the WINmine process, and it attaches itself. Now all we have to do is set the value at the required address.

Next is the writing the real value to it. We use the poke method for that, and the syntax for the API in the DLL is -

connector.poke(address of the value, the value to write, the number of bytes in the memory)

Here's the example code for all this -

Code:
connector.poke(&h100579C, 0, 1)
In this command, we use the method poke, and give the address. &h is the prefix used to specify a hex address. 0 is the value we want to write, and since we're writing only 1 byte we use the number 1.

Note that some people might say its better to assign memory privileges, but I've already included that command in the self made DLL file, so there's no worries! :)

Congratulations! Now you've finally edited a value in the memory! Also note, 100579C is the address in Minesweeper for storing the time, and I've found it out myself. Please don't ask how here, because as I said this thread is strictly for the programming discussion. For other tutorials on finding addresses and such, refer to www.gamehacking.com .


Also, as a sidenote, I've also included Reading from the memory part in the DLL file, and to access it, we use the following code!

Code:
connector.read(address of the value, variable to store the value being read in, number of bytes)

That's all, with this it'll store the value in the address in the variable you specified! :)

Now this tutorial might look big and confusing but its just the simple things explained in detail for better understanding. If you observe carefully, the code is just 2 lines! :D

There are some error handlers in the DLL aswell, the use of which I will explain tomorrow, because its already been too long here and I don't want to scare people away. :p

Lets hope this tutorial helped you and that you enjoyed reading it and programming aswell! Lets see what good use you put this too... :)

And the DLL file is attached! :)
 

Attachments

  • MemConnect.zip
    6.4 KB · Views: 6
What happened? I thought there were quite a lot of people who were interested in trying this? :confused:

Come On people, I'm willing to give reps to everyone who can successfully implement this program! :)
 
I said in an earlier post that I'm busy for the next 2 weeks. I'm still interesting in doing it all, but just can't for the moment
 
I need help. I kind of learned how to use the sharpdeveloper 3.0 from this thread but what i need to know is not here. I made an open button but now what i want to do is that when i click that button then a window should pop up letting me browse desktop for folders. Also, i want to make an extractor button and also importer. Please help. I have started editing brian lara cricket 2007 and i have made alot of patches but i can't release them until i am done everything. So now i am trying to make MNG extractor. Lazy_chesnut has made mng extractor but it can't import any mng files. I MNG files are so important in editing that game. Please can someone show me how to make an MNG extractor and importer? Please!
 

Users who are viewing this thread

Top