Register for your free account! | Forgot your password?

Go Back   elitepvpers > Other Online Games > Browsergames > DarkOrbit
You last visited: Today at 11:02

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

Advertisement



DO Client (main.swf) project files.

Discussion on DO Client (main.swf) project files. within the DarkOrbit forum part of the Browsergames category.

Reply
 
Old   #1
 
Fenrisus's Avatar
 
elite*gold: 0
Join Date: Jan 2013
Posts: 86
Received Thanks: 243
DO Client (main.swf) project files.

Hello there. That is project files for FlashDevelop for Dark Orbit. All source code included + some libs. That is not finished project, and source code needs fix obfuscated params.
TODO:
Optimize source code for compilation.
Setup compiler preferences & Build targets.
Modify as you whant it.

So, it can be recompiled after lots of hard work. But that is for start and Flash develop can tell you (syntax analyzer) what need to fix step by step.

Some about how to fix: most of libraries - avalible in public without obfuscation.
DO client use a Teen Greensock graphics library, and you may download it on their webpage. As other sources in mx and etc folders. That part of work - copy-paste&replace. Really re-write work needed only in parts of source, stored in net/bigpoint/ - that is core "game" source code (including Main.AS) - that is hard part of work. But a good news - it can be done with 2-3 ppl team for 1-2 month of work. That is possible job.

So, you can create you own client and add a lots of new features to you private server.



I have a lack of time to finish that, and maybe you - more lucky then me! Goodluck with that!

(added)
This archive contains:
all ActionScripts in most-readable format (all names of functions is normal! Only local constants and some local params have obfuscated names (impossible to restore it after obfuscation))
all Binary files.
all Library files.
Project file for FlashDevelop IDE.
Some little config for debug. You need only press "Build" or "Test" buttons, and FLD will show you what need to fix for compile sources.

That files a good compilation pack for custom client develop kickstart.

Kind regards!

======UPD=========
New download source:
Attached Files
File Type: rar DOClient Source code.rar (894.3 KB, 229 views)
Fenrisus is offline  
Thanks
7 Users
Old 10/20/2013, 19:13   #2


 
Requi's Avatar
 
elite*gold: 3570
The Black Market: 244/0/0
Join Date: Dec 2012
Posts: 13,044
Received Thanks: 8,252
Thanks for sharing this work with us.
If I understood it right, it'll be so easy to build my packets
Requi is offline  
Old 10/20/2013, 19:23   #3
 
Fenrisus's Avatar
 
elite*gold: 0
Join Date: Jan 2013
Posts: 86
Received Thanks: 243
Quote:
Originally Posted by Requi View Post
Thanks for sharing this work with us.
If I understood it right, it'll be so easy to build my packets
Yeah, you may use it for create bots or some automation tools for original DO.
Currently i dont have a time for work on it, for make a fully compile-work version. But, as i say - it possible for 2-3 ppl team and waste 1-2 month of time. (If that team will work seriosly and spend a some time for that). That will be useful for private server owners who have a plans to add some new features to their private server.
Fenrisus is offline  
Old 10/20/2013, 19:29   #4


 
Requi's Avatar
 
elite*gold: 3570
The Black Market: 244/0/0
Join Date: Dec 2012
Posts: 13,044
Received Thanks: 8,252
It's not useful for the original DO, as this is from the 2011 version.
Requi is offline  
Old 10/20/2013, 19:35   #5
 
elite*gold: 0
Join Date: Jan 2012
Posts: 1,997
Received Thanks: 3,422
It think he was talking about the old darkorbit (2011 like you said) ...
And thanks for sharing this !

Regards, PGM.
NoCheatImPGM is offline  
Old 10/20/2013, 22:55   #6
 
GnomeProgramming's Avatar
 
elite*gold: 30
Join Date: Jan 2013
Posts: 212
Received Thanks: 463
**** project, if this is for actual DO this is not going to work
GnomeProgramming is offline  
Old 10/20/2013, 23:21   #7
 
arvatadryan's Avatar
 
