Register for your free account! | Forgot your password?

Go Back   elitepvpers > Popular Games > Silkroad Online > SRO Coding Corner
You last visited: Today at 20:45

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



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

Discussion on [Guide] Creating a Simple Loader with Injected DLL for Silkroad within the SRO Coding Corner forum part of the Silkroad Online category.

Reply
 
Old 08/13/2010, 05:26   #16

 
elite*gold: 260
Join Date: Aug 2008
Posts: 560
Received Thanks: 3,779
Quote:
Originally Posted by baracoudaking View Post
i get an error saying incorrect version of isilk.dll
If you are compiling your own code, you need to make sure to run in Release mode and choose "Multi-threaded (/MT)" under "Configuration Properties -> C/C++ -> Code Generation -> Runtime Library". This cases the static runtime libraries to be used so you do not have to worry about DLLs for redistribution. For debug mode, choose "Multi-threaded Debug (/MTd)" but when you use detours, you need to run in Release mode.
pushedx is offline  
Old 10/21/2010, 10:04   #17
 
elite*gold: 0
Join Date: Mar 2008
Posts: 16
Received Thanks: 1
you need to explain better on how to run it bro, i get confused alot like whoaa.. idk how to get to silkroadframework folder, i finished everything, then next thing u know the debug folder isnt in my main folder?? help plz
kevin5x is offline  
Old 01/28/2011, 19:32   #18
 
elite*gold: 0
Join Date: Jan 2011
Posts: 3
Received Thanks: 0
I'm getting these build errors


loaderis.obj : error LNK2019: unresolved external symbol "int __cdecl edx::InjectDLL(void *,char const *,char const *,unsigned long,bool)" (?InjectDLL@edx@@YAHPAXPBD1K_N@Z) referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol "unsigned __int64 __cdecl edx::GetEntryPoint(char const *)" (?GetEntryPoint@edx@@YA_KPBD@Z) referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol "bool __cdecl edx::CreateSuspendedProcess(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,struct _STARTUPINFOA &,struct _PROCESS_INFORMATION &)" (?CreateSuspendedProcess@edx@@YA_NABV?$basic_strin g@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@0A AU_STARTUPINFOA@@AAU_PROCESS_INFORMATION@@@Z) referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol _WSACleanup@0 referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol _closesocket@4 referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol _connect@12 referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol _htons@4 referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol "struct hostent * __cdecl edx::GetHost(char const *)" (?GetHost@edx@@YAPAUhostent@@PBD@Z) referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol _socket@12 referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol "bool __cdecl edx::CanGetHostFromAddress(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?CanGetHostFromAddress@edx@@YA_NABV?$basic_string @DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol _WSAStartup@8 referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol "public: char const * __thiscall edx::FileChooser::GetSelectedFileName(void)" (?GetSelectedFileName@FileChooser@edx@@QAEPBDXZ) referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol "public: char const * __thiscall edx::FileChooser::GetSelectedFileTitle(void)" (?GetSelectedFileTitle@FileChooser@edx@@QAEPBDXZ) referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol "public: void __thiscall edx::FileChooser::SetDefaultFileName(char const *)" (?SetDefaultFileName@FileChooser@edx@@QAEXPBD@Z) referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol "public: void __thiscall edx::ConfigFile::Write(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?Write@ConfigFile@edx@@QAEXABV?$basic_string@DU?$ char_traits@D@std@@V?$allocator@D@2@@std@@0@Z) referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol "public: char const * __thiscall edx::FileChooser::GetSelectedFilePath(void)" (?GetSelectedFilePath@FileChooser@edx@@QAEPBDXZ) referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol "public: __thiscall edx::ConfigFile::~ConfigFile(void)" (??1ConfigFile@edx@@QAE@XZ) referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol "public: __thiscall edx::FileChooser::~FileChooser(void)" (??1FileChooser@edx@@QAE@XZ) referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol "public: bool __thiscall edx::FileChooser::ShowChooseFile(bool)" (?ShowChooseFile@FileChooser@edx@@QAE_N_N@Z) referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol "public: void __thiscall edx::FileChooser::SetDialogTitle(char const *)" (?SetDialogTitle@FileChooser@edx@@QAEXPBD@Z) referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol "public: void __thiscall edx::FileChooser::SetInitialDirectory(char const *)" (?SetInitialDirectory@FileChooser@edx@@QAEXPBD@Z) referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl edx::GetAbsoluteDirectoryPath(void)" (?GetAbsoluteDirectoryPath@edx@@YA?AV?$basic_strin g@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ ) referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol "public: void __thiscall edx::FileChooser::AddFilter(char const *,char const *)" (?AddFilter@FileChooser@edx@@QAEXPBD0@Z) referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol "public: __thiscall edx::FileChooser::FileChooser(void)" (??0FileChooser@edx@@QAE@XZ) referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall edx::ConfigFile::Read(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?Read@ConfigFile@edx@@QAE?AV?$basic_string@DU?$ch ar_traits@D@std@@V?$allocator@D@2@@std@@ABV34@@Z) referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol "public: void __thiscall edx::ConfigFile::Open(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,bool,bool &)" (?Open@ConfigFile@edx@@QAEXV?$basic_string@DU?$cha r_traits@D@std@@V?$allocator@D@2@@std@@_NAA_N@Z) referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl edx::GetWriteableDirectory(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?GetWriteableDirectory@edx@@YA?AV?$basic_string@D U?$char_traits@D@std@@V?$allocator@D@2@@std@@V23@@ Z) referenced in function _WinMain@16
where is the problem?
Randomness_ is offline  
Old 01/28/2011, 20:49   #19
 
