AvertissementCet article est uniquement destiné à des informations sur ce qu'est un exploit. L'exploitation est contraire aux conditions d'utilisation de Roblox.
An exploiter est l'utilisation de problèmes et de vulnérabilités logicielles dans Roblox par un joueur pour modifier le jeu ou le gameplay pour un avantage injuste. Les exploits ont été définis comme une forme de tricherie.
Certains exploits se présentent sous la forme de programmes ou de fichiers DLL injectables, qui cassent explicitement le TOS de Roblox et peuvent entraîner une interdiction permanente de Roblox. Un exemple serait le populaire "Hacking GUIs" dans lequel de nombreux outils d'exploitation sont mis sous la forme d'une GUI pour le joueur.
D'autres exploits exploitent des failles dans les scripts ou la construction d'un jeu. Un bon exemple serait le tristement célèbre problème "Noclip" dans Jailbreak, où les joueurs profitent du script d'exploration et des murs minces pour pénétrer dans des zones autrement inaccessibles. De tels exploits ne peuvent pas être bannis par Roblox, mais les joueurs surpris en train de le faire peuvent être bannis par un développeur si le jeu dispose d'une infrastructure de modération, comme un script d'administration.
De nombreux utilisateurs pensent que le terme correct pour les programmes qui modifient Roblox au profit d'un joueur est « exploiter », et d'autres pensent que « piratage » est le terme correct. Cependant, le piratage consiste à obtenir un accès non autorisé à un système tout en exploitant une vulnérabilité pour en faire de même.
Contenu
- 1 Signaler un exploiteur
- 2 Types d'exploits
- 2.1 Bytecode via la fonction loadstring
- 2.2 Proto-conversion
- 2.3 Emballage Lua
- 2.4 Injection DLL
- 2.5 Commutation par décalage
- 2.6 Contournement FE
- 2.7 Niveaux d'exploitation
- 2.8 Sélecteurs automatiques
- 2.9 Aimbots
- 3 Anti-Exploits
- 4 Critique
- 5 hacks inappropriés
- 6 Voir aussi
- Références 7
Signaler un exploiteur
Une fois que vous avez confirmé qu'il y a un exploiteur sur le serveur, utilisez la fonction de signalement (Signaler un abus) et signalez l'exploiteur pour tricherie/exploitation. Avant de soumettre le rapport, assurez-vous d'inclure autant de détails que possible. Une fois terminé, cliquez sur « Envoyer » pour envoyer le rapport à l'équipe de modération de Roblox.
Types d'exploits
Bytecode via la fonction loadstring
Lorsque Lua exécute des programmes, la machine virtuelle Lua compile le code en bytecode Lua avant qu'il ne soit interprété. Ce processus est irréversible sans artefacts (via la décompilation) et a donc été fréquemment utilisé pour l'obscurcissement du code.
Le bytecode Lua n'a pas la même structure que Lua et permet, par des moyens non conventionnels, la manipulation de la pile et d'autres choses qui ne sont pas possibles dans la programmation Lua normale. Il est possible, bien que difficile, d'écrire du code assembleur Lua manuellement et de l'assembler en bytecode Lua. Le processus Roblox peut charger le code Lua et le bytecode Lua en utilisant la fonction loadstring (qui peut être basculée sur ServerScriptService.)
Il a été proposé sur la liste de diffusion Lua que la manipulation directe de la pile pourrait être utilisée pour accéder à l'environnement d'autres fonctions pendant leur exécution et, par conséquent, pour voler des valeurs à ces fonctions (y compris les fonctions C auxquelles Lua a accès), ce qui est pas possible en pur Lua.
L'utilisateur de Roblox NecroBumpist a prouvé que l'idée était vraie et possible.[1] En utilisant le bytecode Lua, il a créé une fonction qui permettait à un script de voler des valeurs à d'autres fonctions, y compris les fonctions C. Cela a permis de voler des valeurs des API de Roblox, mais des mois se sont écoulés jusqu'à ce que quelqu'un trouve un moyen d'utiliser ce bogue pour modifier l'environnement global et devenir capable de faire en sorte que les scripts de base et le script de jointure exécutent n'importe quel code Lua dans un serveur de jeu.
Cela a entraîné la suppression du bytecode de Roblox et la possibilité de l'utiliser avec la fonction de chargement.[2] Malgré la croyance commune, cet exploit n'était pas lié à un exploit de bibliothèque dynamique directe (DLL) au cours de la même période. La suppression du bytecode n'a eu aucun autre effet secondaire que de rendre impossible l'obscurcissement du code sans d'autres moyens.
Conversion de prototypes
Après la suppression du compilateur Lua du client, Roblox a apporté des modifications importantes à la machine virtuelle Lua. Le bytecode compatible Roblox après le changement contenait une utilisation intensive du cryptage et de l'obscurcissement et nécessitait une signature spéciale du serveur, où tous les scripts clients ont été compilés. Générer ce nouveau bytecode à partir de zéro s'avérerait presque impossible pour les exploiteurs potentiels.
À l'été 2015, un utilisateur d'un forum souterrain de développement/marché d'exploits Roblox a eu une idée : en utilisant le compilateur Lua classique pour générer un prototype de fonction Lua, puis en le modifiant pour qu'il soit compatible avec la machine virtuelle de Roblox, il pouvait réaliser exécution du script. Ce processus a été facilité grâce à l'utilisation des types de données très flexibles de C++, où après avoir inversé les bonnes structures, accéder à toutes les données d'un prototype de fonction Roblox était trivial.
Après avoir résolu le cryptage, cet utilisateur a réalisé l'exécution du script et a surnommé sa méthode "conversion proto". Il a ensuite créé un exploit, qui était le premier de nombreux exploits à utiliser la nouvelle méthode. Certains des exploits les plus répandus et les plus tristement célèbres de l'histoire ont utilisé cette méthode pour exécuter des scripts.
Emballage Lua
Une nouvelle méthode pour obtenir l'exécution du script était également en préparation après les lourds changements de VM mis en œuvre par Roblox. Cette méthode - surnommée "Lua wrapping" ou simplement "wrapping", est devenue la deuxième méthode la plus populaire pour obtenir l'exécution de scripts. Cette méthode a fonctionné en générant un faux environnement Roblox dans une instance Lua normale et en émulant l'environnement Roblox normal dans les fonctions C implémentées par l'exploit. Cela a rendu les tentatives de Roblox de corriger ces exploits extrêmement difficiles, leur permettant de survivre aux mises à jour de sécurité majeures sans aucune perte de fonctionnalités.
Les premières tentatives d'implémentation de cette méthode d'exécution de script ont été incluses dans quelques exploits très populaires - réalisés par certains des principaux développeurs d'exploits de l'époque. Ces deux exploits ont ensuite été réécrits pour utiliser la conversion Proto à la place.
Environ 2 ans plus tard, une nouvelle classe d'exploits de wrapper est née avec un exploit qui, à ce jour, est l'un des exploits les plus populaires. Environ un mois plus tard, un autre exploit a également implémenté la même méthode pour obtenir l'exécution du script. Ces deux exploits ont largement utilisé les mêmes méthodes décrites en haut de cette section.
Injection DLL
La plupart des exploits actuels sont des fichiers DLL qui sont injectés dans Roblox à l'aide d'un injecteur DLL. Une fois injecté, l'exploit est capable de fonctionner correctement. L'injection d'une DLL dans un processus n'est pas tout ce qui est nécessaire, car Roblox a introduit de nombreuses sauvegardes pour empêcher la manipulation de la mémoire facilement.
Commutation de décalage
Lag switch est un exploit qui n'a pas été corrigé depuis une démonstration en 2015. Le chargement d'un lag-switch vous permettra d'utiliser les raccourcis clavier disponibles. Si l'utilisateur déclenche l'activation, son ordinateur cessera d'envoyer des signaux au modem dans ce cas, l'utilisateur utilise déjà Roblox et peut se déplacer librement, l'utilisateur doit reconnecter son ordinateur à Internet en 9 secondes ou Roblox s'arrêtera. Si l'utilisateur désactive le commutateur de décalage, son client revient à la normale. Les gens se plaignent de cet exploit car les utilisateurs peuvent se "téléporter" presque n'importe où dans le jeu. Un avantage majeur du lag-switch, pour les exploiteurs, est que le côté client du jeu, l'interface graphique, etc., fonctionne toujours normalement, tout comme les éléments de l'espace de travail, afin qu'ils puissent, dans un jeu de puzzle avec des leviers mobiles, se déconnecter et changer les leviers dans le mauvais sens, puis reconnectez-vous pour gâcher le jeu.
Un autre exploit connu sous le nom de gel de processus permet à l'utilisateur de se geler en suspendant toute exécution de code Roblox. Un exemple de ceci était l'exploit Jailbreak où les gens pouvaient mettre en pause le processus du jeu pour sortir du train plus rapidement.
Contournement FE
Le seul moyen connu de contourner le filtrage activé est la porte dérobée ou en utilisant des chapeaux pour construire (par exemple: Fe building ou SSBtools signifiant outils de construction côté serveur). L'exploiteur doit insérer un script, par exemple par modèle gratuit, plugin installé ou par accès direct au jeu, à l'intérieur du jeu qui permet d'exécuter des scripts Lua comme s'il faisait partie du jeu, en les reproduisant à tous les joueurs. Ce genre d'exploits a été vu partout dans les cafés, les théâtres et les jeux de réunion de fans. Il est presque impossible d'implémenter des portes dérobées dans les grands jeux car le jeu n'utilise pas de modèles gratuits et est généralement pré-sélectionné avant la publication pour s'assurer que tous les scripts ne sont pas malveillants.
Niveaux d'exploitation
Les niveaux sont l'identité du thread Roblox que le script exécuté via l'exploit Roblox exécute. Les scripts locaux normaux s'exécutent avec le niveau 2, les scripts Roblox s'exécutent généralement avec les niveaux 3 à 4, la barre de commandes sur Roblox Studio s'exécute avec le niveau 5 et les plugins dans Studio s'exécutent au niveau 6. C'est une idée fausse commune que les niveaux s'associent avec la qualité d'un exploit est, mais en réalité, si vous pouviez déjà exécuter dans Roblox, vous pourriez définir le niveau. La plupart des exploits exécutent leurs scripts au niveau 6 et rétrogradent intentionnellement leurs niveaux lors de l'appel de certaines fonctions dans le jeu pour éviter la détection. Le niveau 7 est un niveau supérieur soupçonné d'être faux et une arnaque a probablement existé avec des exploits comme Synapse X avant l'activation du filtrage (FE).
Cliqueurs automatiques
Les cliqueurs automatiques sont des logiciels informatiques qui cliquent automatiquement à certains endroits pour l'utilisateur, généralement pour obtenir des avantages dans divers jeux Roblox. Le genre de jeux "clicker" qui comprend des jeux tels que Case Clicker sont des jeux où les utilisateurs qui utilisent des clickers automatiques sont plus susceptibles de gagner des avantages. Ceux-ci ne peuvent pas être bannis, car ce sont simplement des dispositifs de contrôle d'entrée et ne modifient pas le client Roblox lui-même.
Aimbots
Les Aimbots sont les plus courants dans de nombreux jeux FPS majeurs et sont principalement un point culminant des exploiteurs qui les utilisent. Les Aimbots sont des scripts qui fonctionnent de 2 manières, silencieusement ou de manière flagrante.
Se réfère silencieusement au script modifiant de force la hitbox des munitions de l'arme pour mieux toucher la cible, tandis que votre réticule suit de manière flagrante parfaitement. Silent Aimbot est généralement utilisé pour masquer l'aimbot, car il a la capacité de modifier la portée de son utilisation. Ces scripts ne fonctionneront généralement pas avec les jeux dotés d'un système d'armes basé sur des projectiles, mais les développeurs d'exploits peuvent utiliser des trajectoires pour calculer où frapper. Les hackers plus intelligents utiliseront des hacks qui visent différentes parties du corps (c'est-à-dire l'estomac) afin qu'ils ne soient pas soupçonnés par des tirs dans la tête uniquement. Bien sûr, il peut être facile de voir à travers eux.
Anti-exploits
Les Anti-Exploits sont des scripts codés par le joueur/développeur lui-même, il est actuellement utilisé contre les exploiteurs qui tentent de modifier le jeu. Les anti-exploits ne seront jamais parfaits, car il y aura toujours de nouveaux exploits et contournements créés par la communauté des exploiteurs que le développeur doit maîtriser.
Critique
Les exploiteurs ne peuvent pas faire ce qu'ils veulent. Cependant, ils peuvent ruiner certaines choses du jeu. Par exemple, une ferme automatique ou l'exécution d'une télécommande pour spammer quelque chose.
Piratage inapproprié
La discrétion du lecteur est conseillée pour cette section. Lisez à vos risques et périls.
Certains exploiteurs ont inséré des modèles, des décalcomanies et des sons inappropriés et ont utilisé des scripts pour faire des choses inappropriées aux avatars dans le jeu, suscitant des inquiétudes chez les parents lorsque de tels exploits sont exposés aux enfants. Le cas le plus grave de cela et des exploits en général a eu lieu le 4 juillet 2018, lorsque deux exploiteurs ont fait des actions fortement inappropriées à l'avatar d'une fillette de 7 ans. Cet incident a été largement présenté sur plusieurs sites Web d'information, ce qui a conduit Roblox à interdire définitivement les exploiteurs et à appliquer des restrictions aux jeux en mode expérimental (voir les restrictions de jeu en mode expérimental pour plus d'informations).[3][4] Veuillez noter que les antivirus trouvent les exploits en tant que malware. Les exploits sont des virus dans certains cas et d'autres non, ils ralentissent les appareils s'ils sont exécutés.
Voir également
- Filtrage de réplication
- Identité du fil
- Anomalie
Références
- Exploits magiques de bytecode de Necro, forums Roblox, http://www.roblox.com/Forum/ShowPost.aspx?PostID=57817090
- ↑ John Shedletsky, Bye Bye Bytecode, Blog Roblox, http://blog.roblox.com/2012/08/bye-bye-bytecode
- ↑ https://devforum.roblox.com/t/changes-to-experimental-mode-games-now-hidden-from-sort/139752
- ↑ https://www.thesun.co.uk/tech/6692872/roblox-avatar-gang-raped-video-game/