elite*gold: 9
Join Date: Sep 2010
Posts: 433
Received Thanks: 199
where is the decryption key?
arvatadryan is offline  
Thanks
1 User
Old 10/21/2013, 14:09   #8
 
Fenrisus's Avatar
 
elite*gold: 0
Join Date: Jan 2013
Posts: 86
Received Thanks: 243
Quote:
Originally Posted by GnomeProgramming View Post
Poop project, if this is for actual DO this is not going to work
=) not for actual DO (latest ver.) This is for old DO and private servers. Them work perfectly with Azure DO server or similar.

About decryption key: all of that already done here. Values like _loc1_, __loc7__ you must translate you self. Becouse it impossible back to normal after obfuscation. So, little example:

Original buffered ship code:
Code:
package net.bigpoint.darkorbit.ship
{


   public class BufferedShip extends Object
   {
      public function BufferedShip(param1:int, param2:int, param3:int, param4:int, param5:int, param6:String, param7:String, param8:int, param9:int, param10:int, param11:int, param12:int, param13:Boolean, param14:int, param15:Boolean, param16:Boolean) {
         super();
         this.typeID=param1;
         this.userID=param2;
         this.xPos=param3;
         this.yPos=param4;
         this.speed=param5;
         this.username=param6;
         this.clanTag=param7;
         this.fractionID=param8;
         this.clanID=param9;
         this.clanDiplomacy=param10;
         this.dailyRank=param11;
         this.expansionstage=param12;
         this.warnIconOnMap=param13;
         this.galaxyGatesFinished=param14;
         this.isNPC=param15;
         this.cloaked=param16;
         return;
      }

      public var typeID:int;

      public var userID:int;

      public var xPos:int;

      public var yPos:int;

      public var speed:int;

      public var username:String;

      public var clanTag:String;

      public var fractionID:int;

      public var clanID:int;

      public var clanDiplomacy:int;

      public var dailyRank:int;

      public var expansionstage:int;

      public var warnIconOnMap:Boolean;

      public var galaxyGatesFinished:int;

      public var cloaked:Boolean;

      public var isNPC:Boolean;
   }

}
They should be:

Code:
package net.bigpoint.darkorbit.ship
{


   public class BufferedShip extends Object
   {
         

      public function BufferedShip(typeID:int, userID:int, xPos:int, yPos:int, speed:int, username:String, clanTag:String, fractionID:int, clanID:int, clanDiplomacy:int, dailyRank:int, expansionstage:int, warnIconOnMap:Boolean, galaxyGatesFinished:int, isNPC:Boolean, cloaked:Boolean) {
         super();
         this.typeID=typeID;
         this.userID=userID;
         this.xPos=xPos;
         this.yPos=yPos;
         this.speed=speed;
         this.username=username;
         this.clanTag=clanTag;
         this.fractionID=fractionID;
         this.clanID=clanID;
         this.clanDiplomacy=clanDiplomacy;
         this.dailyRank=dailyRank;
         this.expansionstage=expansionstage;
         this.warnIconOnMap=warnIconOnMap;
         this.galaxyGatesFinished=galaxyGatesFinished;
         this.isNPC=isNPC;
         this.cloaked=cloaked;
      }



      public var typeID:int;

      public var userID:int;

      public var xPos:int;

      public var yPos:int;

      public var speed:int;

      public var username:String;

      public var clanTag:String;

      public var fractionID:int;

      public var clanID:int;

      public var clanDiplomacy:int;

      public var dailyRank:int;

      public var expansionstage:int;

      public var warnIconOnMap:Boolean;

      public var galaxyGatesFinished:int;

      public var cloaked:Boolean;

      public var isNPC:Boolean;
   }

}
Or another example of protocol translation:

Original code:

