Timeline for Need to recover C++ code from binary of server and client
Current License: CC BY-SA 3.0
22 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
Apr 25, 2015 at 18:11 | comment | added | rev | @Airduster good job! now, before you continue googling, keep something in mind: assembly is NOT as scary as some people tell it is. | |
Apr 25, 2015 at 17:53 | comment | added | Selwyn | @AcidShout I found a utility called "PackerBreaker" that was able to successfully unpack it and I also successfully loaded the exe into IDA Pro... now I need to learn how to read assembly to figure out what the heck is going on lol... progress | |
Apr 24, 2015 at 12:18 | comment | added | rev | @Airduster I don't have experience with that packer, but my guess is that you can unpack it a-la-UPX, so just search how to unpack UPX manually (or MPRESS for that matter), and follow the instructions for your binary. Alternatively, dump the binary from memory on runtime, fix IAT, and done. Then you can patch whatever you want, which is, most of the times, much easier than recreating the game. [talking from a bit of experience modding games] | |
Apr 24, 2015 at 11:41 | comment | added | Selwyn | Looking at the Decompress.ASM for one of the unpackers it on line 208 says " push eax ; Bad luck. No matching versions to be found. push offset szInvalidChecksum" :( | |
Apr 24, 2015 at 11:35 | comment | added | Selwyn | @AcidShout hmm I tried the link to those PEX .99 unpacking utils all of them throw errors and say pex signature is not found for the Continuum.exe client or Continuum040.exe. Yea using Peid .95 says it's PEX .99 :/ . Weird if you try to compress continuum.exe with PEX .99 says it is already compressed so the compress utility detected the signature but the unpackers do not. | |
Apr 22, 2015 at 9:43 | comment | added | Selwyn | @glampert there is an effort on the way already. github.com/Periapsis/aphelion . I just wanted to see how "easy" it was to possibly make some small patches in the mean time. Open source effort is not trivial though (if you look at all the open tickets) | |
Apr 22, 2015 at 3:59 | comment | added | glampert | Honestly, it doesn't look like an overly complicated game, specially in the graphics... If I were you, I'd concentrate my efforts in a full open-source remake, rather than suffer trying to reverse engineer the existing binaries... | |
Apr 20, 2015 at 17:05 | comment | added | rev | Check the CreateRemoteThread & LoadLibrary injection technique here. You can automate that by coding a program which will list all the files inside a folder and inject them (easily pluggable binary files). As for unpacking the file, you can check this link. | |
Apr 20, 2015 at 13:38 | history | edited | Selwyn | CC BY-SA 3.0 |
added 214 characters in body
|
Apr 20, 2015 at 13:35 | comment | added | Selwyn | @AcidShout whatever is easiest I just want to know what is possible. I tried loading client .exe into IDA but it failed to "decode" it. Some one mentioned earlier that the client .exe is encrypted with "PEX 99". Is there a tutorial that shows how to decrypt the .exe and dll inject? And I'm really not sure how to dll inject if I have no knowledge of the inter working of the existing logic? I also added some sample enhancements I would like to do in the original post. | |
Apr 20, 2015 at 13:16 | comment | added | rev | If you don't want to completely reverse engineer the source, you can hook the game by injecting DLLs and modifying code at runtime. It's what cheaters do to create game hacks, but you can use it to improve it instead. | |
Apr 19, 2015 at 20:41 | comment | added | Selwyn | Unfortunately No I could maybe ask others but I none of the original developers are still around. The game has been maintained by the community without any updates to the client since 2002/3. We've gotten away with it all these years but I think it's finally catching up to us as it is slowly dying now due to lack of ability to enhance. | |
Apr 19, 2015 at 20:36 | comment | added | Jongware | Hah - I overlooked you confessing you're not one of the programmers. The 'object' and 'map' files I alluded to are intermittant files, created by a compiler. They contain valuable information on how the main executable got glued together ("linking"). So I gather you don't have those either. | |
Apr 19, 2015 at 19:24 | answer | added | malikcjm | timeline score: 1 | |
Apr 19, 2015 at 19:07 | comment | added | Selwyn | But no I don't have any any technical knowledge of the underlying application. I can only deduce what I see as a user. Over the years the community has been able to write an open source server (ASSS) based on the SS protocol but nobody has put in an effort to rewrite the client. Like I said the game still functions and the community is still active but it desperately needs minor enhancements to the client/server to modernize the game. | |
Apr 19, 2015 at 18:59 | comment | added | Selwyn | I'll try to explain how it works. The continuum40.exe client loads a U.I that allows the configuration of keyboards settings, any user settings, or fixed values. This U.I also presents a list of potential servers that it can connect to with their statistics. Once you select a server and click "connect". When you connect to the server binary it loads I believe openGL graphics and uses the subspace protocol (wiki.minegoboom.com/index.php/UDP_Game_Protocol) to communicate with the server. The packets are encrypted. I can provide server binary if needed. Server forum: shanky.com | |
Apr 19, 2015 at 18:50 | comment | added | Selwyn | Yes the game is very active. You can install the game and download maps from any active sever. I am not sure how the underlying application works programmatically I did not develop the original code. No debug build I think if we had prolly have access to the underlying code as well | |
Apr 19, 2015 at 17:37 | comment | added | Jongware | Do you have any documentation at all? Map or object files, notes, sketches, flow diagrams? A fully working Debug Build, for example, would help tremendously. | |
Apr 19, 2015 at 16:36 | history | edited | 0xec |
added interoperabiliy & c++ tags
|
|
Apr 19, 2015 at 15:02 | history | edited | Selwyn | CC BY-SA 3.0 |
added 114 characters in body
|
Apr 19, 2015 at 14:59 | review | First posts | |||
Apr 19, 2015 at 16:30 | |||||
Apr 19, 2015 at 14:55 | history | asked | Selwyn | CC BY-SA 3.0 |