I'm using client 7.0.1.1.
I was able to find the teleport packet in the client, and now I'm tracing through it slowly. My goal is to find a way to force the client to reload map and static data that is on the screen.
I found the function in the client that calls CreateFile, CreateFileMapping, and MapViewOfFile. I altered the byte code so that it calls these functions with shared permissions and passes a predictable name for other processes to use. Then I was able to put together a prototype application that allows me to alter the map files directly while the client is running, by calling OpenFileMapping with the predicted name.
I can change the map, but I don't see changes in game until I move away and come back. The best thing would be to find a way to force the client to reload that portion of the map including statics immediately.
I managed to find some of the doubly-linked lists in memory while the client is running. I've been trying to trace through those to see how the client loads its map and static data. I've been moderately successful in figuring out what the values in the linked lists are, but I can't seem to find the corresponding functions that the client uses to traverse the lists and update them.Statistics: Posted by praxiiz — Sat Feb 26, 2011 6:58 pm
]]>