Code:
 case ServerCommands.SHIP_MOVEMENT:
               _loc4_=int(_loc3_[2]);
               _loc5_=int(_loc3_[3]);
               _loc6_=int(_loc3_[4]);
               _loc70_=int(_loc3_[5]);
               _loc71_=false;
               _loc9_=this.main.screenManager.map;
               if(_loc9_!=null)
               {
                  _loc9_.getShipManager().moveShip(_loc4_,_loc5_,_loc6_,_loc70_);
               }
               break;
Should be translated as:

Code:
//Note: _loc3_ - that is data string
//var attributes:String = String(event.data);//array
// data=attributes.split(ATTRIBUTE_SEPERATOR);// |1|2|3|4|5|6|7|8|
//---------------------------------------------------------------//
 case ServerCommands.SHIP_MOVEMENT:
               shipID=int(data[2]); //from row = Ship ID param1
               userID=int(data[3]); //from row = userID param2
               shipTypeID=int(data[4]); //from row = ShipTypeID param3
               velocity=int(data[5]); //velocity
               _loc71_=false; //unknown, TODO. Probably - ship is cloacked when he move?
               map=this.main.screenManager.map; //user on map?
               if(map!=null) //_loc9_ - is a map, and if that not null do - 
               {
               //move our ship
map.getShipManager().moveShip(shipID,userID,shipTypeID,velocity);
               }
               break;
All simple and possible (with some knownlege).
Fenrisus is offline  
Old 10/21/2013, 14:30   #9
 
arvatadryan's Avatar
 
elite*gold: 9
Join Date: Sep 2010
Posts: 433
Received Thanks: 199
dude
i mean how i can download
arvatadryan is offline  
Thanks
1 User
Old 10/21/2013, 14:38   #10
 
elite*gold: 0
Join Date: May 2012
Posts: 24
Received Thanks: 5
Hey Fenrisus - I like the work you are doing, I would like to say that most of us appreciate your effort in this section, however you will come across people that will slate what you do. Don't worry about them, just let them get on with it.

If this is possible with the old client, surely it is possible with the new one - however, after attempting to re-compile this, would it work? I think it is more than giving the vars/params meaningful names - however not 100% sure - would be cool for you or some other guru to clarify this :-)
TehRoca is offline  
Old 10/21/2013, 18:35   #11
 
Fenrisus's Avatar
 
elite*gold: 0
Join Date: Jan 2013
Posts: 86
Received Thanks: 243
Quote:
Originally Posted by arvatadryan View Post
dude
i mean how i can download
If Mega wont work, download from here
Attached Files
File Type: rar DOClient Source code.rar (894.3 KB, 21 views)
Fenrisus is offline  
Old 10/21/2013, 18:54   #12
 
Fenrisus's Avatar
 
elite*gold: 0
Join Date: Jan 2013
Posts: 86
Received Thanks: 243
Quote:
Originally Posted by TehRoca View Post
Hey Fenrisus - I like the work you are doing, I would like to say that most of us appreciate your effort in this section, however you will come across people that will slate what you do. Don't worry about them, just let them get on with it.

If this is possible with the old client, surely it is possible with the new one - however, after attempting to re-compile this, would it work? I think it is more than giving the vars/params meaningful names - however not 100% sure - would be cool for you or some other guru to clarify this :-)
Yeah, them will work after fix, compilation & configure. that all parts and full source code from main.swf. That file works like a charm with Azure server.
Fenrisus is offline  
Old 10/27/2013, 15:36   #13
 
»jD«'s Avatar
 
elite*gold: 237
Join Date: Sep 2010
Posts: 1,152
Received Thanks: 4,910
Thought this was current version source code and was about to *facepalm* :P

Gnome knows why

-jD
»jD« is offline  
Thanks
1 User
Old 02/28/2022, 00:55   #14
 
elite*gold: 0
Join Date: Jul 2021
Posts: 13
Received Thanks: 0
heeelp what needs to be coded to enable the laserflash? this is the issue that im facing
as a rule the situation is as follows --->
Regards
rafail1234 is offline  
Reply




All times are GMT +1. The time now is 11:02.


Powered by vBulletin®
Copyright ©2000 - 2026, 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 ©2026 elitepvpers All Rights Reserved.