lesderid's Avatar
 
elite*gold: 0
Join Date: Dec 2007
Posts: 2,400
Received Thanks: 1,517
Quote:
Originally Posted by Randomness_ View Post
I'm getting these build errors


loaderis.obj : error LNK2019: unresolved external symbol "int __cdecl edx::InjectDLL(void *,char const *,char const *,unsigned long,bool)" (?InjectDLL@edx@@YAHPAXPBD1K_N@Z) referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol "unsigned __int64 __cdecl edx::GetEntryPoint(char const *)" (?GetEntryPoint@edx@@YA_KPBD@Z) referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol "bool __cdecl edx::CreateSuspendedProcess(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,struct _STARTUPINFOA &,struct _PROCESS_INFORMATION &)" (?CreateSuspendedProcess@edx@@YA_NABV?$basic_strin g@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@0A AU_STARTUPINFOA@@AAU_PROCESS_INFORMATION@@@Z) referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol _WSACleanup@0 referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol _closesocket@4 referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol _connect@12 referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol _htons@4 referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol "struct hostent * __cdecl edx::GetHost(char const *)" (?GetHost@edx@@YAPAUhostent@@PBD@Z) referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol _socket@12 referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol "bool __cdecl edx::CanGetHostFromAddress(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?CanGetHostFromAddress@edx@@YA_NABV?$basic_string @DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol _WSAStartup@8 referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol "public: char const * __thiscall edx::FileChooser::GetSelectedFileName(void)" (?GetSelectedFileName@FileChooser@edx@@QAEPBDXZ) referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol "public: char const * __thiscall edx::FileChooser::GetSelectedFileTitle(void)" (?GetSelectedFileTitle@FileChooser@edx@@QAEPBDXZ) referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol "public: void __thiscall edx::FileChooser::SetDefaultFileName(char const *)" (?SetDefaultFileName@FileChooser@edx@@QAEXPBD@Z) referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol "public: void __thiscall edx::ConfigFile::Write(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?Write@ConfigFile@edx@@QAEXABV?$basic_string@DU?$ char_traits@D@std@@V?$allocator@D@2@@std@@0@Z) referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol "public: char const * __thiscall edx::FileChooser::GetSelectedFilePath(void)" (?GetSelectedFilePath@FileChooser@edx@@QAEPBDXZ) referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol "public: __thiscall edx::ConfigFile::~ConfigFile(void)" (??1ConfigFile@edx@@QAE@XZ) referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol "public: __thiscall edx::FileChooser::~FileChooser(void)" (??1FileChooser@edx@@QAE@XZ) referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol "public: bool __thiscall edx::FileChooser::ShowChooseFile(bool)" (?ShowChooseFile@FileChooser@edx@@QAE_N_N@Z) referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol "public: void __thiscall edx::FileChooser::SetDialogTitle(char const *)" (?SetDialogTitle@FileChooser@edx@@QAEXPBD@Z) referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol "public: void __thiscall edx::FileChooser::SetInitialDirectory(char const *)" (?SetInitialDirectory@FileChooser@edx@@QAEXPBD@Z) referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl edx::GetAbsoluteDirectoryPath(void)" (?GetAbsoluteDirectoryPath@edx@@YA?AV?$basic_strin g@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ ) referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol "public: void __thiscall edx::FileChooser::AddFilter(char const *,char const *)" (?AddFilter@FileChooser@edx@@QAEXPBD0@Z) referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol "public: __thiscall edx::FileChooser::FileChooser(void)" (??0FileChooser@edx@@QAE@XZ) referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall edx::ConfigFile::Read(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?Read@ConfigFile@edx@@QAE?AV?$basic_string@DU?$ch ar_traits@D@std@@V?$allocator@D@2@@std@@ABV34@@Z) referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol "public: void __thiscall edx::ConfigFile::Open(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,bool,bool &)" (?Open@ConfigFile@edx@@QAEXV?$basic_string@DU?$cha r_traits@D@std@@V?$allocator@D@2@@std@@_NAA_N@Z) referenced in function _WinMain@16
loaderis.obj : error LNK2019: unresolved external symbol "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl edx::GetWriteableDirectory(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?GetWriteableDirectory@edx@@YA?AV?$basic_string@D U?$char_traits@D@std@@V?$allocator@D@2@@std@@V23@@ Z) referenced in function _WinMain@16
where is the problem?
I think you aren't compiling the Common.cpp file, but I could be wrong.
lesderid is offline  
Old 05/13/2011, 17:45   #20
 
