Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

Game.exe uniquePT

Initiate Mage
Joined
Nov 9, 2009
Messages
5
Reaction score
0
Someone would have to game.exe uniquePT than to see the files in olly!
thx
 
Last edited by a moderator:
Custom Title Activated
Member
Joined
May 26, 2007
Messages
5,545
Reaction score
1,314
Have seen it in Olly. The game.exe is not very interesting, except in the fact that it's nothing like a normal game.exe.

Most of the game is shifted out to encrypted DLL files, the game.exe it's self is full of either rubbish, or what looks like rubbish until the encrypted DLL files have decrypted it and the main drive of the unencrypted information is about processing the command line, and loading the external libraries which then take over.

GM-Mode is achieved via command line parameters rather than hotuk.ini... that's kind of interesting. And the game.exe it's self will not run directly from explorer (double click) because if no parameters are passed it just quits... you need to know the parameters that the launcher passes, and start it from the command line to make it run normally, or you have to debug it enough with Olly to work out what it would accept.

There is no code in uPT that would be useful to any other PT developer... only protection techniques that are of interest to other private server owners. Implementing something similar would (I think) be very much more work than anyone who comments here has ever bothered with... except it's creator, who has commented here. (though not for some time)

I'm not saying there aren't people here who could, I probably could, but wouldn't want to (I could list others I think have the skill, some more than I, but that could get insulting to anyone I forget). But, keeping interest in the project over the time it would take??? that's the thing.

You wouldn't want to do it the same anyway, because that would be truly boring. What's interesting about Unique is that it is so very different. For example, you could (and I have) mix and match code and data from EPT, PTV, PTBr, PTCn, jPT and KPT. There are enough similarities. You can mix bits of any of the other Private PT game clients (again, potentially insulting, we all know where the TopList pages are.)

The game.exe of uPT could not be used like that, and would be useless for that purpose... not that I would recommend plagiarising from any other Private servers client, but you wouldn't even learn anything from trying to do that with uPT.

If you learned how uPT achieved a feature, you would either have to use their client, or you would have to invent an entirely different approach to implement it in any other client (game.exe) that wasn't based entirely from uPTs' based entirely upon the end result and ignoring the "how that result is achieved" bit, just as you would if you had never seen uPTs' code.

It's internal data structures are entirely dis-similar, though the external files are the same (different header "corruption") its' locations and use of variables is different, its' algorithms for calculating scores, hit points, damage etc are all entirely different... as if someone took the C++ source, translated it into Objective C, changed all the library routines, re-targeted it to a different development framework switched around what was internal routines and what was external libraries re-compiled to assembler leaving out the assemble and link phases of a normal "build" operation, hand tweaked the assembler and then manually assembled and linked it.

The fact that it still seems to be build with MSVC 6 aside, it looks as if it was entirely re-written. Like when a development team move from SLT to MFC or from MFC to GTK... though the end result, user interface and mechanics are the same the underlying code and data structures is built up entirely differently... Some of that is inherent in the framework change which results in data being passed to and from library routines in different forms and orders, but because such a major change has to be done manually, a lot of code is re-organised in light of hind-sight in the process. For example, fixed length records in an array become linked-lists or sub-classed objects instead... or if the linked list turns out to only ever contain 4 or even 8 records (UDTs) then it may be decided to work the other way.

There was code I recognised... but it was only MSVC foundation code being used in a similar way to do something different. To ensure their launcher is used and see if you are a GM instead of looking for HanDes alternate log-on methods for example. Or loading external DLLs (èla XTrap or nProtect) to ensure security while the game is running... but uPT does this via utterly different methods.

As I say, the security DLL doesn't merely contain checksums, it contains part of the code, in encrypted form, and it contains keys to unlock the code that is in the client. Unlike Exe encryptors it doesn't do this before the game loads, it does it as-and-when required.

Like any good database security system it is salted with useless rubbish, and contains "honey pot" which look very promising but are actually dead ends.

And everything I have seen and mentioned may be that I found "honey pots" of rubbish, but it's still plain to me that looking at uPTs game.exe is a pointless waste of time. IMHO.

You can spend a lot of time reworking it to "feel" more like a conventional PT, but that still won't get you any closer to doing anything except hacking uPT... I'm not interested in doing that, and I hope nobody else here is interested in doing that either. It won't help you develop your own server at all.

Anyway, you want to look at it in Olly, get it or download the full client from them, as (as previously mentioned) most of the game isn't in game.exe anyway. :eek:tt1:
 
Last edited:
Back
Top