I'm not sure if this has been already explained here, however if it has, just let me know and I will delete this =).
This is not a detailed step by step guide on how to do it, however you will get enough information to do it if you use a bit your brain ^^
First of all, let you know that we need to edit both client (game.exe) and server (ps_game.exe). The BS prices are hard coded in both sides.
First, lets go with the server side, which is easier:
- Open ps_game.exe with your hex editor (I used HxD)
- Now, search for "LENASOFTFOREVER". I would also like to know why that is written there...
- Have a look at the values just under that line, those are all the BS prices in hex (obviously) and also written backwards. Check the snapshot:
Every group of 4 bytes is a price, so the first one is "E8 03 00 00" which in fact is "000003E8" so in decimal will be 1000, next will be "00000FFF" and so on...
For example, in the last line you see "A0 25 26 00" which in decimal is 2500000. This one is the price for weapon enchant =)
Now lets go with the client, there are more methods to do this but I think this one is the easier
- Start your game, and attach to game.exe (or whatever is the name) with ollyDbg
- Go to this address (right click - go to - expression) 004C63A8. You should see something like this:
This is a switch-case structure containing all the possible BS services and prices. This subroutine puts in EAX register the price so is easy to see that for each case you have a different price. - Now have a look at the values for EAX which are the same that in ps_game.exe and change them to whatever you want. Lets take the previous example, if you want to change weapon enchant price to 1000000 you should edit instruction at 004C63FC to MOV EAX, F4240
- Finally just "right click - edit - copy to executable" and save =)
Note that the addresses may vary from a game to another so that will require extra work to find them.
If people request it I will write a detailed guide about this.
Have fun






