[Guide] Creating a Simple Loader with Injected DLL for Silkroad

07/22/2011 06:22 pushedx#31
Quote:
Originally Posted by Little Hole View Post
Thanks for advise
I want some References to the Assembly that help me in the silkroad development :D
When I need to reference ASM stuff, I usually start with this: [Only registered and activated users can see links. Click Here To Register...] and am usually able to find everything I need. Occasionally I need something that's not there, so next place would be: [Only registered and activated users can see links. Click Here To Register...].

Most of the time, you just have to figure out what you need to search for. Actually searching for ASM opcodes and logic can be really tricky, so it can be helpful to actually compile short snippets of code in Visual Studio (the version closest to what the exe you are looking at uses) and to try and get an idea of what could be going on. The generated code is similar, but won't be the same due to project settings, compiler optimization, and other system settings (service packs for example).

Actually getting familiar with ASM and being able to reverse is something that just takes a lot of practice and building up experience. It's like putting together a large puzzle, but you don't know what the puzzle is of yet. So you start out finding patterns and similar pieces that go together and eventually over time you are able to get a better idea of what is going on.

Before you get into learning just ASM though, you should have a good grasp on C/C++ programming. If you do, then actually understanding higher level logic from the ASM code is a lot easier. For example, if you are reversing Win32 applications, you will need to spend a lot of time consulting [Only registered and activated users can see links. Click Here To Register...] for the Win32 API functions and how they are used. That way, you know what parameters are and possibly what code might appear where to setup the logic for something.

Finally, you want to get really comfortable using OllyDbg. You can't do much with a tool unless you understand how to use it, what it's limitations and capabilities are first. Working through practice crackme, serial keygen examples, or basic reversing tutorials like [Only registered and activated users can see links. Click Here To Register...] is a great place to begin getting more familiar with OllyDbg.

So while learning ASM is important, it's only one part of the process you need to work through to be able to get to a point where you can do the things you've always wanted to. It's never too early or late to start, this is something you have to spend years at to improve your skills. That might sound like a long time, but time goes by fast!
03/04/2013 22:11 spartai333#32
im looking for tutorial like this just im wondering i can found some in c# language.
03/08/2013 01:16 intercsaki#33
So do I!!

I quite understand that C++ is a more successive language to code things like these, since the language is closer to the cpu than .NET is, but honestly, C# is much more understandable. :D
03/18/2013 05:09 Alexiuns#34
but this is C++ what about C# ?
06/26/2013 12:43 gigola123#35
Any one know why I get c8 ?
06/26/2013 14:02 qkuh#36
I guess the process arguments are wrong/missing.
10/10/2014 23:48 tothg001#37
Quote:
Originally Posted by pushedx View Post
C8 means you didn't use a command line for starting the client (no locale sent).
How to solve this?
02/02/2016 21:22 homelesshobo#38
Quote:
Originally Posted by tothg001 View Post
How to solve this?

change the number /18 in line 92 of the loader.cpp to the locale number of your particular SRO version.

Quote:
Content 1 = Silkroad_Dev
Content 2 = Silkroad_Korea_Yahoo_Official
Content 3 = Silkroad_Korea_Yahoo_Test_IN
Content 4 = SRO_China_Official
Content 5 = SRO_China_TestLocal
Content 6 = Silkroad_Joymax
Content 7 = JoymaxMessenger
Content 8 = ServiceManager
Content 9 = SRO_China_TestIn
Content 10 = SRO_Taiwan_TestIn
Content 11 = SRO_Taiwan_TestLocal
Content 12 = SRO_Taiwan_Official
Content 13 = SRO_DEEPDARK
Content 14 = SRO_Taiwan_BillingTest
content 15 = Silkroad_Japan_Official
Content 16 = SRO_Japan_TestLocal
Content 17 = SRO_Japan_TestIn
Content 18 = SRO_Global_TestBed
Content 19 = SRO_Global_TestBed_In
Content 20 = SRO_EuropeTest
Content 21 = SRO_Vietnam_TestIn
Content 22 = SRO_Vietnam_TestLocal
Content 23 = SRO_Net2E_Official
Content 24 = Yahoo_Official_Test
Content 25 = SRO_GNGWC_TestIn
Content 26 = SRO_GNGWC_Official
Content 27 = SRO_China_OpenTest
Content 29 = SRO_GNGWC_Official_Final
Content 30 = CPRJ_Dev
Content 31 = SRO_INTERNAL_EU
Content 32 = SRO_INTERNAL_EU_QUEST
Content 33 = Vietnam_Dev
Content 34 = SRO_China_EuroTest
Content 35 = SRO_Taiwan_FOS CB
Content 36 = SRO_China_Testinial_Test


------------Newer then Sl Cert---------------
Content 38 = BlackRogue (Thailand SRO)
Content 40 = RuSRO
e.g. If you want to load a Silkroad private server based on VSRO server files, you'll need 22
Code:
args << "0 /22 0 ";