|
You last visited: Today at 20:45
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.
08/13/2010, 05:26
|
#16
|
elite*gold: 260
Join Date: Aug 2008
Posts: 560
Received Thanks: 3,779
|
Quote:
Originally Posted by baracoudaking
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.
|
|
|
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
|
|
|
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?
|
|
|
01/28/2011, 20:49
|
#19
|
elite*gold: 0
Join Date: Dec 2007
Posts: 2,400
Received Thanks: 1,517
|
Quote:
Originally Posted by Randomness_
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.
|
|
|
05/13/2011, 17:45
|
#20
|
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..
|
|
|
05/13/2011, 18:39
|
#21
|
elite*gold: 0
Join Date: Nov 2007
Posts: 959
Received Thanks: 602
|
you need to compile that yourself... -.-"
|
|
|
05/23/2011, 16:34
|
#22
|
elite*gold: 3
Join Date: Nov 2009
Posts: 825
Received Thanks: 329
|
very nice !
|
|
|
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!
|
|
|
06/07/2011, 07:40
|
#24
|
elite*gold: 260
Join Date: Aug 2008
Posts: 560
Received Thanks: 3,779
|
Quote:
Originally Posted by marius1000
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).
|
|
|
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
|
|
|
07/20/2011, 19:14
|
#26
|
elite*gold: 0
Join Date: Feb 2008
Posts: 3,777
Received Thanks: 1,455
|
thank you
#Request make c# tutorials
|
|
|
07/20/2011, 21:55
|
#27
|
elite*gold: 260
Join Date: Aug 2008
Posts: 560
Received Thanks: 3,779
|
Quote:
Originally Posted by saif1999
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!
|
|
|
07/20/2011, 23:35
|
#28
|
elite*gold: 0
Join Date: Feb 2008
Posts: 3,777
Received Thanks: 1,455
|
Quote:
Originally Posted by pushedx
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
|
|
|
07/21/2011, 21:40
|
#29
|
elite*gold: 0
Join Date: Apr 2007
Posts: 449
Received Thanks: 236
|
Quote:
Originally Posted by saif1999
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.
|
|
|
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
|
|
|
 |
|
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.
|
|