Let me just start of by saying that I really do not know how to start this reply. This topic contains so much retarded text and information written in a manner that should never see they light of day.
The things discussed in this topic is basic networking knowledge. Not the RDC part, but the WAN/LAN/routing part.
To start of I will answer the original topic question;
How does Remote Desktop trojan work? Does it enable the port 3389(default) itself at the victims router configuration? If not, how does it work? Since if i want to code my own, it is only possible if the victim has enabled Router Port of 3389?
(quote above is not original, corrected quite a lot.)
<rant>
When you use commas, use them correctly. It is not "word , word" or "word,word" or "word ,word". It is "word, word".
One does not use capital letters in words that are not names, locations, abbreviations and a few other exceptions.
Use punctuations.
Use question marks.
Use line breaks.
DO NOT USE THE WORD "BRO" OR ALIKE.
This may not be as annoying to you and people writing like yourself right now. But once you stop writing like a fool and start writing understandable, it is a real mother-fucking-pain in the ass.
</rant>
Now on to your question:
Very very few applications/services auto forward their ports in routers and Microsoft's remote desktop control service is not one of them. This is simply because there are no standards for this(I am sure there are more reasons for it as well). All routers(most) are different from one another and so forth.
However, there are something called UPnP which allows for temporarily port forwarding. Various torrent clients and so forth use UPnP to allow file exchange. I suggest you look into that, or use reverse connection technology.
In reply to your this part of your question(", if no then how it works :S"): If you are in a LAN and separated from the Internet by a router or other means of network separation, you have to configure your separation device(s) to forward specific ports and or addresses to the correct machine inside the LAN and then connect to the routers public IP(often revered to as port forwarding).
I would suggest you look away from most other replies than mine in this topic as they are just confusing and or wrong. I would also suggest you do the first part of a CCNA Cisco certification or something along those lines. Not saying that you need to have a deep understanding of everything before moving on, but its a smart choice if you do.
I would also like to apologize for any offense people will take from this as I know people will. The 'rant' section of this reply is a general reply to all rubbish-writers. I do not mean to offend anyone, but I just can't stand people who can't write properly. Even though I have been there and done that.