Register for your free account! | Forgot your password?

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

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

Advertisement



[Guide] Extracting Parsed Packets in Silkroad

Discussion on [Guide] Extracting Parsed Packets in Silkroad within the SRO Coding Corner forum part of the Silkroad Online category.

Reply
 
Old 09/03/2009, 22:21   #46
 
elite*gold: 0
Join Date: Nov 2008
Posts: 23
Received Thanks: 1
I have still the same errors also after the client update today (it was a new installation). But it works here most of the time with an seperated dll injector. We will see if Drew is able to improve his logic a bit or it has really only to do with my PC...
fanste is offline  
Old 09/07/2009, 23:35   #47

 
elite*gold: 260
Join Date: Aug 2008
Posts: 560
Received Thanks: 3,779
Quote:
Originally Posted by fanste View Post
I have still the same errors also after the client update today (it was a new installation). But it works here most of the time with an seperated dll injector. We will see if Drew is able to improve his logic a bit or it has really only to do with my PC...
Can you please try using the attached project to see if it works now or not? I've updated it to the latest version of ISRO, so it won't work on anything else.

I found some bugs in my gui based analyzer, but non so much in my console version you have been using. So, I've made a few compiler changes for the project and moved a few things around.

If you spawn in a crowded town, the client will freeze a little as the console I/O is really cpu intensive, but you should not actually crash. If possible, can you move your char to Jan/HT spawn and relogin to test that assuming it doesn't crash on the character select.

Attached Files
File Type: zip testConsoleAnalyzer.zip (115.9 KB, 175 views)
pushedx is offline  
Old 09/08/2009, 04:08   #48
 
elite*gold: 0
Join Date: May 2008
Posts: 259
Received Thanks: 94
Quote:
Originally Posted by pushedx View Post
Can you please try using the attached project to see if it works now or not? I've updated it to the latest version of ISRO, so it won't work on anything else.

I found some bugs in my gui based analyzer, but non so much in my console version you have been using. So, I've made a few compiler changes for the project and moved a few things around.

If you spawn in a crowded town, the client will freeze a little as the console I/O is really cpu intensive, but you should not actually crash. If possible, can you move your char to Jan/HT spawn and relogin to test that assuming it doesn't crash on the character select.

tested on jangan and works great, no crashes. but i cant see the S->C opdoces. its always [0].
can u share the new code? i think i can solve this S->C [0] problem
soadmania is offline  
Old 09/08/2009, 13:18   #49

 
elite*gold: 260
Join Date: Aug 2008
Posts: 560
Received Thanks: 3,779
Quote:
Originally Posted by soadmania View Post
tested on jangan and works great, no crashes. but i cant see the S->C opdoces. its always [0].
can u share the new code? i think i can solve this S->C [0] problem
Oops, sorry. I accidentally deleted that code and didn't notice that. It's readded now and should show it.

Anyways, here's an update:

The source code is about the same. All I did was:
* Remove static arrays from functions into global namespace
* Added pushfd/popfd alongside pushad/popad
* Still used the original ASM patch rather than my updated one

The compiler changes I did was:
* Runtime Library: Multi-threaded (/MT) [C/C++->Code Generation->Runtime Library]
* Stack Reserve Size: 8000000 [Linker->System->Stack Reserve Size] [for my gui version, not needed for the console version]

Attached is the project. Can you and fanste retest again? I have a bit of rewriting to do on my GUI version, so that won't be ready for a bit.
Attached Files
File Type: zip Solution1.zip (141.0 KB, 180 views)
pushedx is offline  
Old 09/09/2009, 03:12   #50
 
elite*gold: 0
Join Date: May 2008
Posts: 259
Received Thanks: 94
Quote:
Originally Posted by pushedx View Post
Attached is the project. Can you and fanste retest again? I have a bit of rewriting to do on my GUI version, so that won't be ready for a bit.
trying to login now. its harder than c++
soadmania is offline  
Thanks
1 User
Old 09/09/2009, 14:18   #51
 
elite*gold: 0
Join Date: May 2008
Posts: 259
Received Thanks: 94
Quote:
Originally Posted by pushedx View Post
Oops, sorry. I accidentally deleted that code and didn't notice that. It's readded now and should show it.

Anyways, here's an update:

The source code is about the same. All I did was:
* Remove static arrays from functions into global namespace
* Added pushfd/popfd alongside pushad/popad
* Still used the original ASM patch rather than my updated one

