[HOW-TO] Update BoxyBot

07/20/2017 02:13 Maurice#1
-
07/20/2017 03:12 jeffyn22#2
Quote:
Originally Posted by Raymond* View Post
Hello,

As the source got out, and theres people making points of some sort, might aswell just force BP to patch this shit as it will create a immense amount of bots for basically free, meaning once it's patched I dont have to worry about botters in my map anymore, win-win right? :D


U'll need
  1. A brain.
  2. [Only registered and activated users can see links. Click Here To Register...]
  3. Download the most recent SeafightMain.swf ([Only registered and activated users can see links. Click Here To Register...])
  4. And with that a little .bat script;
Code:
cd C:\Program Files (x86)\FFDec\
java -jar ffdec.jar -config autoDeobfuscate=1,parallelSpeedUp=1,autoRenameIdentifiers=1 -export script H:\Misc\SFPROTO\src H:\Misc\SFPROTO\SeafightMain.swf

pause
To clarify this script needs adjustments for where u wanna store the scripts of the swf change "H:\Misc\SFPROTO\" to anything on ur pc.. And place the SeafightMain.swf in the same directory as the .bat script.
Now what this does is decompile, deobfuscate & export the SeafightMain.swf to a directory called "src", once the script is done, and u open that directory u'll see stuff like "package_89" etc.

Now open the BoxyBot solution and go to Seafight => Messages, click on a random .cs file, and u'll see for example in UserInitMessage.cs:
Code:
    public class UserInitMessage : Message //package_7.class_15
    {
See the commented out part? open the directory of "package_7" then open the "class_15.as" file, scroll down until u see "method_16()", the packet ID is always the return of "method_16()".
Code:
      public function method_16() : int
      {
         return -5067;
      }
Now u'll notice some scripts aren't in the right package dirs, e.g. CannonAttackMessage.cs says "package_89.class_783" but it actually is "package_90.class_779", why I hear u think? Because Bigpoint.. It is no rocket science how to find the "new" class that has the desired packet ID, just compare the read functions of that with the one in the .cs file. Usually it just shoves up/down 1 package, and 783 turned into 779, they're always close to one another. Now one with OCD will realise some shorts and doubles may seem out of order, that is very true, ur job is to figure out what vars were shifted, and place them in the right order to have a proper functioning bot..

There is proper parsers that poop out .cs files for every message individual incl. the correct write/read order's, I'll not publish these, as they're not mine, and I respect my fellow comrad @[Only registered and activated users can see links. Click Here To Register...]

Have fun as this will be dead real soon.

Some chill music while ur trying to wrap ur brain around all this:
[Only registered and activated users can see links. Click Here To Register...]

:bandit:
[Only registered and activated users can see links. Click Here To Register...]
07/20/2017 03:15 Maurice#3
Quote:
Originally Posted by jeffyn22 View Post
[Only registered and activated users can see links. Click Here To Register...]
Run the .bat as administrator, will mention this in the topic too.
07/20/2017 03:28 jeffyn22#4
Quote:
Originally Posted by Raymond* View Post
Run the .bat as administrator, will mention this in the topic too.
okay okay..
[Only registered and activated users can see links. Click Here To Register...] this part, i understand.
07/20/2017 03:32 Maurice#5
Quote:
Originally Posted by jeffyn22 View Post
okay okay..
[Only registered and activated users can see links. Click Here To Register...] this part, i understand.
Well there u go, public const int ID = -24776; ;)
07/20/2017 03:42 jeffyn22#6
Quote:
Originally Posted by Raymond* View Post
Well there u go, public const int ID = -24776; ;)
okay, and now...? [Only registered and activated users can see links. Click Here To Register...]
07/20/2017 03:52 jonmikeltxu#7
you need to compile with visual studio
07/20/2017 03:54 jeffyn22#8
Quote:
Originally Posted by jonmikeltxu View Post
you need to compile with visual studio
Does not have the corresponding class, what do I do?
07/20/2017 05:07 danilotop#9
[Only registered and activated users can see links. Click Here To Register...][Only registered and activated users can see links. Click Here To Register...]
I have this problem. Do you know how to proceed?
07/20/2017 10:16 jeffyn22#10
Quote:
Originally Posted by Raymond* View Post
Well there u go, public const int ID = -24776; ;)
What do you do when you do not have the correct class? How do I find the new class?
07/20/2017 10:23 AnonymousCoder™#11
Check the classes that are close to each other. For class 768 I'd check class 783, and so on.

EDIT: Oh, and by the way, you need something to compile that. Simply hitting save on a notepad won't cut it. Visual Studio 2015+ would be best.
07/20/2017 14:02 LikeToMove#12
So, basically we have to check if there's some codes changed every update.
We have to pick the method_16() as ID for every file?
07/20/2017 14:12 Bompen6#13
Ran the script as admin, got something out of it, but no "Package" files. Got the src folder which contains the "Scripts" folder which then has 6 "Class_x.as" files aswell as the "flashx" and "mx" directory.


In other words:
How do I get the package folder(s) and more class_x files?
07/20/2017 14:29 Ɖanger#14
And now the smart people only have to update 1 packet id and they have a free Seabot ;)
07/20/2017 16:16 jeffyn22#15
Quote:
Originally Posted by AnonymousCoder™ View Post
Check the classes that are close to each other. For class 768 I'd check class 783, and so on.

EDIT: Oh, and by the way, you need something to compile that. Simply hitting save on a notepad won't cut it. Visual Studio 2015+ would be best.
i understand, but when i do not have the class in the directory, how do i know the other is the sure?