Thread: Floob 0.1.1.0

Results 1 to 14 of 14
  1. #1
    NoobFloob's Avatar
    Join Date
    May 2019
    Gender
    male
    Location
    In my house
    Posts
    217
    Reputation
    10
    Thanks
    1,374

    Post Floob 0.1.1.0


    LOTS of things were fixed and added, probably some bugs too but I fixed the most obvious ones.

    Changes/Updates


    Now Runs On Any Architecture - Now runs on any architecture (x86 and x64) as long as the operating system can install .NET Framework 4.8.

    Flash Detection And EoL Bypass - The bot can now detect the flash installed in your system. This helps to identify whether your system has a properly installed version. It also has an EoL bypass which allows you to use flash versions that contains a time bomb (the one that requires you to change the date on before Flash's EoL happened.)

    Scripts Can Now Be Shared Easily - The bot now allows you to save/load your script in a base64 format. This makes it easier to share especially in this forum since attachment approval could take a while. The scripts that I'll share in a few moments will be in a base64 format.

    User Agent Can Now Be Easily Modified - If you don't know what user agent is, it basically is the "identity" of your browser or app. For example, chrome and firefox has their own unique user agent which allows sites such as facebook to identify that the user is using a chrome or firefox browser. In the case of Floob, or C#-based AQW trainers in general, it has a weird default user agent that makes it easy for AQW to flag your account in botting. To compensate for this, Floob's user agent can be easily modified in "Floob.exe.config" file. I recommend you to change your user agent to a valid one.
     
    Default (I recommend you to change the user agent since it defaults to this): Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.2; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729)

    Artix Game Launcher (Slightly not recommended since it also requires an additional header to make it look legit): Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) ArtixGameLauncher/2.1.2 Chrome/80.0.3987.163 Electron/8.5.5 Safari/537.36

    Puffin Browser: Mozilla/5.0 (X11; U; U; Linux x86_64; zh-hk) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36 Puffin/8.4.1.42173AP

    Old Flash-supported Chrome: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.87 Safari/537.36

    To check the user agent that the bot is using, go to About (right side of toolstrip) and click "User Agent."

    Added .gbot File Support - .gbot files can now be loaded on the bot. This means that all of the bots made by all Grimoire variants can now run on Floob. BUT, it is not perfect, at least for now. Some features such as the beeping sound is not (and might never be) supported in Floob so it translates to "Not supported" command. ~95% is supported in Grimoire 3.8 and 3.8+, 75% on Grimlite Rev*, no idea on Grimlite Li as I don't plan on fully supporting it since they have a bit of dissimilarity in implementation against Rev.
    * Some features in Grimlite Rev actually exists already on Floob but I kinda get tired because I had to manually map and type Grimoire's commands into Floob commands.

    Some Commands Now Support String Interpolation - Some commands such as "send packet" command can now contain placeholders that will be replaced at runtime. This behavior is commonly called, "string interpolation". To understand on how this works or identify all of the available placeholders (or how to make one out of string/int), load the base-64 encoded script below:
     
    H4sIAAAAAAAEAN1YbW8iNxD+K6PNfVwh0vZDxafjgFyQkoYGeq 2Ui1RndwALr72yvSQox3/vjHeXBaJIl2qjHlUixWNn55ln/Hj88hx98Jsco150oYx56Hwy3ku96EwTK3N/IRXGEEaiOKKxgckyoVMX9Z6jj9dCam7UHqYb5zHrDIxSmHhptO t8Ro1WJp0r6fzf53d3hyC1t864alVY9/cxZC4xVknG/bAWqkDCvHt+Jdqdo4AnVGeQpVP0U29ptCHwm8hCnKF7TLFS3xf 2TZ2zpXRAvwJcGI628VvQrsxihk++wWJrh9WD548N6vaNvsfa4 wLtCx5V/yGRX3+Jo37IftTrtsOhwmES3/Yw30rjNfcTJTZogUkRRB4sTUbL/kfaS7+B8ZBAMLRl2hbEtcjr+DORtxk8e74olNpzPyezTYhBYS0 lBAaoFCEkpZmQ1TbCRKQNQC44/ffbbRxNV1Kp/7i0hEBGawpsP5AbTdaD8FO0a7TX6JxY4I9b815VURk4Jf8sc4u Q9pi4Vd23mKBcY3qCvGh1hAV9Ruti3N5yLvMCfYuiyhk3W3bfz EY7Ow3qtCmjZy6YLTsvc126pno6TndS+pO2zxztCUvpHSflYD6 qpUdp8Jwvl4vHH/gU9RqxKnBMoWJSaUM2kvi/1cxWS8uMHLFrdthkLBwR/zBeudPLV3nMYk7lEW4LLaVstkTIhaW6RjJzMDcWPB/WkTdrWAsr0XVgiDmtMPINRtM4gpO+EJytOJg7D/A1ktpfTr5GkIkNkDf+o40HtzSPIPgKsPvntigYSJaYrEDQSc7M Q0BiLaQSD+qAnF8KD4nQ8IBQOKSJUzTDSIwMjJ6o4YgQrz0SAb qa6kQkK/TwReIj8aOggOBXVaaQCBcsKSKclDFDLbh+YUV5wDk9vXHsUH3A qkuy1vb/geCKFpyGVrt+65sIl4A9EOqdlcWgHckJu0AfSkxotev3BYcSpO FQ6qvUVl/L7PT09c4iqDeAd5l8vj5Bo4CMzFmrKtgDaLayIwm09PYAVlikm kj1rqzkzAZKMEipbAYJ8dONU3Kx9GoDhbaoZKitsiy2ZZa5pFJ 519C/GUGihHP1BTS8dt3kQYws1dGT9KV4PyGVUboiOYpmLpTD+MXg78 X+6FA6Rh5ak9Oh2CMX8OPB8MXL0enSFIofri5y13RWZrceH+u5 1PTprdB8rjr4dmLN2qyOe/uFN3THzgeFdwnl3B2NX8oU+WHHzkVSf7vl9z7j9pPy12T33Wej 0p0xCJmsrVvMCy/KB6iq68o8Et8LaXdcyTs/IR0l6btKxKVwS8oJV4nqv+pnvroUcFnYObB4dM2Po+Ps/0tYytjPP30/Kql/iHQyinrn3W63evQ47AkqpOk1FAq/6NGJIKQx6nbO6acbbf8BVYLCeq8VAAA=




    New Command: Conditional Blocks - This command allows you to combine multiple statements into one. This has a two option of "And" which requires for all conditionals to be true, or "Or" which requires for at least one conditional to be true. This behaves similarly to logical operators, "&&" and "||" in programming.
     
    H4sIAAAAAAAEAO1VUWvbMBD+K0YU9mKMk77laauTtIZs7eLRDU Jgsn1JRGTJk+Q0ofi/7+TEduIwSMfC9jBCQKfzfXf33SfpldyYXQ5kQMZcyti7k8Ywsf SiRLHcjBkH16k8xCXoC2SWUZFqMngl7z9SJuyiRoh22kDmBZJz SAyTQnv3IECxxJswbb73ZrPTJDWaFx5Wh1zzuetkOpGKM5v3Zk N5AZhz9vqLahugKh/lXpClEZjIKPS2DXyimY1lWGUPzWcLizYlpfvnkPtHyPElyIEUK bN07dGPzMhQZdokjecxx1KMVGTgvxG/6WLfwOhHQXmbIKyIaQkKq3YsQfv1La5xOdrmOF9ID10aVcDVyu hfs4xTtkeN/t6oh4lcfoHt0aCshZGh8yLFO+PE4CQUz0SKq4QWGhwp8L9wzAo 9bQGObVg7TDsLyjVcWzu9/9r5p7XDOL9YOqgaoVkK1X7MZbJ2FJhCCYy0zZFyXpYuidYI+pf v8KqQ0QbE8WNia6tenMe8SmpLGm2Z/SSm5g4WUsEUNDJTHQ33zPm5OPYOmaYxh6GS+dcVSoGzc2cVce6 NVrLg9oof57rdPJh+7Q/FggkMnVKxhE7sk5Ibue7ufiiMRPrzoDA6QUZ1x/+A0wuFAbWgSR1b2jdX6mNSvj01cfeSp40RcKpbyCnkhaE2qNma yBfsd8xU02u5PxEdki6SwgPVK+TEquHwVf0g1iO3428AFHQU4J Iu+7+ZFhm77V+eFUU7BE53ePn5vn84D6c7lQpxvHJ/UTyD0hWNxPd6+PNJ+RPrXirwMwkAAA==




    New Conditional Command: If last conditional is true/false - The purpose of this conditional statement allows you to "extend" a conditional to be able to run multiple commands. To understand it, I made an example of viable use case of the command:
     
    H4sIAAAAAAAEAN1VUW/aMBD+K57VxygK7RtPWwO0SGzrYOomIaSZ5ACrjp3ZFwpC/Pedk5BQ0DS0Teo05cXn891333cXe8evcJsD7/KBMmYe3hpEqZfhJLEyx4FUELDSwwNOvthkmdCp490df/teSO0XhwyTrUPIwtgoBQlKo114BxqsTMKRdPitM52+BDlkC4f1 qsaazQKWucRYJT3u1VqoAghzuvtJtU2iEk+oMM7SCeAELXlbAh 9E5mPXwpLx6JOStZJ8H/wycWx0Kj0nSt6AVPn73wuhWpAhadBpULx1XaFUxg0ZtOxvctII 0roKtAVcUMURvZFZfoYNtrjeosghe5ZKsTmwRFAfUuakToBRNU w6Br5Whob9AeuRcHjkOGd+RPu1SKMxb/4nghn8I5QWQrm/xGleINMGGXGrZhRXwBQVypJDpcyCKxSWDWVeTb6f7fcBnzxRu1/5LioL6a9BH1+Kvrby5vyYl6C+pP5G+iNzgbewMBbG4LAWMjhzf iqOvT3pxFxBz5r8y0oiKHnuLCPOvZOVKZS/BAe5azdrMzr4h3ohNYWOhV7CSeyDNWvzdLr7rkBD8udxgS4hRd 2J/16mMNQIdiGSdl7o7TDuWJSvD03cnVFpY8Q0AG3KMeQFCh/UbI3MM/EdSNtw3VfzeiLSRaNwL9yKNPHTUJ86PBmHlvv2NwksnExAwE/V/01YUuzm+nJUGtoeKLHl3U4URfX/8HKnnEJqr6l+40ewrpSRR2GHvojvfwAi0O0Y+wcAAA==




    Kill/Hunt for items now support multiple monsters - You can now add multiple monsters when doing a kill/hunt for item command. Each monster should be separated with ";".
     
    H4sIAAAAAAAEAM1US4/aMBD+K8jaYzYi0F7opUuAXVq2ZUmXVkJINcmwWDh2ZDsUhPLfO w558FBbWu2hymUemfnG3zz25MbsEiAdMuBSLtyuNIaJFzcIFUv MgHFwGrmHOAR9voxjKiJNOnvy/pEyYYUyQ7DTBmLXl5xDaJgU2r0HAYqF7ohp892bzU5BymzusJA KrPncacQ6lIozi3uzoTwFxJztf1FtlciXImIWmnL3kSau76dKg TAo1+8YYpUe5uCUqUJtoVqI7YPY3yb4CIimFpt0lpRryJw/FpCDxtEHyUQNiMYC7tZrtVue10KjD5yjtatY9AKoj2mE6giW5j khVyChsKDGgn1knA+kssUfYSL9BhTG96haN3qKhlIwKt5NQci4 1otX43+fpLjtb7FRyFcjtznkKaXCMLMjHQ//018gTq7nIm8+NgJLnIA2VBn8pawwm2eZQ4I11v7/D1XJ9LOGvOKa5lwdigi2SNFfde33uVqvmKv9irneHPrW3+CQHP XNtjK/GJ+TvEe2gzhL5pC2C0upwM5AMTzOhfMpPfb2mKYLDj0lk68rZo CzS2cecekNVjLlUQBmkOjaWKjN0j8USyYwdEIFLl/HqLQKHSu5kWs4S3iXGok8JH5qdIjzp8/8DyyCocCFW9KwPhd4MqU+5uTbuIq7lzyqFJ9TXaecQJIaaoMq0 0j+wOcOmKqemh0W94yjqxbngeoVUmJ3p/grMArHoV4QuyxVAgUn+zLP7F04Jf8fYZGxdut6VJzaHnCK16j9 tlnMZWHwms1yBLG38nDDp6B0TiJpuh5+TZL9BImghXfwBgAA




    Reworked Script System - The internal script system is fully reworked and is more optimized and efficient than the old version. Also added features such as variable and runtime viewer that helps you find bugs in your script.

    New Runtime System: Event - Definitely one of the main feature of the bot. This runtime system essentially allows you to setup a bot on certain events that happen inside a game. Events include monster death, boss' server message, player movement, and more. Aside from that, it also runs in parallel with Skill and Main runtime meaning, the overall runtime of the bot won't be disturbed since it has is own place to run on. This can be used in many cases. I already demonstrated it here. This is a new feature for both Floob and AQW bots in general so I added some scripts that utilizes this feature to potentially showcase its capability. If you have any questions on this matter, feel free to ask by commenting on this thread.

    This script is for defeating ledgermayne. It automatically goes to a specified portal based on the boss' prompt, similar on the video showcase that I made before.
     
    H4sIAAAAAAAEAM1W62/aMBD/V6qonyYUBWjHxqetKbRsfTCitd0qpJnkAAvHzmyHlVX533fOs4 Cq0ZZWKF/uEd/d7172vbWvFxFYbavLhBjZR0Jryie250sa6S5lUNtLNVbNQp0rw pDwQFnte+vTOaHcEIUFb6E0hLYrGANfU8GVfQIcJPXtM6r0r/rt7bKTwprdy6nc13BY2wuVLySjxu/+nLAY0Oft/SPRlobOSWS7YfBFUF7FjUI8cQbBBGRIFhxQ5gJjKDwSSiHXJwE yAzqZaiup/ddLioow48kD7WmJ2srdBQnN2b8idXRlYkeWG3YD20iMiDamv1L GzjGJGuSa8XdPDHMAShOp8ZfCVDJMkprlzdDJrhfVFTygxjViK TFlWe/8jgmrstPDUOtV7g3bQJbkdBNpJDt3EUKBIC+NljFskM28ta4Jm 1UOb/D/hvMeqR9INQ8dpLwIwLTTh83K/UJsvGJfB97Bx1YOr3HQenN4o1fF1mo1X1K6YlK/K0gHqTKesj0ewJ3Vrm/RVmOLtppbtHWQrZPOHPjSHXHJU1Gf+DPQA/CBzk2Cd3a9pNHay+Ha7k/sSVz0j3QsedCu2+jW59wu5KnD+Bygox0AOnoLoDuAM3suZHd0+ hS7jNLpMLPTuaM6G8wjGAsJ5nK32mPCFNTWlN/ih9pjqsiIwbEU0fWUamB0XZmeWNd6UxEzA6AbqUqYs06h7/Ex5Xh0QPgkz1Ch6ksxFzNYMfg51gI3SeTGWvmYKLWiP6UB9Di+ gcbEL84m5i0q1MOc3PTLcyeCBSXjMqIqkwOIYk3MoVJ0Jv4g3C 6VJdQkK/lKjjZaWadETTElZmvlfxXVLlaTWVOlAQlLm2qInleT/0y3mLFmY3Ov2LLHwMgCLyvHcfLVnksOnaIFsbYim4MrkCpNouX YdfwcK/kHdZD7Y0kMAAA=




    This script is similar on the "Maid" plugin on Grimlite Rev/Li or the "Army" script in Skua but interacts to you since you must say, "make me your master" in order for the player (that runs this script) to follow you anywhere. This script has some bugs in which I purposely did not fix so that you can do it if you are interested in making a "literal" bot that you can command in chat.
     
    H4sIAAAAAAAEAO1ZUXPiNhD+Kx73eKMeSNqXPOXiQEKbNGmc9G 4myUyFvYAGW3IlmZCj/PeuJNsYOG4g47bOzM1NsOSVVtpvdz+tfAv3g3pNwT1x+zHnQ++ MK0XZ2AtCQVPVpzG0HSNx2y7KfJ4khEXSPVm4p9eEMt0oNASvU kHi+TyOIVSUM+ldAANBQ++KSvVn9/FxfZFCmzfIW/laz89tJ5EhFzHV636YkTgDXPNxsWO3pSKzHok9P4kCUIESKF0Z 8BtJ9NyE4D4F9v/QevEF4wzcZbtO7YOoov/Hrrt8XrbdMVfcyVdvFm4+ZxHVS6N1pZXWwN5fGYlXVg5wq90qi PrFUQGi7R5jF5u9eYr2QJTDMCKxhD1QviapRvgCwbqNySuI1eK 2j1MXp3b9pQU25MmQqIZhWomWKz6+h7laGaJ7ODOCYTZ2FqeKi DGo5T4x6BtTtdJfaRxfo2GqilAehH8fqHPlfYO+xXnAfIi/4voV+CvvL8JMCGAqxBnLWsKgAt8vWZLe8ysyhMpuTBenV5MK12 URzN2TDoYFxkUwRYyazllNRz9QPEV5sZODYvRBgvHBygzTzb3U rVHXUY26jmvU9ZONxN4M3VONxBt2DVKSMdxBCHQGUYOjEo2sdA NklgqVlZKbFCNGcaGz7zDOMeB4G3h4fv4iAERSaGLbcRQtUpMw DEdUk6KWPNh/mzvPySk4CTivPBPO1qH5zT0qkR26xXVP9co4qLm6qdQ2ix+k8c/BB0253BWqrAi2IawZr7dWcYWlPaYG0Ts1l+GfmK2VVCScgq5FW nPV+pK0EhvNrW7rEg+T4mR1ylOn7QycF6Q3h/EXZ4QEhQ+Mba/1Beu/li3HbphF9YGrWDaY12xCV/ZanL27iOYrR28tLGM3kp+1pnPQaftfM/UaYuahIejN0YVyGzWpRF/orPr3aK8xZVNdXLyqLnzCcHv3pph/Y1D8b9RThvVdxlA4wLuKtuaAGl5zifWrzzOmHtKIKGgwo6wFIn Zq4JBDsX4LhdTjKBu0HxlNGuyh3NRyq57vG3O+VV82nva3jdL3 XEsaO40qPhDUXjGvU5ftvzfq2qtItAiulYhJifteFeLeiZd/4drKuU8TKvE0fweXyIbenr7fer7fepLWi02jw2895Qhz9dGfHM 1/nNykJuF0OmJZrCwHnsGICwx9qXI2bW8Jf8+q0nMqyTCGc8FTzH MFMd0Wmhnb0mDCs1h7up9KCxq+y3vdTiEfsBFlOPWOsDGUw4zo VvAZn8KGwo+Z4sGUpn6mZIgQyw35JY1gwBCPEQlLZ7lnnMsqJJ 9vy2kXPI7Kjh8TudJ4B2mmiJ5UvrriL2htn4rS0qWNlQ2I9iLB SyInCInmwXxUkRUF2WniKxUIWOM+Tb+b2L9xWQTs+Gj/VTHWzwFLTPfk+OdO/rExf9HtdIoIRNdy3EiPqgmIpydHbwwflOFPOCEKH1y/zyNfj5joAfZbWhtbT4Z9sZHoH83Aum2i/cnV4zn+RCDpmGFRjm1STi+kNlM0m4CQxpFux+viv467/AcVBtzwehwAAA==




    ... And Many More - I have added a lot of things this past 4 months and I don't have a list of them nor have made proper git commit comments to identify them. I definitely might have missed some major feature and/or changes...


    Notes:
    • This is still a pre-release version of Floob but is more refined than the last one and I feel like I'm overusing the [Beta] label so I decided to not add that.
    • Not all commands support string interpolation yet. Next update will include more interpolation-compatible commands.
    • Again, use it at your own risk, I will not be liable to any damages it might cause to you and/or your AQW account.
    • For bugs, suggestions, or recommendations, kindly reply to this thread and I will credit you on the next release.


    <b>Downloadable Files</b> Downloadable Files
    Last edited by NoobFloob; 1 Week Ago at 11:37 AM.
    Want to support me financially and/or keep me motivated on my projects? Go buy me a coffee! Any donations will be extremely appreciated!
     
    Discord: floobyy.

  2. The Following 5 Users Say Thank You to NoobFloob For This Useful Post:

    AngryMike (5 Days Ago),dwibbs (1 Week Ago),IfOnlyYouKnew (1 Week Ago),JKang5 (1 Week Ago),roro111 (10 Hours Ago)

  3. #2
    IfOnlyYouKnew's Avatar
    Join Date
    Feb 2021
    Gender
    male
    Location
    Just me, my PC and my idiocy
    Posts
    501
    Reputation
    197
    Thanks
    3,532
    My Mood
    Angelic
    Yay! Sorry I was not able to test /help more life has been a been hectic on my end lately. Again to all those reading this, USE FLOOB! It is the planned replacement of everything else on here, I plan to provide NoobFloob with whatever is needed to improve it more and more. My versions of flash were not working before with Floob which is why I didn't end up testing it. So if you used the Elite Flash Installer it may not work. That is unless you updated that @NoobFloob or it was just a weird issue on my end at the time. I will not use anything but my versions of Flash at the time being everyone, so if you have no problem with it install the recommended flash for Floob. I believe it's CleanFlash recommended,

    MANY GRIMOIRE BOTS SHOULD WORK WITH FLOOB!
    Contributor: March 14'th, Minionforce: March 15'th, Minion Plus: May 30'th, Former Staff: September 9'th, 2023

    Coding Hobbyist | - Current Activity | BattleOn | RotMG |


    Want to make my life better? <3 BTC: 3JoQRjwK28DVGTzL4mYkpjHRBeoFwNFVe7

  4. The Following User Says Thank You to IfOnlyYouKnew For This Useful Post:

    NoobFloob (1 Week Ago)

  5. #3
    NoobFloob's Avatar
    Join Date
    May 2019
    Gender
    male
    Location
    In my house
    Posts
    217
    Reputation
    10
    Thanks
    1,374
    Quote Originally Posted by IfOnlyYouKnew View Post
    So if you used the Elite Flash Installer it may not work. That is unless you updated that @NoobFloob or it was just a weird issue on my end at the time.
    Probably due to architecture issues. Before, it only runs on x64 so x86 flash ocx version will never work. Now that it runs on any architecture (but prefers x86), this should work properly not only on your Elite Flash Installer but also on other flash ocx versions.
    Want to support me financially and/or keep me motivated on my projects? Go buy me a coffee! Any donations will be extremely appreciated!
     
    Discord: floobyy.

  6. The Following User Says Thank You to NoobFloob For This Useful Post:

    IfOnlyYouKnew (6 Days Ago)

  7. #4
    lurifaxen's Avatar
    Join Date
    May 2024
    Gender
    male
    Posts
    5
    Reputation
    10
    Thanks
    2
    Good work on this!

    I have been thinking about methods AE can use to detect botting, as well as how to circumvent them. I concluded that the safest way would be to use the official, unmodified, game launcher.

    For a few days now I have been working on a project with the goal of making it possible to use Grimoire with the pepper flash player loaded in the game launcher, completely removing the need for AxShockwaveFlash, and it's looking like I have figured out how to do it.

    This makes it virtually impossible to detect botting by examining the user agent and other similar methods.

    Would you be interested in using such a solution? To integrate it with Floob, theoretically the only change needed is a new implementation of the Floob.Util.Interop.Flash class, while keeping its current API. I would supply that implementation of course.

  8. #5
    IfOnlyYouKnew's Avatar
    Join Date
    Feb 2021
    Gender
    male
    Location
    Just me, my PC and my idiocy
    Posts
    501
    Reputation
    197
    Thanks
    3,532
    My Mood
    Angelic
    Quote Originally Posted by lurifaxen View Post
    Good work on this!

    I have been thinking about methods AE can use to detect botting, as well as how to circumvent them. I concluded that the safest way would be to use the official, unmodified, game launcher.

    For a few days now I have been working on a project with the goal of making it possible to use Grimoire with the pepper flash player loaded in the game launcher, completely removing the need for AxShockwaveFlash, and it's looking like I have figured out how to do it.

    This makes it virtually impossible to detect botting by examining the user agent and other similar methods.

    Would you be interested in using such a solution? To integrate it with Floob, theoretically the only change needed is a new implementation of the Floob.Util.Interop.Flash class, while keeping its current API. I would supply that implementation of course.
    Grimoire 5.0 demonstrated this being possible, it uses grimoires External calls, PepperFlash, and JS to achieve a version not needing AxShockwave that still communicated via AS3 to JS to C# and vice versa.

    the post Build your own AQW Launcher, contains the closest version to legit you can get and even at one point gave me the Badge for using the "Official Launcher". If you combined Grimoire 5.0 methods whilst using the Electron Launcher like theirs, built based solely on theirs. Then you could achieve this. For loading non web files you must understand some Flash security to allow local access.
    Last edited by IfOnlyYouKnew; 5 Days Ago at 05:51 PM.
    Contributor: March 14'th, Minionforce: March 15'th, Minion Plus: May 30'th, Former Staff: September 9'th, 2023

    Coding Hobbyist | - Current Activity | BattleOn | RotMG |


    Want to make my life better? <3 BTC: 3JoQRjwK28DVGTzL4mYkpjHRBeoFwNFVe7

  9. #6
    NoobFloob's Avatar
    Join Date
    May 2019
    Gender
    male
    Location
    In my house
    Posts
    217
    Reputation
    10
    Thanks
    1,374
    Quote Originally Posted by lurifaxen View Post
    Good work on this!

    I have been thinking about methods AE can use to detect botting, as well as how to circumvent them. I concluded that the safest way would be to use the official, unmodified, game launcher.

    For a few days now I have been working on a project with the goal of making it possible to use Grimoire with the pepper flash player loaded in the game launcher, completely removing the need for AxShockwaveFlash, and it's looking like I have figured out how to do it.

    This makes it virtually impossible to detect botting by examining the user agent and other similar methods.

    Would you be interested in using such a solution? To integrate it with Floob, theoretically the only change needed is a new implementation of the Floob.Util.Interop.Flash class, while keeping its current API. I would supply that implementation of course.
    I made a lot of prototypes before ending up in this version. You can see the first version here. Basically, I used CEFSharp with PepperFlash and it worked. But I encountered problems:
    • Executing multiple commands from C# to CEFSharp Chromium browser is unstable. It is always a race condition which is a bit complicated for me to handle everytime. Sure, newer versions of CEFSharp circumvented that but they don't support PepperFlash anymore.
    • Very bloated. Not only it takes around 200MB of storage, it also consumes a lot of resources since it is chromium.
    • The way I can communicate to the Chromium is like this: Native C# Code > CEFSharp's Javascript Bridge > Flash. This process bothers me a lot because it is inefficient compared to a standard AxShockwaveFlash where I can directly communicate with the flash.


    So I opted-out on this method and tried Electron. But I also encountered issues:
    • Also bloated since it uses chromium, but more optimized than CEFSharp.
    • Node js doesn't technically support multithreading but has a workaround of webworkers. I don't actually know the specifics on this but based on what I experience, I am exposed to a lot of unsafe threads and race condition if I tried to implemented the features that Floob currently have.
    • Javascript is annoying to maintain when the project became huge. I know this because I experienced it (in a hard way.) Sure, I could've used typescript to make it more maintainable but during that time, I didn't know typescript exists.
    • In .NET, there exist a UI designer which is a life saver for me since I won't have to deal with UIs that much. In Electron however, while it does give me a freedom of freely designing a UI using HTML, CSS and Javascript, it does not give me the same convenience in .NET's designer.


    As for the bot detection thing, it is very easy to mask your application into a more "legit" app that AE won't flag you easily. I showcased it here. What you need to do is simply change the user agent to AE's launcher to every HTTP/ transaction (AQW also uses TCP but it doesn't have the user agent identity thing) and add a unique header (see the post's patch). This makes it a legit Artix Game Launcher on the AE server's perspective.

    But, changing user agent is good enough. Make it a Chrome ver < 84 (Last chrome that supports flash) user agent and you're good to go. They won't actively ban you anyway for having a suspicious application especially if you are involved in MTXs. The only reason you can get banned is if a try hard mod found you room hopping.

    If you have found a way to user PepperFlash in methods that I haven't tried yet, then I wanna know how and I'm interested in it.
    Last edited by NoobFloob; 5 Days Ago at 09:37 PM.
    Want to support me financially and/or keep me motivated on my projects? Go buy me a coffee! Any donations will be extremely appreciated!
     
    Discord: floobyy.

  10. #7
    lurifaxen's Avatar
    Join Date
    May 2024
    Gender
    male
    Posts
    5
    Reputation
    10
    Thanks
    2
    Quote Originally Posted by IfOnlyYouKnew View Post
    Grimoire 5.0 demonstrated this being possible, it uses grimoires External calls, PepperFlash, and JS to achieve a version not needing AxShockwave that still communicated via AS3 to JS to C# and vice versa.

    the post Build your own AQW Launcher, contains the closest version to legit you can get and even at one point gave me the Badge for using the "Official Launcher". If you combined Grimoire 5.0 methods whilst using the Electron Launcher like theirs, built based solely on theirs. Then you could achieve this. For loading non web files you must understand some Flash security to allow local access.
    You're misunderstanding what I said. I checked out your Grimoire 5.0 post and not only does it require the whole CefSharp browser, you also mess around with JS. The post also mentions a rewrite being needed.

    The solution I'm working on requires none of those things. I don't think I need to mention the problems with the "Build your own launcher" method.

    Quote Originally Posted by NoobFloob View Post
    I made a lot of prototypes before ending up in this version. You can see the first version here. Basically, I used CEFSharp with PepperFlash and it worked. But I encountered problems:
    • Executing multiple commands from C# to CEFSharp Chromium browser is unstable. It is always a race condition which is a bit complicated for me to handle everytime. Sure, newer versions of CEFSharp circumvented that but they don't support PepperFlash anymore.
    • Very bloated. Not only it takes around 200MB of storage, it also consumes a lot of resources since it is chromium.
    • The way I can communicate to the Chromium is like this: Native C# Code > CEFSharp's Javascript Bridge > Flash. This process bothers me a lot because it is inefficient compared to a standard AxShockwaveFlash where I can directly communicate with the flash.


    So I opted-out on this method and tried Electron. But I also encountered issues:
    • Also bloated since it uses chromium, but more optimized than CEFSharp.
    • Node js doesn't technically support multithreading but has a workaround of webworkers. I don't actually know the specifics on this but based on what I experience, I am exposed to a lot of unsafe threads and race condition if I tried to implemented the features that Floob currently have.
    • Javascript is annoying to maintain when the project became huge. I know this because I experienced it (in a hard way.) Sure, I could've used typescript to make it more maintainable but during that time, I didn't know typescript exists.
    • In .NET, there exist a UI designer which is a life saver for me since I won't have to deal with UIs that much. In Electron however, while it does give me a freedom of freely designing a UI using HTML, CSS and Javascript, it does not give me the same convenience in .NET's designer.


    As for the bot detection thing, it is very easy to mask your application into a more "legit" app that AE won't flag you easily. I showcased it here. What you need to do is simply change the user agent to AE's launcher to every HTTP/ transaction (AQW also uses TCP but it doesn't have the user agent identity thing) and add a unique header (see the post's patch). This makes it a legit Artix Game Launcher on the AE server's perspective.

    But, changing user agent is good enough. Make it a Chrome ver < 84 (Last chrome that supports flash) user agent and you're good to go. They won't actively ban you anyway for having a suspicious application especially if you are involved in MTXs. The only reason you can get banned is if a try hard mod found you room hopping.

    If you have found a way to user PepperFlash in methods that I haven't tried yet, then I wanna know how and I'm interested in it.
    It sounds like you want exactly the same thing as I do:

    • No having to ship a whole web browser
    • No JS
    • No HTML
    • No CSS
    • No performance degradation
    • No big Grimoire rewrite


    My solution is not based on CefSharp, Chromium or Electron; just the pepper flash player that the game launcher comes with.
    As a result of this, you don't have to ship anything other than the Grimoire files.

    Maybe it is a bit overkill in terms of not getting detected, but it is still definitely the safest way.

  11. The Following 2 Users Say Thank You to lurifaxen For This Useful Post:

    IfOnlyYouKnew (5 Days Ago),NoobFloob (5 Days Ago)

  12. #8
    NoobFloob's Avatar
    Join Date
    May 2019
    Gender
    male
    Location
    In my house
    Posts
    217
    Reputation
    10
    Thanks
    1,374
    Quote Originally Posted by lurifaxen View Post
    It sounds like you want exactly the same thing as I do:

    No having to ship a whole web browser
    No JS
    No HTML
    No CSS
    No performance degradation
    No big Grimoire rewrite


    My solution is not based on CefSharp, Chromium or Electron; just the pepper flash player that the game launcher comes with.
    As a result of this, you don't have to ship anything other than the Grimoire files.

    Maybe it is a bit overkill in terms of not getting detected, but it is still definitely the safest way.
    That's very interesting and I would like to know how and implement it on Floob (if possible) v1.0 release. Is there any way I can contact you? I have mine on my signature, a discord contact. You could also IM me if you like.
    Want to support me financially and/or keep me motivated on my projects? Go buy me a coffee! Any donations will be extremely appreciated!
     
    Discord: floobyy.

  13. #9
    IfOnlyYouKnew's Avatar
    Join Date
    Feb 2021
    Gender
    male
    Location
    Just me, my PC and my idiocy
    Posts
    501
    Reputation
    197
    Thanks
    3,532
    My Mood
    Angelic
    Quote Originally Posted by lurifaxen View Post
    You're misunderstanding what I said. I checked out your Grimoire 5.0 post and not only does it require the whole CefSharp browser, you also mess around with JS. The post also mentions a rewrite being needed.

    The solution I'm working on requires none of those things. I don't think I need to mention the problems with the "Build your own launcher" method. (Several )

    My solution is not based on CefSharp, Chromium or Electron; just the pepper flash player that the game launcher comes with.
    As a result of this, you don't have to ship anything other than the Grimoire files.

    Maybe it is a bit overkill in terms of not getting detected, but it is still definitely the safest way.
    I 100% get you but packing it without the extra 60mb-200mb & no change in browser?! I am also curious, you claim you can make grimoire work with its default files and no AxShockwave?! Please explain. (I have a few ideas)
    Last edited by IfOnlyYouKnew; 5 Days Ago at 12:08 PM.
    Contributor: March 14'th, Minionforce: March 15'th, Minion Plus: May 30'th, Former Staff: September 9'th, 2023

    Coding Hobbyist | - Current Activity | BattleOn | RotMG |


    Want to make my life better? <3 BTC: 3JoQRjwK28DVGTzL4mYkpjHRBeoFwNFVe7

  14. #10
    lurifaxen's Avatar
    Join Date
    May 2024
    Gender
    male
    Posts
    5
    Reputation
    10
    Thanks
    2
    Quote Originally Posted by NoobFloob View Post
    That's very interesting and I would like to know how and implement it on Floob (if possible) v1.0 release. Is there any way I can contact you? I have mine on my signature, a discord contact. You could also IM me if you like.
    I have sent a friend request to you on Discord.

    Quote Originally Posted by IfOnlyYouKnew View Post
    I 100% get you but packing it without the extra 60mb-200mb & no change in browser?! I am also curious, you claim you can make grimoire work with its default files and no AxShockwave?! Please explain. (I have a few ideas)
    That is the plan I have in mind. I won't go too much into the details of it right now, but I can say it involves a lot of reverse engineering of pepper flash player. Anything specific you would like to know?

  15. #11
    IfOnlyYouKnew's Avatar
    Join Date
    Feb 2021
    Gender
    male
    Location
    Just me, my PC and my idiocy
    Posts
    501
    Reputation
    197
    Thanks
    3,532
    My Mood
    Angelic
    Quote Originally Posted by lurifaxen View Post
    That is the plan I have in mind. I won't go too much into the details of it right now, but I can say it involves a lot of reverse engineering of pepper flash player. Anything specific you would like to know?
    Nah that about answers a good few of my questions! Good luck as I've thought about it but the work and understanding required is not up my alley at the moment. At least fun wise.
    Contributor: March 14'th, Minionforce: March 15'th, Minion Plus: May 30'th, Former Staff: September 9'th, 2023

    Coding Hobbyist | - Current Activity | BattleOn | RotMG |


    Want to make my life better? <3 BTC: 3JoQRjwK28DVGTzL4mYkpjHRBeoFwNFVe7

  16. #12
    roro111's Avatar
    Join Date
    Dec 2015
    Gender
    male
    Posts
    22
    Reputation
    10
    Thanks
    65
    My Mood
    Relaxed
    Nice work! I'm thinking how this could be used against ultras. Is there a way to distinguish different Event or CombatServerMessage packets?

  17. #13
    NoobFloob's Avatar
    Join Date
    May 2019
    Gender
    male
    Location
    In my house
    Posts
    217
    Reputation
    10
    Thanks
    1,374
    Quote Originally Posted by roro111 View Post
    Nice work! I'm thinking how this could be used against ultras. Is there a way to distinguish different Event or CombatServerMessage packets?
    Sure, I kind of planned to explain every feature (including events) in the About's documentation but kinda got tired to document everything. But anyways, here:

    • OnCombatServerMessage - Triggers on scenarios where the monster has a server message to the players. Examples of these are the counter attack messages, Ultra darkon's yap about his arcana, ultraspeaker, and more. And yes, it was designed to be used in ultra bosses.
    • OnPlayerCountUpdate - Triggers when the player count of the current map changes.
    • OnEventPacketReceived - Triggers specifically on the "event" packets that you can see when you on the Packet Viewer. This is different from the 'OnCombatServerMessage' event since from what I see, the "event" packet only shows when there's a change needed to be done on the map. Examples of this triggering is when Ledgermayne, Dark Carnax, and Ultra Dage's "goto this zone or you'll die".
    • OnMessageReceived - Triggers when a player (doesn't matter who they are) chatted.
    • OnWhisperReceived - Triggers when someone whispers you.
    • OnPlayerDeath - Triggers when a player in the map died.
    • OnMonsterRespawn - Triggers when a monster respawns.
    • OnServerMessage - Triggers when a server does a message to you. Examples of this is the "You are now away from keyboard" message.
    • OnStringUotls - Kinda cryptic when you don't check packets or not knowledgable about it but it essentially triggers when a player (excluding yourself) does a change or update on his character such as player position in map and his hp/mp.
    • OnAuraCombat - Triggers when there is an aura addition or removal against the caster or target.
    • OnCombatAnim - Triggers every time a combat animation (regardless of who is the caster or the target) happens. This is useful for (approximately) identifying the player's main target which is shown on the Butler bot demonstration.


    Some events have variables that can be used to your advantage. Like, OnMessageReceived has a fixed variable named "msg" which contains a message on that point of event. To know which variable is available and how to use it, open the code, "String Interpolation Demonstration" in the thread above.
    Want to support me financially and/or keep me motivated on my projects? Go buy me a coffee! Any donations will be extremely appreciated!
     
    Discord: floobyy.

  18. The Following User Says Thank You to NoobFloob For This Useful Post:

    roro111 (4 Hours Ago)

  19. #14
    roro111's Avatar
    Join Date
    Dec 2015
    Gender
    male
    Posts
    22
    Reputation
    10
    Thanks
    65
    My Mood
    Relaxed
    Thank you for the write-up and quick response! I think I'm almost at a working army bot for ultra speaker. I think there's a bug with the built-in map player count conditional, so I used a workaround with the OnPlayerCountUpdate event. I couldn't get the former to work regardless of whatever number of players I put into the map.

    If it's possible to make a feature request, could there be a way to use skills 1-4 in the background while other commands execute? Something like the Skua auto-attack feature. I think that feature would allow for proper use of potions like Scroll of Enrage, which can't really wait for other combat commands to finish.

    You can take a look at my script. It's just the standard AP/LR/SC/LoO team, but you can just make a new team comp in @main.

    H4sIAAAAAAAEAO1bbW/iOBD+K1G0fDlxKAF6u8uH01IKLSt65Ur37apK55IBIkKcs522b I//fuMkJOH1kjbQtEJVJTsmM56Zx8/4LY/qOzF1QK2pLYvS29IxFcK0h6Ven5mOaJkWFBWvRS2q2NagkwmxD a7WHtVP58S0ZWEuoTflAialBrUs6AuT2rx0CjYws1/qmFz8rV9fLyqZSyu1g1Kg6+amqEx4nzLLlHrf3RHLBdR5/biht6Ggc+KUGhPjMzXtqN/4EN9wLcEId4CMgf2qlytVbGmAZWHTMeUca11iYKUDA6HOiklVf SPWOFL1HX9fPsLCDyxUNA1LPQfA8GoppPZA9BxyHzPiOV39E70 npNh6vw+O8KqRZK/aRnkf9feVonoKYSWBaC/AxJLC2/bAtE0Bl8QexlDTtMmtJT0gmAsJJLbtO7AFZVMps/mPazpdKsEUSWwjyiTc+gyRptCB0rQZGUISTyx0V8AQWCT2DzKR b3YtMgXWoK4t8OFXCT21phfVugdptaalU9Ohwyt4iLlb1vDNQH 1Nefz0b0zlLIkVDWobpuwNqghVBQLRY8Ra9JW+YpV8Wsan1aBc wbIM1YODAxeMwOiEAYsZ+9mdOFe0Q24h1gWviq83LMK50gNJDp RJzbYBD8kcutbinmD4ow0Gt8zhSMqIWXuF9rwWg2M6TgBjF0n3 qmqtrGkp5Wztq0/mYRc/zG5mxcAAXelQ6uSM6LFwS3xOE4L0xyvD+BdJvWPTsgKL9EQoSy m0nBK6KDlW7QnCYsQQtlw4GDKJmISdTk0GloxnNC7KWQyK53dD 17Pux6K7myHsUmaKHtj4z+7iyaKL8ADJ44UHUfg5KQwJK+iFas HUf5/U9IJexvxZuL/7WUjG5ylxlyQzpxZa3U+UtX1S8CUYyl/UBuUMX7Pg6SScgOgDnoxpiDi0fODQN8ahXCqO4zofJPpbPrrxP h/d0I9y0o/Mw3JIbflLbZmALY+Zrbwls1UOme2NZbYlVFfyQaGZbFVkwOR5W SxlHpbnZJRoaLQo68MXDt44iKyID4ujQ9pYDOVbTRuVLWmjekg bbyxtLC+IckKUH/LRjY/56Iael4VZ5mF5PQuiZ/tur6c2z0sYryePp0tt1bWpbcVX+Upvm0+sy3JT9qlH1v97VFVJ dlS1mwP1NXGNDr9jE5LwmC5fMVugJrHhKPAo7RFq7IxdEol3yu 6AsUo9ddYfdYlFDP9wMGCgffLPpr31HRncgSG+oVwC/p4snJXv3+jVbZcdGd0TSFoN5vKRz+8vZvHqimFXYabMkDdHLpj xwiavyySzIH3l/bZVlIi3r/jTLZO2y0q2OkomK91kY7usqh+3pgRgPG4XduzqzRfHIAJyFsUM 7kTpXiK9sH1n+fPnc+Bc3srKl7HpLxIN5EWiGEV461ycgGxjig GxeEqq2OT6YPIfCNbS3UNba62cAMUaVi3eHR9uMnK+d5ChlS+w HN11NBfngj5oVzTM4RqoCOG6402ltHHyeLK0hi9KjTUPN0Sxrd wjASsTMgZlSl2FAyhihP/MFaNSxjDO45ZYRpseydC6wPcHNL04mjK5SLVHNC2R/FuH0w8JoRFBRFk4twE7hwg68NEBQPm69PZqKCiTCNcxttgl21B A/kC5RQuIGHlZB6bA5Q6FLDcFMKl0/xPzLSMuvuKr2+Ykxwu9fQ536QrEAK6xgF2hhA2hd/YxmLeua5/yRVDSde1ODuY2rXhiX/rMFz3elz7BRpr3IeOF46FQYrT5YAo/VMcwoAwugYvAsuJKo/dtXNh6YnL5LdsJo863kSlA8vJyo/fGamtvRF1LGtFyePQwqGrz9oVP6PzYz5u6jN7RMSwJrLuC9sam 03AF76Oz+OJLZ6YBcmizAemHWFKPKeVxj3zvhlJPqWWEFW+DMq xdguMK4o/+4FGH3qOxLZOFhs589Cx5KBExnBE+QodIbgh+NY/3nAAkGYQCGCzwgWSjZdc/US06rFJOrhVBG5zD6JoW7AlGD7Q5AjG01B9TX4Fxz4uqVtLxT1 Nn/wG2htjwhjsAAA==
    Finally, I'm wondering whether you've considered moving this to an online Git repository like ******. Skua's been pretty successful with sharing bots this way.

Similar Threads

  1. [Info] New Trainer - Floob
    By NoobFloob in forum Adventure Quest Worlds (AQW) Discussions
    Replies: 10
    Last Post: 03-18-2024, 07:51 AM

Tags for this Thread