The compiler changes I did was:
* Runtime Library: Multi-threaded (/MT) [C/C++->Code Generation->Runtime Library]
* Stack Reserve Size: 8000000 [Linker->System->Stack Reserve Size] [for my gui version, not needed for the console version]

Attached is the project. Can you and fanste retest again? I have a bit of rewriting to do on my GUI version, so that won't be ready for a bit.
Tested on hotan. there was a goldbot hunt so it froze about 1 min. im still online with that loader. no crashes but freezes sometimes. probably because of debug console.
soadmania is offline  
Old 09/09/2009, 14:52   #52

 
elite*gold: 260
Join Date: Aug 2008
Posts: 560
Received Thanks: 3,779
Quote:
Originally Posted by soadmania View Post
Tested on hotan. there was a goldbot hunt so it froze about 1 min. im still online with that loader. no crashes but freezes sometimes. probably because of debug console.
Awesome, thanks for testing. That's expected and the game is not really playable with the debug console since the console output eats up so much CPU time. However, as long as you had no crashes it means the fixes worked.

There must have been a gold bot problem on Gaia when I did some testing earlier because I got a group spawn packet that had 153 players in it for one region and that caused my Gui analyzer to self destruct. I traced the problem down to my underestimating how large the group spawn can be (in theory, it can be humongous!). I need to move the object allocation to the heap since the object size is 917,491 bytes currently and I probably should make it even larger.

I also noticed another really weird bug in my code before the fix yesterday as well. Everything I logged on, it'd get the "this client is an invalid Silkroad version" message at the character select. That didn't make any sense because that error is packet based, so that would mean I was corrupting the packets as I processed them somehow. That was exactly what was happening and why you and fanste probably crashed after character selection. Somewhere in the code, a loop was being executed whose condition was being changed since I wasn't using pushfd/popfd, so it messed up how the packet was parsed.

I think the new changes take care of all these things, so I'm excited I know what the problem was and can move on with the rest of the project. I will still need to get more people to test the final version to make sure I got everything, but at least now I understand the extra things I have to take into consideration.
pushedx is offline  
Old 09/09/2009, 15:55   #53
 
elite*gold: 0
Join Date: Nov 2008
Posts: 23
Received Thanks: 1
Sorry, that i didn't reply that fast... I forgot to look into this topic

I'm not able to test it for isro, but tsro works also perfect with the last release. I have only some lags (when i move it needs up to 5sec until i see it in the client), but thats absolutly OK. Nice work!! )

The problem with the changed packets did i also metioned some posts ago until i undid some changes you made. I will look if im able to include the GUI without causing a crash again, cuz its much more comfortable (copy & paste for example^^)
fanste is offline  
Old 09/19/2009, 01:12   #54
 
elite*gold: 0
Join Date: Jan 2008
Posts: 21
Received Thanks: 12
Can someone provide me a updated version of the edxanalyzer (V1.213)
illstar is offline  
Old 09/19/2009, 02:09   #55
 
elite*gold: 0
Join Date: May 2008
Posts: 259
Received Thanks: 94
DLL.h
Quote:
#pragma once

// Bin: 33 C0 89 46 10 89 46 14 C7 46 08 00 00 00 00 C7 46 04 00 00 00 00 8B C6 5E C2 04 00 CC
// First line in function
#define CC_ExtractSentPacket_Address 0x5376D0

// 56 57 8D 9B 00 00 00 00 8B 73 08 81 E6 FF 0F 00 80 8B FD
// MOV EBX,ECX
// MOV DWORD PTR SS:[ESP+10],EAX
#define CC_ExtractSentPacket_Address_1 0x504E3C

// 64 A1 00 00 00 00 50 B8 08 10 00 00
// MOV EAX, 1008
#define CC_ExtractSentPacket_Address_2 0x775B4E

//00A95CAD 8B 42 18 53 FF D0 83 F8 01
// PUSH EBX
// CALL EAX
// CMP EAX,1
#define CC_ExtractPacket_Address_1 0xA95CF0

// End of ReadBytes function
// POP ESI
// MOV EAX,EBX
// POP EBX
// RETN 8
#define CC_ExtractPacket_Address_2 0x4F321C
soadmania is offline  
Thanks
1 User
Old 09/20/2009, 17:18   #56
 
elite*gold: 0
Join Date: Jun 2009
Posts: 6
Received Thanks: 0
Thanks pushedx,