* White *'s Avatar
 
elite*gold: 0
Join Date: Oct 2010
Posts: 717
Received Thanks: 330
when i need to injecy dll there is no dll in debug folder..
* White * is offline  
Old 05/13/2011, 18:39   #21
 
elite*gold: 0
Join Date: Nov 2007
Posts: 959
Received Thanks: 602
you need to compile that yourself... -.-"
vorosmihaly is offline  
Old 05/23/2011, 16:34   #22
 
NUKER_PUMA's Avatar
 
elite*gold: 3
Join Date: Nov 2009
Posts: 825
Received Thanks: 329
very nice !
NUKER_PUMA is offline  
Old 06/06/2011, 19:04   #23
 
elite*gold: 0
Join Date: Aug 2007
Posts: 621
Received Thanks: 351
im trying it on elite sro and it gives c8 error...i replaced the login server from gwgt to login.sro.vn still same thing...if you could help!
marius1000 is offline  
Old 06/07/2011, 07:40   #24

 
elite*gold: 260
Join Date: Aug 2008
Posts: 560
Received Thanks: 3,779
Quote:
Originally Posted by marius1000 View Post
im trying it on elite sro and it gives c8 error...i replaced the login server from gwgt to login.sro.vn still same thing...if you could help!
C8 means you didn't use a command line for starting the client (no locale sent).
pushedx is offline  
Old 07/20/2011, 18:33   #25
 
elite*gold: 0
Join Date: Jul 2011
Posts: 31
Received Thanks: 5
1st i'd like to thank You for ur effort "Drew Benton"
and i have 2 questions
1-i have been disconnected from silkroad world server after i run the loader.exe and login to the game
what is the reason?
2- i'm not good in C++ and i saw the code is hard for me to understand
i know java and C# is there a way to convert the code to C#

thank you
& plz reply me
Little Hole is offline  
Old 07/20/2011, 19:14   #26

 
Haxor's Avatar
 
elite*gold: 0
Join Date: Feb 2008
Posts: 3,777
Received Thanks: 1,455
thank you
#Request make c# tutorials
Haxor is offline  
Old 07/20/2011, 21:55   #27

 
elite*gold: 260
Join Date: Aug 2008
Posts: 560
Received Thanks: 3,779
Quote:
Originally Posted by saif1999 View Post
thank you
#Request make c# tutorials
You could do a few things in C#, but you'd still need to use C++ for the low level stuff. There's ways you can implement it all in C#, but it's not really worth it unless you wanted to spend the time and be limited with what you could do.

There is some cool stuff you can do when you mix them though. For example, using this concept: you can actually take your C++ Loader/DLL and add .Net capabilities to it.

Since C# is .Net and VB.Net uses .Net, this means you can essentially add C# and VB.Net code to any process. The main limitation of passing data between C++ and .Net is that you can only use 1 (unicode) string, but you can also setup other mechanisms.

