The following warnings occurred:
Warning [2] Undefined variable $captcha - Line: 15 - File: global.php(587) : eval()'d code PHP 8.2.24 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/global.php(587) : eval()'d code 15 errorHandler->error_callback
/global.php 587 eval
/printthread.php 16 require_once
Warning [2] Undefined variable $redirect_url - Line: 21 - File: global.php(587) : eval()'d code PHP 8.2.24 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/global.php(587) : eval()'d code 21 errorHandler->error_callback
/global.php 587 eval
/printthread.php 16 require_once
Warning [2] Undefined property: MyLanguage::$archive_pages - Line: 2 - File: printthread.php(287) : eval()'d code PHP 8.2.24 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/printthread.php(287) : eval()'d code 2 errorHandler->error_callback
/printthread.php 287 eval
/printthread.php 117 printthread_multipage



The Chronicles of Spellborn
Reversing Spellborn - Printable Version

+- The Chronicles of Spellborn (https://forum.spellborn.org)
+-- Forum: Archive (https://forum.spellborn.org/forumdisplay.php?fid=6)
+--- Forum: The Chronicles of Spellborn: Reborn (https://forum.spellborn.org/forumdisplay.php?fid=18)
+--- Thread: Reversing Spellborn (/showthread.php?tid=22)

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25


Reversing Spellborn - Saltiel - 19-09-2014

Yep I just answered! [Image: default_biggrin.png] I also edited my previous message live so I updated my answer. Currently the forum is buggy for me so I do not see your spoiler [Image: default_sad.png]

Edit: Yes I mean exactly these delegates! The character creation one is not very useful update: would be helpful too, but if you have the data about the character selection script, we would be one step closer to the spellborn world!




Reversing Spellborn - Saltiel - 19-09-2014

Sorry for double post, but I just updated the doc with packet layout. Miss some information sorry I am in a hurry I have to go to university xD will ,continue the work later in the day!




Reversing Spellborn - Polymo - 19-09-2014

i think i puzzled together something.

In S2C_WORLD_LOGIN

The Subroutine 100027F0 maps well to something i found somewhere in the sdk (even though that may be just coincidence)

(this is hexrays decompiler output with my comments)

<pre class="_prettyXprint">
char __cdecl 100027F0(int a1, int a2)
{
  (d_mmos__d_message__read)(*a2, a1, 4);        // int Body
  d_mmos__d_message__read(a1 + 4, 4);           // int Mind
  d_mmos__d_message__read(a1 + 8, 4);           // int Focus
  d_mmos__d_message__read(a1 + 12, 4);          // float Physique
  d_mmos__d_message__read(a1 + 16, 4);          // float Morale
  d_mmos__d_message__read(a1 + 20, 4);          // float Concentration
  d_mmos__d_message__read(a1 + 24, 4);          // int FameLevel
  d_mmos__d_message__read(a1 + 28, 4);          // int PePRank
  d_mmos__d_message__read(a1 + 32, 4);          // float RuneAffinity
  d_mmos__d_message__read(a1 + 36, 4);          // float SpiritAffinity
  d_mmos__d_message__read(a1 + 40, 4);          // float SoulAffinity
  d_mmos__d_message__read(a1 + 44, 4);          // float MeleeResistance
  d_mmos__d_message__read(a1 + 48, 4);          // float RangedResistance
  d_mmos__d_message__read(a1 + 52, 4);          // float MagicResistance
  d_mmos__d_message__read(a1 + 56, 4);          // int MaxHealth
  d_mmos__d_message__read(a1 + 60, 4);          // float PhysiqueRegeneration
  d_mmos__d_message__read(a1 + 64, 4);          // float PhysiqueDegeneration
  d_mmos__d_message__read(a1 + 68, 4);          // float MoraleRegeneration
  d_mmos__d_message__read(a1 + 72, 4);          // float MoraleDegeneration
  d_mmos__d_message__read(a1 + 76, 4);          // float ConcentrationRegeneration
  d_mmos__d_message__read(a1 + 80, 4);          // float ConcentrationDegeneration
  d_mmos__d_message__read(a1 + 84, 4);          // float HealthRegeneration
  d_mmos__d_message__read(a1 + 88, 4);          // float AttackSpeedBonus
  d_mmos__d_message__read(a1 + 92, 4);          // float MovementSpeedBonus
  d_mmos__d_message__read(a1 + 96, 4);          // float DamageBonus
  d_mmos__d_message__read(a1 + 100, 4);         // float CopyHealth
  return 1;
}</pre>



Reversing Spellborn - Polymo - 19-09-2014

cool, i could access the dead-dude-world-thing too [Image: default_woot.gif]

[Image: post-622-0-16432600-1411119527_thumb.jpg]

 

And from what i see in the character sheet ingame it seems the values in the above post are right




Reversing Spellborn - Saltiel - 19-09-2014

You've got the hex ray decompiler ? I should really download it it would save me a lot of time xD

I think you are right because I found something similar at the other end of the process, in onWorldLogin and setBaseCharacterInfo related stuff. There are a lot of offsets, related to character, items, skilldeck etc. This is the next step to investigate in the character data analysis. [Image: default_smile.png] Glad to see that you find quickly the interesting places!

 

Edit: updated the doc a little with info about other packet structures.




Reversing Spellborn - Czelsior - 19-09-2014

You guys are genius.

Thx to everyone here.




Reversing Spellborn - Polymo - 19-09-2014

[Image: post-622-0-15218000-1411150298_thumb.jpg]

 

But i dont know how to make him move (you can turn around and jump, but not move in any direction)

 

Edit: is there any way to see your characters face from the front?

 

And if i see that right, inside world_login you can make yourself a gamemaster (atleast the client sends specific messages if enabled)




Reversing Spellborn - Czelsior - 19-09-2014

You can move the camera when you press the right mouse key and move the mouse.

Zoom in or out with the mousewheel.

But i'm not sure if this will work in your testing environment

 

And that picture looks awsome




Reversing Spellborn - Polymo - 19-09-2014

But that wont show his face, he always faces my viewing direction.




Reversing Spellborn - Czelsior - 19-09-2014

Hmm it's too long since I played the last time.

Try the left mousekey.

 

If that does'nt help try to hold SHIFT or CRTL while doing it.

 

Edit: I think it was the R Key