altough i do not know asm,only c++ this tutorial is very usefull.

I have a question, how can i find the x , y coord or the data for movement (c->s)

so .. opcode (xx) (xx) (?? ??) , this Word i don't know where to get or how it's processed,

from a call 008E68D0

FLDCW WORD PTR SS:[ESP+1C] this has 0C7F ??? what's this?
FISTP DWORD PTR SS:[ESP+1C] <- conversion to hex
MOV CX,WORD PTR SS:[ESP+1C] ..

How is this data processed?where?
Do i have to look further?where?

thanks for your time.
asdfg11 is offline  
Old 10/18/2009, 21:55   #57
 
elite*gold: 0
Join Date: Jan 2008
Posts: 17
Received Thanks: 0
yall should next start to patch and make it work with isro next.
drake3498 is offline  
Old 07/05/2010, 13:39   #58
 
elite*gold: 0
Join Date: Aug 2008
Posts: 32
Received Thanks: 12
some one can make Video how find this functions ?
konserwa is offline  
Old 07/11/2010, 13:35   #59
 
elite*gold: 0
Join Date: May 2008
Posts: 91
Received Thanks: 26
Nice Guide. Thx.
jack11111 is offline  
Old 09/09/2010, 23:05   #60
 
elite*gold: 0
Join Date: Apr 2009
Posts: 32
Received Thanks: 19
Hello,

i tried this with rSro but my client allways crashs after my character spawned...

I tried this code:

Quote:
#pragma once

// Bin: 33 C0 89 46 10 89 46 14 C7 46 08 00 00 00 00 C7 46 04 00 00 00 00 8B C6 5E C2 04 00 CC
// First line in function
#define CC_ExtractSentPacket_Address 0x539A30

// 56 57 8D 9B 00 00 00 00 8B 73 08 81 E6 FF 0F 00 80 8B FD
// MOV EBX,ECX
// MOV DWORD PTR SS:[ESP+10],EAX
#define CC_ExtractSentPacket_Address_1 0x506C2C

// 64 A1 00 00 00 00 50 B8 08 10 00 00
// MOV EAX, 1008
#define CC_ExtractSentPacket_Address_2 0x7E4B9E

// PUSH EBX
// CALL EAX
// CMP EAX,1
#define CC_ExtractPacket_Address_1 0xB17670

// End of ReadBytes function
// POP ESI
// MOV EAX,EBX
// POP EBX
// RETN 8
#define CC_ExtractPacket_Address_2 0x4F4F4C
any idea?

€: Ah, ok...i saw lot of ppl got this problem^^ I tried it with the Solution1.zip Project, but its not working >.>
MagiCircle is offline  
Reply


Similar Threads Similar Threads
[Guide] Extracting Built Packets in Silkroad
11/08/2018 - SRO Guides & Templates - 18 Replies
Extracting Built Packets in Silkroad I. Purpose This guide will provide a complement to the previous guide of extracting the parsed packets in Silkroad. This time, we will learn how to extract packets the client sends the serer as they are built. Because most of the concepts in and theory are the same, this guide will be much shorter than the previous so please refer back to that article for all the nitty-gritty details. An article like this is also just as important to understand as...
Extracting sounds?
01/03/2010 - Grand Chase - 3 Replies
is there a way to extract sounds from the kom files? or is that against the rules ?
[Help] Extracting .wdf files
09/02/2009 - CO2 Weapon, Armor, Effects & Interface edits - 3 Replies
hello all!! maybe it's not here i need to ask it but... i need a .wdf extractor to make my edits in the login screen of the client... someone can help me ... i will be gratefull
[Guide]How to analyse Packets on Flyff
04/27/2009 - Flyff Private Server - 8 Replies
Hiho Elitepvper, Sinn dieses Guides ist es euch zu zeigen wie ihr Packets snifft und wie ihr sie analysiert. Download: MEGAUPLOAD - The leading online storage and file delivery service Credits: aldimaster Devinepunition
Extracting with WinRar
03/15/2008 - Conquer Online 2 - 8 Replies
Hi guys I wanted to download a Rar file such as archerbuddy1.0... Windows is not letting me so i was told to download Winrar.. I did that.... and people told me to click the Extract button from the pag that page that pops up... I don't understand what to do after you download the file with WinRar, and how



All times are GMT +1. The time now is 17:36.


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.