However, to really get any awesome stuff going on, you need to know C/C++ as well as ASM language wise and general reverse engineering stuff to be able to setup the codecaves and detours to allow your higher level code to make use of the lower level stuff!
pushedx is offline  
Thanks
1 User
Old 07/20/2011, 23:35   #28

 
Haxor's Avatar
 
elite*gold: 0
Join Date: Feb 2008
Posts: 3,777
Received Thanks: 1,455
Quote:
Originally Posted by pushedx View Post
You could do a few things in C#, but you'd still need to use C++ for the low level stuff. There's ways you can implement it all in C#, but it's not really worth it unless you wanted to spend the time and be limited with what you could do.

There is some cool stuff you can do when you mix them though. For example, using this concept: you can actually take your C++ Loader/DLL and add .Net capabilities to it.

Since C# is .Net and VB.Net uses .Net, this means you can essentially add C# and VB.Net code to any process. The main limitation of passing data between C++ and .Net is that you can only use 1 (unicode) string, but you can also setup other mechanisms.

However, to really get any awesome stuff going on, you need to know C/C++ as well as ASM language wise and general reverse engineering stuff to be able to setup the codecaves and detours to allow your higher level code to make use of the lower level stuff!
I learned c# 1 year on school and now im trying to get better on it espically in sro related things and creating tools etc..
I dont like learn like more language that use another syntax , I see that everything built in c++ , But i like to take deep in c#
So i just saying if you can just make some c# tutorials
I just take a look of silkroadapi and the examples and it was great
it helped me alot
Haxor is offline  
Old 07/21/2011, 21:40   #29
 
Kazuyaš's Avatar
 
elite*gold: 0
Join Date: Apr 2007
Posts: 449
Received Thanks: 236
Quote:
Originally Posted by saif1999 View Post
I learned c# 1 year on school and now im trying to get better on it espically in sro related things and creating tools etc..
I dont like learn like more language that use another syntax , I see that everything built in c++ , But i like to take deep in c#
So i just saying if you can just make some c# tutorials
I just take a look of silkroadapi and the examples and it was great
it helped me alot
if you do not learn basic ASM and binary stuff, your sro development status
isnt going to get very far.
Kazuyaš is offline  
Thanks
2 Users
Old 07/22/2011, 00:23   #30
 
elite*gold: 0
Join Date: Jul 2011
Posts: 31
Received Thanks: 5
Thanks for advise
I want some References to the Assembly that help me in the silkroad development
Little Hole is offline  
Reply


Similar Threads Similar Threads
[TUTORIAL] Creating a simple DLL Cheat/Hack
07/12/2021 - Kal Hacks, Bots, Cheats & Exploits - 162 Replies
HOW TO CREATE YOUR OWN DLL HACK Hello guys, In recent days, I recieved many questions about how to use the pointers posted in one specific thread. So here is guide for creating the basic Proxy-DLL skeleton + hack. I will try to explain it to details. Requirements 1] Some C++ and UCE (memory and such stuff) knowladge 2] Some Time
[Guide] Creating your own ingame Silkroad GUI
04/25/2019 - SRO Guides & Templates - 26 Replies
As I already said here, in the last few weeks (actually months, haven't been working actively on it), I've been creating a generic ingame GUI, which is fully movable/draggable around, features control support and with which you can make your own modifications to the game user interface easily. I changed my mind about releasing the full open-source application which features a totally Silkroad-like interface - because the code is too much complicated and it definetly requires a rewrite (I didn't...
[Guide] A Simple Silkroad Proxy Reference
08/04/2010 - SRO Coding Corner - 17 Replies
This guide is similar to to my Loader/Injected DLL guide. It's a complete project, but by itself, it is not enough to fully utilize at this stage. However, there is so much to this topic that I have to break down everything into different parts first. This guide will be the first in a small part series that shows how a Silkroad proxy is made. Future guides will complete the project by showing how to do the hook for a client, as well as a simple clientless that uses the proxy. Right now, the...
[Intermediate] Creating a strong but simple cipher
08/31/2008 - CO2 Programming - 9 Replies
Basically, here's the idea, we have a 'key' that contains every value a byte supports (0 to 255). When you encrypt a byte for instance 171 (0xAB) it creates an "x" using the first 4 bits of the byte, and "y" using the last for bits of the byte Value = 171 (0xAB) X = 10 (0xA) Y = 11 (0xB) Then in the output of the encrypt routine, it it'll fill that index as Key Here's an illustration to make it simpler; http://img120.imageshack.us/img120/3282/cipheran4 .gif



All times are GMT +1. The time now is 20:45.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.