{"id":121246,"date":"2025-01-06T15:46:02","date_gmt":"2025-01-06T13:46:04","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/skrytaya-komandnaya-obolochka-v-sintezatore-yamaha-pozvolivshaya-vypolnit-kod-cherez-midi"},"modified":"2025-01-06T15:46:02","modified_gmt":"2025-01-06T13:46:04","slug":"skrytaya-komandnaya-obolochka-v-sintezatore-yamaha-pozvolivshaya-vypolnit-kod-cherez-midi","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/news\/skrytaya-komandnaya-obolochka-v-sintezatore-yamaha-pozvolivshaya-vypolnit-kod-cherez-midi","title":{"rendered":"Une interface de commande cach\u00e9e dans le synth\u00e9tiseur Yamaha, permettant d'ex\u00e9cuter du code via MIDI","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Anna Antonenko, qui travaille sur le d\u00e9veloppement de syst\u00e8mes embarqu\u00e9s et consacre son temps libre au d\u00e9veloppement du syst\u00e8me d'exploitation BOSS (BEAM-based Operating System with Security), a publi\u00e9 les r\u00e9sultats de l'ing\u00e9nierie inverse du synth\u00e9tiseur musical Yamaha PSR-E433. Au cours de ce travail, une interface shell obfusqu\u00e9e a \u00e9t\u00e9 d\u00e9couverte dans le synth\u00e9tiseur, permettant d'ex\u00e9cuter du code au niveau du firmware. L'acc\u00e8s \u00e0 l'interface shell se fait en envoyant des paquets MIDI avec des messages SysEx, qui peuvent \u00eatre transmis lors de la connexion du synth\u00e9tiseur via le port USB. Les informations obtenues lors de l'ing\u00e9nierie inverse concernant la puce et les firmwares, ainsi que des exemples de code et des dumps de d\u00e9bogage, sont publi\u00e9es sur GitHub.       <\/p>\n<p>L'int\u00e9r\u00eat pour l'ing\u00e9nierie inverse est n\u00e9 il y a quelques ann\u00e9es, apr\u00e8s qu'Anna a d\u00e9cid\u00e9 de nettoyer l'int\u00e9rieur du synth\u00e9tiseur de la poussi\u00e8re et de satisfaire sa curiosit\u00e9 concernant le fonctionnement de l'appareil. La carte comportait une puce YAMAHA SWL01U, pour laquelle il n'a pas \u00e9t\u00e9 possible de trouver des informations d\u00e9taill\u00e9es sur Internet. Il y a quelques mois, Anna a trouv\u00e9 un manuel pour un mod\u00e8le de synth\u00e9tiseur similaire qui contenait le sch\u00e9ma de cette puce. Anna a \u00e0 nouveau d\u00e9mont\u00e9 l'appareil et a commenc\u00e9 \u00e0 r\u00e9aliser des exp\u00e9riences, utilisant les broches disponibles sur la carte pour l'interface de d\u00e9bogage JTAG et le port UART.     <center><img decoding=\"async\" alt=\"Une interface de commande cach\u00e9e dans le synth\u00e9tiseur Yamaha, permettant d&#039;ex\u00e9cuter du code via MIDI\" src=\"\/wp-content\/uploads\/2025\/01\/98533e09700241752d5b6228310c1c53.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/center>    <\/p>\n<p>Gr\u00e2ce au d\u00e9bogueur OpenOCD, \u00e0 la connexion JTAG et aux exp\u00e9riences, il a \u00e9t\u00e9 d\u00e9couvert que la carte utilise une puce avec un noyau de processeur ARM7TDMI. En \u00e9tudiant la disposition de la m\u00e9moire dans le d\u00e9bogueur, il a \u00e9t\u00e9 possible de d\u00e9charger le contenu des firmwares stock\u00e9s dans la ROM et la m\u00e9moire Flash. Par la suite, les images de firmware ont \u00e9t\u00e9 analys\u00e9es \u00e0 l'aide du paquet Ghidra pour l'ing\u00e9nierie inverse.     <\/p>\n<p>Lors de l'examen des donn\u00e9es textuelles extraites du firmware, un ensemble de cha\u00eenes a \u00e9t\u00e9 remarqu\u00e9 (\u00ab help \u00bb, \u00ab info \u00bb, \u00ab ver \u00bb, \u00ab logout \u00bb, etc.), ressemblant \u00e0 des commandes de l'interface de ligne de commande. L'exploration des pointeurs vers ces cha\u00eenes a permis de trouver un code invoquant des fonctions pour traiter des commandes, \u00e9voquant une interface de connexion et un shell de commande. Il a \u00e9galement \u00e9t\u00e9 d\u00e9termin\u00e9 qu'une commande \u00ab login \u00bb \u00e9tait pr\u00e9vue pour activer le shell, \u00e0 laquelle il fallait transmettre le mot de passe \u00ab #0000 \u00bb. void shell_run_command(char* command_input) { if (shell_login_state == 0) { if (shell_compare_command(command_input, \u00ab login \u00bb) == 0) { shell_ask_passwd(); \/\/ imprime \u00ab passwd ? \u00bb shell_login_state = 1; } } else if (shell_login_state == 1) { if (shell_compare_command(command_input, \u00ab #0000 \u00bb) == 0) { shell_login_ok(); \/\/ imprime \u00ab login OK \u00bb shell_login_state = 2; } else { shell_print(\u00ab Passwd Error\n \u00bb); shell_login_state = 0; } } else { \/\/ ex\u00e9cute r\u00e9ellement la commande } }      <\/p>\n<p>Une \u00e9tude plus approfondie du firmware a montr\u00e9 que les commandes \u00e9taient trait\u00e9es par paquets, commen\u00e7ant toujours par les m\u00eames 8 octets de donn\u00e9es et se terminant par le code 0xf7. Comme l'interaction externe avec le synth\u00e9tiseur se faisait uniquement via MIDI, et que la sp\u00e9cification MIDI pr\u00e9voyait un type de message sp\u00e9cial SysEx, il \u00e9tait suppos\u00e9 que c'\u00e9tait celui-ci qui pouvait \u00eatre utilis\u00e9 pour transmettre des commandes. L'hypoth\u00e8se \u00e9tait \u00e9galement soutenue par le fait que les messages SysEx et les paquets interpr\u00e9t\u00e9s par le shell commen\u00e7aient par un code 0xf0, suivi de l'identifiant du fabricant 0x43 (Yamaha).       <\/p>\n<p>Pour v\u00e9rifier l'hypoth\u00e8se, un script Python a \u00e9t\u00e9 \u00e9crit, qui traduisait les donn\u00e9es saisies en paquets du protocole MIDI. La m\u00e9thode a fonctionn\u00e9 : login passwd ? #0000 login OK &gt; help logout help ? info ver stack perf-on perf-off perf-disp d dp d xxxxx d\/s xxxxx m ADDRESS DATA m\/b ADDRESS DATA m\/w ADDRESS DATA m\/l ADDRESS DATA &gt; info DevelopName PSR-E433 DevelopNumber #3341 Main DevelopNumber #3341 Make data &amp; time MAY 16 2012 19:00:57 J\/E Select English &gt;         <\/p>\n<p>Dans l'aide affich\u00e9e lors de l'envoi de la commande \u00ab help \u00bb, parmi d'autres, se trouvaient des commandes pour modifier le contenu de la m\u00e9moire. Gr\u00e2ce \u00e0 ces commandes, il \u00e9tait possible de charger du code arbitraire en m\u00e9moire et d'en prendre le contr\u00f4le, en rempla\u00e7ant le pointeur sur la pile utilis\u00e9 pour le retour apr\u00e8s le traitement de la commande. \u00c0 titre d'exp\u00e9rimentation, une application simple \u00e9crite en assembleur a \u00e9t\u00e9 plac\u00e9e dans une zone de m\u00e9moire inutilis\u00e9e, affichant la cha\u00eene \u00ab HeloWrld \u00bb sur un affichage LCD de 8 caract\u00e8res. Le programme \u00e9tait format\u00e9 comme un fichier MIDI ordinaire, qu'il suffisait de transmettre \u00e0 l'appareil.    <center><img decoding=\"async\" alt=\"Une interface de commande cach\u00e9e dans le synth\u00e9tiseur Yamaha, permettant d&#039;ex\u00e9cuter du code via MIDI\" src=\"\/wp-content\/uploads\/2025\/01\/c846c259859ceb3809af994092fcd298.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/center>     <\/p>\n<p>Par la suite, des travaux ont commenc\u00e9 pour \u00e9tudier les particularit\u00e9s de l'affichage graphique sur des \u00e9crans \u00e0 cristaux liquides, culminant avec la pr\u00e9paration d'un code capable d'afficher un contenu pixelis\u00e9 arbitraire dans la zone de caract\u00e8res, en synchronisation avec la lecture de la vid\u00e9o Bad Apple sur un appareil externe (vid\u00e9o de d\u00e9monstration).    <center><img decoding=\"async\" alt=\"Une interface de commande cach\u00e9e dans le synth\u00e9tiseur Yamaha, permettant d&#039;ex\u00e9cuter du code via MIDI\" src=\"\/wp-content\/uploads\/2025\/01\/bcddc31a967d7c8e1c617c0129c92dd8.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/center>            <center>  <div class=\"youtube-placeholder\" data-id=\"u6sukVMijBg\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/u6sukVMijBg\/hqdefault.jpg\" alt=\"Lire la vid\u00e9o\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center><br \/>\n<br \/>Source : <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=62516\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0410\u043d\u043d\u0430 \u0410\u043d\u0442\u043e\u043d\u0435\u043d\u043a\u043e, \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0449\u0430\u044f\u0441\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u043e\u0439 \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u0438 \u0432 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0430\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 BOSS (BEAM-based Operating System with Security), \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u0438\u043d\u0436\u0438\u043d\u0438\u0440\u0438\u043d\u0433\u0430 \u043c\u0443\u0437\u044b\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u0438\u043d\u0442\u0435\u0437\u0430\u0442\u043e\u0440\u0430 Yamaha PSR-E433. \u0412 \u0445\u043e\u0434\u0435 \u043f\u0440\u043e\u0432\u0435\u0434\u0451\u043d\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0432 \u0441\u0438\u043d\u0442\u0435\u0437\u0430\u0442\u043e\u0440\u0435 \u0431\u044b\u043b \u0432\u044b\u044f\u0432\u043b\u0435\u043d \u043e\u0431\u0444\u0443\u0441\u0446\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 shell-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441, \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0432\u0448\u0438\u0439 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0441\u0432\u043e\u0435\u0433\u043e \u043a\u043e\u0434\u0430 \u043d\u0430 \u0443\u0440\u043e\u0432\u043d\u0435 \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0438. \u0414\u043e\u0441\u0442\u0443\u043f \u043a shell-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0443 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u043e\u043c \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 MIDI-\u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u0441 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f\u043c\u0438 SysEx, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":121247,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-121246","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0410\u043d\u043d\u0430 \u0410\u043d\u0442\u043e\u043d\u0435\u043d\u043a\u043e, \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0449\u0430\u044f\u0441\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u043e\u0439 \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u0438 \u0432 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0430\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 BOSS (BEAM-based Operating System with Security), \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u0438\u043d\u0436\u0438\u043d\u0438\u0440\u0438\u043d\u0433\u0430.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/fr\/blog\/news\/skrytaya-komandnaya-obolochka-v-sintezatore-yamaha-pozvolivshaya-vypolnit-kod-cherez-midi\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0421\u043a\u0440\u044b\u0442\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0430\u044f \u043e\u0431\u043e\u043b\u043e\u0447\u043a\u0430 \u0432 \u0441\u0438\u043d\u0442\u0435\u0437\u0430\u0442\u043e\u0440\u0435 Yamaha, \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0432\u0448\u0430\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043a\u043e\u0434 \u0447\u0435\u0440\u0435\u0437 MIDI | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0410\u043d\u043d\u0430 \u0410\u043d\u0442\u043e\u043d\u0435\u043d\u043a\u043e, \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0449\u0430\u044f\u0441\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u043e\u0439 \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u0438 \u0432 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0430\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 BOSS (BEAM-based Operating System with Security), \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u0438\u043d\u0436\u0438\u043d\u0438\u0440\u0438\u043d\u0433\u0430.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/news\/skrytaya-komandnaya-obolochka-v-sintezatore-yamaha-pozvolivshaya-vypolnit-kod-cherez-midi\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2025-01-06T13:46:04+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2025-01-06T13:46:04+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Shell cach\u00e9 dans le synth\u00e9tiseur Yamaha, permettant d'ex\u00e9cuter du code via MIDI | ProHoster","description":"Anna Antonenko, travaillant sur le d\u00e9veloppement de syst\u00e8mes embarqu\u00e9s et d\u00e9veloppant pendant son temps libre le syst\u00e8me d'exploitation BOSS (BEAM-based Operating System with Security), a publi\u00e9 les r\u00e9sultats de l'ing\u00e9nierie inverse.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/news\/skrytaya-komandnaya-obolochka-v-sintezatore-yamaha-pozvolivshaya-vypolnit-kod-cherez-midi","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0421\u043a\u0440\u044b\u0442\u0430\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0430\u044f \u043e\u0431\u043e\u043b\u043e\u0447\u043a\u0430 \u0432 \u0441\u0438\u043d\u0442\u0435\u0437\u0430\u0442\u043e\u0440\u0435 Yamaha, \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0432\u0448\u0430\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043a\u043e\u0434 \u0447\u0435\u0440\u0435\u0437 MIDI | ProHoster","og:description":"\u0410\u043d\u043d\u0430 \u0410\u043d\u0442\u043e\u043d\u0435\u043d\u043a\u043e, \u0437\u0430\u043d\u0438\u043c\u0430\u044e\u0449\u0430\u044f\u0441\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u043e\u0439 \u0432\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c \u0438 \u0432 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0430\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 BOSS (BEAM-based Operating System with Security), \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u0438\u043d\u0436\u0438\u043d\u0438\u0440\u0438\u043d\u0433\u0430.","og:url":"https:\/\/prohoster.info\/fr\/blog\/news\/skrytaya-komandnaya-obolochka-v-sintezatore-yamaha-pozvolivshaya-vypolnit-kod-cherez-midi","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2025-01-06T13:46:04+00:00","article:modified_time":"2025-01-06T13:46:04+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"121246","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 09:26:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 09:26:19","updated":"2026-01-23 09:26:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/121246","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=121246"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/121246\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media\/121247"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=121246"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=121246"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=121246"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}