The Matrix Online Server Emulator
THANKYOU RAJKO - Printable Version

+- The Matrix Online Server Emulator (//mxoemu.info/forum)
+-- Forum: The Matrix Online (//mxoemu.info/forum/forumdisplay.php?fid=3)
+--- Forum: MxO General Discussion (//mxoemu.info/forum/forumdisplay.php?fid=4)
+--- Thread: THANKYOU RAJKO (/showthread.php?tid=914)



THANKYOU RAJKO - PinHead - 20-01-2012

Ok so this is just a big thankyou for Rajko who has done so much while balancing school and a big project like this. Thankyou so much Rajko for all the time that you have put into this game. I also just wanted to ask like 2 questions. Where did you learn how to do all of this stuff? your like a computer genius! , Also what is the process of reverse engineering this game what are you doing basically ??Blush


RE: THANKYOU RAJKO - rajkosto - 20-01-2012

google it
who you calling a pinhead ?


RE: THANKYOU RAJKO - bitbomb - 21-01-2012

Rajko said to someone 'Tell me how to program' and 'Show me how to reverse engineer,' and voila!


RE: THANKYOU RAJKO - rajkosto - 21-01-2012

exactly, they just pass on the knowledge to the dragonborn in a flashy effect


RE: THANKYOU RAJKO - QuiDormit - 21-01-2012

FUS RO PROGRAM!


RE: THANKYOU RAJKO - rajkosto - 21-01-2012

New word of power learned - "Machine Code"


RE: THANKYOU RAJKO - Static - 21-01-2012

Skillset required to reverse engineer.

Programming knowledge
* Assembly
* C++
* Understanding of compilers
* Good understanding of structures/classes/inheritance

Tools needed:
* dissassembler (Ida and ollydbg are some of the common ones)
* MS detours (google it)
* Visual Studio (for compiling detours)
* Debugger (ida, windbg)

You can try writing a hello world.exe app and then try to reverse engineering it. You will be surprised how much assembly code gets generated just to print Hello World.

If you are comfortable with reversing basic exes, then you can start learning how to write detours. Detours are commonly used in writing cheat/hacks for the games, they take an existing piece of code in a program and allow you to "detour it" and have it call your code.

For a game like matrix online, you can take existing server code/binary (HardlineDreams or Reality) and make a local server. Then you can try finding out (with dissassembler) pieces of code in the client.dll and matrix2.exe that do something in particular, like how to handle requests from the server for chat etc.

There is enough information on the web on how to reverse engineer. You do need to learn a lot of things, have some good puzzle solving skills and tons of TIME and patience.




RE: THANKYOU RAJKO - rajkosto - 21-01-2012

You spent waay too much effort writing that post, compared to the effort willing to be spent by the OP
Might be good for a reference if someone else comes along though
But they will probably say "lol what is this i dont even" and walk away anyway


RE: THANKYOU RAJKO - bitbomb - 22-01-2012

It's all in how the question is asked. People who are actually willing to put forth the effort to make something happen do not ask for handouts and easy answers. Anyone serious would take it upon themselves to actually do a little research. Also, the way those questions are phrased make it very obvious that the poster is not and will never be the kind of person who would ever really understand this stuff. There's nothing wrong with that, most people who are inerested in the emu project are on the consumer side. The Matrix and/or MxO means so much to them that they wish they could d something to help make it happen. I respect that dedication. But replying to that kind of stuff as if you're talking to an aspiring developer is really a waste of time. The best thing to do is sum it up in terms a player/enthusiast can understand, and express thanks for their interest.

The easiest way to tell we've got a newcomer whose desire to get involved is realistic is to hear something like 'so I've been looking at the code, and...' or something like that. True, maybe we get a little sarcastic when replying to some questions, but that's because it's been a long road of getting really tired of the same stuff over and over.

a) Yo, nothing works. wtf.
b) I wish i could code so I could help.
c) when will it be done?
d) PMing devs and admins for help
e) Wasting people's time demanding we hold their hand through every well documented step, and then complaining or taking off immediately because hardly anything works.

I'm sure I'm leaving a bunch out. After a few years of this happening with the majority of newcomers, a lot of us are pretty quick to become dismissive once the newcomer makes it clear that 'it's gonna be like that.'

Anyway, nothing against PinHead. I hope maybe in the future he adopts the habit of googling something you don't know before asking for information that is not only all over the information superhighway, but in most cases has already been answered dozens of times on the forum. The 'Search' feature on these boards is super handy. If you have a question, chances are you're not the first one to ask it. The idea that anyone would want to personaly spoonfeed everyone who finds the project is for the birds. And sometimes it just gets downright disrespecful when some of the more entitled people come around.

Please excuse my litte rant, it's nothing against PinHead, or anyone else for that matter. But maybe putting this stuff out might make a difference.

We're all here for the same reason, let's try to be as understanding, respectful, and open minded as we can.

ProTip: All the permanent troop around here (the forum regulars and fixtures in the mxoemu chat) are enthusiastic, respecful, helpful people. If you think someone's treating you less than nicely, remind yourself that we're all here to help and maybe step back and take a look at the big picture. Just be cool, that's all. Consider how much effort Rajko has put into this for nothing. Consider that the only people who are qualified and capable of achieving what he is achieving only do this kind of work when someone is paying dearly for their services. Like Rajko has said, the reason he's doing this all on his own is because nobody else is dumb enough to do this kind of work for free.

Excuse my tangent, it's just become really apparent that this stuff need to be put out there, maybe it'll help.