Au cours des dernières années, avec moi plongeant dans la zone de programmation, j'ai joué à quelques jeux d'une entreprise. Comme prévu, deux intérêts se sont affrontés et une partie de mon expérience est née de l'intérêt d'explorer les jeux. J'ai commencé à les reverse-engineering et alors que la lecture de l'assemblage des binaires est toujours impossible pour moi, ce que j'ai fait inclut:
- data mining;
- analyse de fichiers (modèles 3D, archives , fichiers de données, etc);
- netcode RE;
- serveurs de jeu MITM-ing et modification des données transmises entre.
Certains des des informations que j'ai pu trouver que j'ai rendues publiques, y compris le dernier outil qui a permis aux joueurs de faire des choses qui sont légales dans le jeu mais que les développeurs ne pouvaient pas les activer, et qui est capable de faire des choses qui sont illégales en termes de logique de jeu, mais bien sûr, ceux-ci ne sont pas inclus dans la version.
Dans un avenir proche, je prévois de postuler pour un emploi de développeur C ++ dans cette entreprise et je me demande si et comment dois-je mentionner ces détails.
Informations complémentaires:
- les jeux mentionnés sont des jeux en ligne (pensez aux MMO);
- l'entreprise a des bureaux dans de nombreux pays mais le bureau de ma ville n'est pas le seul responsable pour les jeux mentionnés;
- alors que certaines des données sont exposés, les outils utilisés pour l'extraire et les sources des outils ne sont jamais devenus publics;
- les données sensibles du jeu restent privées, telles que les taux de chute des objets ou certaines valeurs pour le calcul des dommages;
- Les conditions d'utilisation du jeu interdisent explicitement la rétro-ingénierie, mais d'après ce que j'ai lu, cela n'entraînerait que la suspension du compte de jeu;
- aucun conseil d'avocat n'a été pris à ce sujet.
Quelques détails supplémentaires:
- cela peut être un détail important (à certains égards), la société est principalement un développeur mobile;
- les jeux sont abandonnés par 95% depuis environ un an déjà en raison de la fermeture des bureaux de développement responsables.
Répondre à certains des commentaires:
- les gens publient des hacks pour certains de leurs jeux et des scripts pour l'extraction de modèles, mais je n'ai jamais entendu parler de leur demande de supprimer de tels messages;
- ToS interdit les modifications et RE du jeu, mais là était un site de type WoW créé par le joueur et l'entreprise:
- l'a utilisé comme référence dans le support du jeu par e-mail;
- voulait que le joueur continue à développer le site Web;
- N'a rien fait pour l'aider.
- le jeu n'est pas très populaire parmi les techniciens car je n'ai vu que très peu d'outils et n'en ai entendu parler que quelques personnes capables de le faire, ou tout cela est également privé;
- Je considère que mes "hacks" sont davantage une recherche de failles dans la logique des jeux, pas de véritables fissures;
- "Si vous ne leur dites pas et n'obtenez pas le poste, vous risquez que quelqu'un le découvre plus tard" est un très bon point car lors de la publication d'informations, j'ai utilisé mon pseudo dans le jeu ou mon vrai nom pendant que j'ai vérifié tous les éléments publiés pour ne contenir aucun de ces éléments.
O L'un des projets de longue durée qui fournit une partie des informations au public (principalement celui qui est réellement dans le jeu) est dans mon CV car il donne ~ 2 ans d'expérience avant mon premier vrai travail. Je l'ai utilisé pour postuler à mon emploi actuel, mais évidemment personne ne m'a demandé "Comment avez-vous obtenu les informations nécessaires?" , mais j'ai toujours pu répondre "Collecte manuelle, vous savez."
Mise à jour: j'ai essayé d'entrer en contact avec les RH du bureau via leur groupe de médias sociaux, mais ils répondent ~ une fois par mois, donc mise à jour tardive ici.
En leur posant une question directe sur leur attitude à l'égard de la rétro-ingénierie, ils doivent répondre pour rechercher des emplois sur leur site Web. Pouah. Sans aucune réponse claire de leur part, je suppose que je m'en tiendrai à la position silencieuse. La réponse choisie fournit quelques bonnes idées sur la façon de bien présenter les faits mentionnés et je pourrais les suivre, il me reste encore du temps jusqu'à mon éventuelle candidature.
Voici les points clés des réponses:
- Trois scénarios possibles existent:
- Le non-respect des conditions de service est inacceptable.
- Cela n’a pas d’importance.
- Cela dépend.
- Lisez attentivement le ToS et EULA pour la mention explicite de RE.
- Recherche sur les programmes de bug bounty de l'entreprise, l'industrie, leur attitude envers les autres personnes qui font de l'ER, si leurs messages sont supprimés, etc.
- processus de RE peut être un bon point lors de l'entretien, ce qui compte également, c'est comment vous utilisez les données et les capacités obtenues.
- Il vaut mieux ne pas utiliser vos noms d'utilisateur largement connus et / ou réels nom si vous décidez de publier quelque chose, c'est-à-dire n'utilisez pas votre compte GitHub principal pour publier différents projets.
- Si vos informations trouvées associées à des données qui ne devraient pas être accessibles au public, peuvent être les suivantes:
- Pourquoi avez-vous pensé que c'était acceptable?
- Si vous êtes embauché, pourquoi devrions-nous être certains que vous ne violerez pas vos conditions d'emploi?
- Si possible, vous pouvez essayer de connaître leur attitude en demandant aux RH ou à une personne qui re (et est votre ami) des questions hypothétiques .
- Si vous avez trouvé des failles, des problèmes de sécurité ou tout autre comportement inattendu, envisagez de le signaler au service des jeux approprié.
- Si vous décidez de le mentionner dans l'interview, présentez-le de manière positive.
- Si vous ne savez pas comment réagiraient-ils, ne le mentionnez pas.
N'hésitez pas à ajouter plus de points ou à modifier ceux que j'ai mal compris et qui n'appartiennent pas ici.