|
You last visited: Today at 13:28
Advertisement
Injecting packets to old files (sj/zszc/ecsro)
Discussion on Injecting packets to old files (sj/zszc/ecsro) within the SRO Coding Corner forum part of the Silkroad Online category.
02/13/2015, 22:22
|
#1
|
elite*gold: 28
Join Date: Aug 2014
Posts: 4,096
Received Thanks: 2,653
|
Injecting packets to old files (sj/zszc/ecsro)
Well, I can read the packets everything works fine but, whenever you inject any packet the client simply freezes. Any idea?
|
|
|
02/14/2015, 14:22
|
#2
|
elite*gold: 0
Join Date: Mar 2009
Posts: 537
Received Thanks: 156
|
use proxy
|
|
|
02/14/2015, 15:28
|
#3
|
elite*gold: 28
Join Date: Aug 2014
Posts: 4,096
Received Thanks: 2,653
|
Quote:
Originally Posted by alexhun
use proxy 
|
Dude that's not the problem, I am using a proxy, just when the client is being used and you try to inject the packet it freezes.
|
|
|
03/03/2015, 14:50
|
#4
|
dotCom
elite*gold: 10102
Join Date: Mar 2009
Posts: 16,963
Received Thanks: 4,701
|
I told ya you need to use
Code:
SilkroadSecurityApi.Proxy.Init();
IntPtr Mutex = WinAPI.CreateMutex(IntPtr.Zero, false, "Silkroad Online Launcher");
IntPtr Mutex2 = WinAPI.CreateMutex(IntPtr.Zero, false, "Ready");
p_Silkroad = new Process();
p_Silkroad.StartInfo.FileName = Loop.sClientPath;
p_Silkroad.StartInfo.Arguments = "0 /4 0 0";
p_Silkroad.Start();
Thread.Sleep(100);
string errors = "";
WinAPI.DoInject(p_Silkroad, "cDetour.dll", out errors);
if (errors.Length != 0)
Console.WriteLine(errors);
IntPtr whandle = WinAPI.OpenProcess(WinAPI.Rights, 0, (IntPtr)p_Silkroad.Handle);
byte[] AlreadyExecuted = { 0xEB };
WinAPI.WriteBytes((IntPtr)p_Silkroad.Handle, 0x633D6C, AlreadyExecuted, AlreadyExecuted.Length);
Pattern pattern = new Pattern(p_Silkroad);
uint ClientSeedAdress = pattern.FindPattern("55 8B 6C 24 1C 8D 44 24 04 50 FF 15 00 00 00 00 8B 4C 24 04 81 E1 00 00 00 00", "xxxxxxxxxxxx????xxxxxx????") + 0x10;
ASM asm = new ASM();
asm.__ASM("MOV ECX,0x33");
for (byte i = 0; i < 5; i++)
asm.__ASM("NOP");
asm.InjectIntoProcess(p_Silkroad.Handle, ClientSeedAdress);
WinAPI.CloseHandle(Mutex);
WinAPI.CloseHandle(Mutex2);
FormParty example:
Code:
public static void FormParty()
{
if (!Global.Player.Party.Formed && Global.Player.Party.iMembers != 4)
{
Framework.PacketWriter p_Writer = new Framework.PacketWriter();
string sText = "My own LTP";
p_Writer.SetOpcode(Information.Opcode.CLIENT_PARTY_FORM);
p_Writer.AppendQword(0); // party number, unique id
p_Writer.AppendByte(4); // Item Distribution
p_Writer.AppendByte(0); // Type
p_Writer.AppendByte(1); // MinLevel
p_Writer.AppendByte(80); // MaxLevel
p_Writer.AppendWord((ushort)sText.Length);
p_Writer.AppendString(false, sText);
Framework.Inject.InjectPacket(p_Writer, Information.Proxy.ClientToServer);
Global.Player.Party.Formed = true;
}
}
used MHTC Client
|
|
|
03/04/2015, 00:28
|
#5
|
elite*gold: 0
Join Date: Jun 2007
Posts: 727
Received Thanks: 460
|
Quote:
Originally Posted by Devsome
I told ya you need to use
Code:
SilkroadSecurityApi.Proxy.Init();
IntPtr Mutex = WinAPI.CreateMutex(IntPtr.Zero, false, "Silkroad Online Launcher");
IntPtr Mutex2 = WinAPI.CreateMutex(IntPtr.Zero, false, "Ready");
p_Silkroad = new Process();
p_Silkroad.StartInfo.FileName = Loop.sClientPath;
p_Silkroad.StartInfo.Arguments = "0 /4 0 0";
p_Silkroad.Start();
Thread.Sleep(100);
string errors = "";
WinAPI.DoInject(p_Silkroad, "cDetour.dll", out errors);
if (errors.Length != 0)
Console.WriteLine(errors);
IntPtr whandle = WinAPI.OpenProcess(WinAPI.Rights, 0, (IntPtr)p_Silkroad.Handle);
byte[] AlreadyExecuted = { 0xEB };
WinAPI.WriteBytes((IntPtr)p_Silkroad.Handle, 0x633D6C, AlreadyExecuted, AlreadyExecuted.Length);
Pattern pattern = new Pattern(p_Silkroad);
uint ClientSeedAdress = pattern.FindPattern("55 8B 6C 24 1C 8D 44 24 04 50 FF 15 00 00 00 00 8B 4C 24 04 81 E1 00 00 00 00", "xxxxxxxxxxxx????xxxxxx????") + 0x10;
ASM asm = new ASM();
asm.__ASM("MOV ECX,0x33");
for (byte i = 0; i < 5; i++)
asm.__ASM("NOP");
asm.InjectIntoProcess(p_Silkroad.Handle, ClientSeedAdress);
WinAPI.CloseHandle(Mutex);
WinAPI.CloseHandle(Mutex2);
FormParty example:
Code:
public static void FormParty()
{
if (!Global.Player.Party.Formed && Global.Player.Party.iMembers != 4)
{
Framework.PacketWriter p_Writer = new Framework.PacketWriter();
string sText = "My own LTP";
p_Writer.SetOpcode(Information.Opcode.CLIENT_PARTY_FORM);
p_Writer.AppendQword(0); // party number, unique id
p_Writer.AppendByte(4); // Item Distribution
p_Writer.AppendByte(0); // Type
p_Writer.AppendByte(1); // MinLevel
p_Writer.AppendByte(80); // MaxLevel
p_Writer.AppendWord((ushort)sText.Length);
p_Writer.AppendString(false, sText);
Framework.Inject.InjectPacket(p_Writer, Information.Proxy.ClientToServer);
Global.Player.Party.Formed = true;
}
}
used MHTC Client
|
With this ddl with can just "inject" packet without any proxy ?! That pretty nice fuck.
|
|
|
03/07/2015, 17:17
|
#6
|
elite*gold: 28
Join Date: Aug 2014
Posts: 4,096
Received Thanks: 2,653
|
Still, you guys don't get it..
If I am clientless, it works but when the client is being used which means the client is connected to the proxy it still works but the client just freezes not dc'ing, not crashing, doesn't stop responding. It just freeze.
|
|
|
03/12/2015, 16:13
|
#7
|
elite*gold: 166
Join Date: Apr 2009
Posts: 2,339
Received Thanks: 2,661
|
There (was?) some kind of keep alive packet afairemember
|
|
|
03/12/2015, 17:59
|
#8
|
elite*gold: 8
Join Date: Sep 2014
Posts: 625
Received Thanks: 178
|
That is really weird. Usually you get a DC if you send a malformed packet. Which proxy are you using? Show us code.
|
|
|
03/13/2015, 23:05
|
#9
|
elite*gold: 28
Join Date: Aug 2014
Posts: 4,096
Received Thanks: 2,653
|
Quote:
Originally Posted by qqdev
That is really weird. Usually you get a DC if you send a malformed packet. Which proxy are you using? Show us code.
|
That's not the issue, I am sure the proxy isn't the problem, I am already connected and reading the stuff from the client via proxy, the problem is when ever you try to send a packet, try phAnalyzer and you will get what I mean.
|
|
|
03/14/2015, 00:58
|
#10
|
elite*gold: 8
Join Date: Sep 2014
Posts: 625
Received Thanks: 178
|
Dont have the old server files running.
|
|
|
03/21/2015, 16:53
|
#11
|
elite*gold: 0
Join Date: Mar 2009
Posts: 248
Received Thanks: 118
|
It's kinda long ago but if I remember correctly the client freezes if you send the wrong security bytes.
I used the phProxy.
|
|
|
Similar Threads
|
VSRO Files / ECSRO (ZSZC) Files?
08/11/2014 - SRO Private Server - 2 Replies
Hallo liebe Community,
ich wollte fragen, was würdet Ihr lieber spielen?
Einen Server mit vsro-files im 80 Cap, ohne Euros, mit allen Skills und mit mittlerem Job-System.
Einen Server mit ecsro-files im 80 Cap, ohne Debuffs und altem Job-System.
|
Resolution for older silkroad files like ZSZC/ECSRO
10/11/2013 - Silkroad Online - 2 Replies
Hello I have a problem Im playing an old zszc files server with this resoltion "1280 X 1024" but i got a widescreen monitor so I need "1920 X 1080" or so.
How can I start the client with this widescreen resolution are there any programms which I have to extract in the silkroad folder or any other methods?
Please share your knowledge if you know how to avoid that anyoing problem.
:rtfm::rtfm::rtfm::rtfm::confused::confused::conf used:
|
Fight Sro 105 cap zszc style , ECSRO Files!
08/03/2012 - SRO PServer Advertising - 52 Replies
-removed-
|
All times are GMT +1. The time now is 13:28.
|
|