{"id":5017,"date":"2025-09-10T10:54:24","date_gmt":"2025-09-10T18:54:24","guid":{"rendered":"https:\/\/www.pnfsoftware.com\/blog\/?p=5017"},"modified":"2026-06-04T15:18:36","modified_gmt":"2026-06-04T23:18:36","slug":"vibe-reversing-with-vibre-ai-assistant","status":"publish","type":"post","link":"https:\/\/www.pnfsoftware.com\/blog\/vibe-reversing-with-vibre-ai-assistant\/","title":{"rendered":"Reversing with VIBRE AI Assistant and JEB MCP"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><em>[This entry was updated on June 3 to reflect changes and additions all the way to JEB 5.41]<\/em><br>JEB ships with <em>VIBRE<\/em> <sup class='footnote'><a href='#fn-5017-1' id='fnref-5017-1' onclick='return fdfootnote_show(5017)'>1<\/a><\/sup> , an AI assistant that can help users reverse-engineer their project files.<\/p>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-6a2c68a26a48a\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-6a2c68a26a48a\"  aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.pnfsoftware.com\/blog\/vibe-reversing-with-vibre-ai-assistant\/#What_is_VIBRE\" >What is VIBRE<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.pnfsoftware.com\/blog\/vibe-reversing-with-vibre-ai-assistant\/#API_Connectors\" >API Connectors<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.pnfsoftware.com\/blog\/vibe-reversing-with-vibre-ai-assistant\/#Language_Models\" >Language Models<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.pnfsoftware.com\/blog\/vibe-reversing-with-vibre-ai-assistant\/#Using_AWS_Bedrock_Models\" >Using AWS Bedrock Models<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.pnfsoftware.com\/blog\/vibe-reversing-with-vibre-ai-assistant\/#Using_Microsoft_Azure_AI_Foundry_Models\" >Using Microsoft Azure AI Foundry Models<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.pnfsoftware.com\/blog\/vibe-reversing-with-vibre-ai-assistant\/#JEBs_MCP_server\" >JEB&#8217;s MCP server<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.pnfsoftware.com\/blog\/vibe-reversing-with-vibre-ai-assistant\/#Legacy_Assistant\" >Legacy Assistant<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.pnfsoftware.com\/blog\/vibe-reversing-with-vibre-ai-assistant\/#Conclusion\" >Conclusion<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"What_is_VIBRE\"><\/span>What is VIBRE<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">You may call VIBRE at any time by pressing the backtick key or via the Action menu.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.pnfsoftware.com\/blog\/wp-content\/uploads\/2025\/09\/image-1.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"832\" src=\"https:\/\/www.pnfsoftware.com\/blog\/wp-content\/uploads\/2025\/09\/image-1-1024x832.png\" alt=\"\" class=\"wp-image-5061\" srcset=\"https:\/\/www.pnfsoftware.com\/blog\/wp-content\/uploads\/2025\/09\/image-1-1024x832.png 1024w, https:\/\/www.pnfsoftware.com\/blog\/wp-content\/uploads\/2025\/09\/image-1-300x244.png 300w, https:\/\/www.pnfsoftware.com\/blog\/wp-content\/uploads\/2025\/09\/image-1-768x624.png 768w, https:\/\/www.pnfsoftware.com\/blog\/wp-content\/uploads\/2025\/09\/image-1-1536x1248.png 1536w, https:\/\/www.pnfsoftware.com\/blog\/wp-content\/uploads\/2025\/09\/image-1.png 1965w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">The VIBRE dialog can be opened at any time by pressing the backtick key<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">It is backed by:<br>1) JEB&#8217;s Model Context Protocol (MCP) server<br>2) A Large Language Model (LLM) of your choice<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">VIBRE can be used on any JEB project consisting of any file(s). It has a complete view of the opened project and can manipulate it via the tools offered by the MCP server, invoked by the LLM.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The short videos below demonstrate how VIBRE can be prompted by a JEB user:<\/p>\n\n\n\n<iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/Gh84QjP7LpA?si=K47O7kFYzcssi5FN\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n\n\n\n<iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/3PNDH3NVnQQ?si=xYdh2DE5iJVzZAlA\" title=\"YouTube video player\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"API_Connectors\"><\/span>API Connectors<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">As of JEB 5.41, five API connectors are now supported by VIBRE and JEB MCP:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>OpenAI legacy (<code>\/v1\/chat\/completions<\/code>)<\/li>\n\n\n\n<li>OpenAI (<code>\/v1\/responses<\/code>)<\/li>\n\n\n\n<li>Anthropic (<code>\/v1\/messages<\/code>)<\/li>\n\n\n\n<li>Google Gemini (<code>\/v1beta\/$MODEL:generateContent<\/code>)<\/li>\n\n\n\n<li>AWS Bedrock (<code>\/model\/$MODEL\/converse<\/code>)<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Language_Models\"><\/span>Language Models<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">You may select any model that fits your &#8211; or your organization&#8217;s &#8211; requirements:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>A commercial frontier LLM<\/strong>: such as ChatGPT, Claude Opus, Gemini, Grok, Mistral, Deepseek, Qwen, etc. We have several presets for most well-known top-of-the-line LLMs. Make sure to fill in your API key if it is not already present in a well-known environment variable.<\/li>\n\n\n\n<li><strong>Your organization&#8217;s private language model<\/strong>: if you work in a SCIF, isolated network, work on sensitive artifacts, or have similar constraints that forbid the use of outside LLMs.<\/li>\n\n\n\n<li><strong>A small or medium model running locally on your machine<\/strong>: such as  gpt-oss or codellama running on LM Studio or Ollama. You will need a robust GPU to obtain decent inference times.<\/li>\n\n\n\n<li><strong>Our own, free OpenAI&#8217;s API-compatible end-point<\/strong>: It is the first preset option and the chosen default if no LLM API key was provided. Our end-point is a proxy to several well-known commercial frontier models. We intend to provide this option free of charge for as long as traffic and usage allows, but be aware that it is rate limited!<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><a href=\"https:\/\/www.pnfsoftware.com\/blog\/wp-content\/uploads\/2025\/09\/vibre-settings-1.gif\"><img loading=\"lazy\" decoding=\"async\" width=\"985\" height=\"750\" src=\"https:\/\/www.pnfsoftware.com\/blog\/wp-content\/uploads\/2025\/09\/vibre-settings-1.gif\" alt=\"\" class=\"wp-image-5022\" style=\"width:377px;height:auto\"\/><\/a><figcaption class=\"wp-element-caption\">The VIBRE settings dialog allows the users to select their preferred language model.<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Using_AWS_Bedrock_Models\"><\/span>Using AWS Bedrock Models<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/docs.aws.amazon.com\/bedrock\/latest\/userguide\/models-api-compatibility.html\">Most models<\/a> available on AWS Bedrock can be accessed with the Converse API. You will need an API key, that can be generated in the AWS console, Bedrock resource.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.pnfsoftware.com\/blog\/wp-content\/uploads\/2025\/09\/image-4-scaled.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"263\" src=\"https:\/\/www.pnfsoftware.com\/blog\/wp-content\/uploads\/2025\/09\/image-4-1024x263.png\" alt=\"\" class=\"wp-image-5159\" srcset=\"https:\/\/www.pnfsoftware.com\/blog\/wp-content\/uploads\/2025\/09\/image-4-1024x263.png 1024w, https:\/\/www.pnfsoftware.com\/blog\/wp-content\/uploads\/2025\/09\/image-4-300x77.png 300w, https:\/\/www.pnfsoftware.com\/blog\/wp-content\/uploads\/2025\/09\/image-4-768x197.png 768w, https:\/\/www.pnfsoftware.com\/blog\/wp-content\/uploads\/2025\/09\/image-4-1536x395.png 1536w, https:\/\/www.pnfsoftware.com\/blog\/wp-content\/uploads\/2025\/09\/image-4-2048x527.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Generate a long-term API key in the Bedrock console<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Load the AWS Bedrock preset in VIBRE and customize the base URL to match your region.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.pnfsoftware.com\/blog\/wp-content\/uploads\/2025\/09\/image-5.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"340\" src=\"https:\/\/www.pnfsoftware.com\/blog\/wp-content\/uploads\/2025\/09\/image-5-1024x340.png\" alt=\"\" class=\"wp-image-5166\" srcset=\"https:\/\/www.pnfsoftware.com\/blog\/wp-content\/uploads\/2025\/09\/image-5-1024x340.png 1024w, https:\/\/www.pnfsoftware.com\/blog\/wp-content\/uploads\/2025\/09\/image-5-300x100.png 300w, https:\/\/www.pnfsoftware.com\/blog\/wp-content\/uploads\/2025\/09\/image-5-768x255.png 768w, https:\/\/www.pnfsoftware.com\/blog\/wp-content\/uploads\/2025\/09\/image-5-1536x510.png 1536w, https:\/\/www.pnfsoftware.com\/blog\/wp-content\/uploads\/2025\/09\/image-5.png 2008w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Make sure to adjust the base URL and model name<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">When selecting a model in the auto-populated models list, make sure to add the <a href=\"https:\/\/docs.aws.amazon.com\/bedrock\/latest\/userguide\/models-region-compatibility.html\">ARN prefix<\/a> to the model name. Typical case: users in&#8230; the US can use &#8216;<code>us.<\/code>&#8216;; the EU can use &#8216;<code>eu.<\/code>&#8216;; Asia can use &#8216;<code>.ap<\/code>&#8216;. If the ARN is not specified, you will likely run into a 400 error and the Bedrock runtime will let you know that <em>&#8220;Invocation of model ID [&#8230;] isn\u2019t supported. Retry your request with the ID or ARN of an inference profile that contains this model.&#8221;<\/em>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Using_Microsoft_Azure_AI_Foundry_Models\"><\/span>Using Microsoft Azure AI Foundry Models<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">If you decide to use models through Azure, ensure the following:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>use the OpenAI compatible end-point<\/li>\n\n\n\n<li>the base URL should end in <code>.services.ai.azure.com\/openai<\/code><\/li>\n\n\n\n<li>the end-point should be <code>\/v1\/chat\/completions<\/code><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">That information is available in the <em>Models<\/em> tab of your Foundry project page on https:\/\/ai.azure.com\/:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.pnfsoftware.com\/blog\/wp-content\/uploads\/2025\/09\/image-3-scaled.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"414\" src=\"https:\/\/www.pnfsoftware.com\/blog\/wp-content\/uploads\/2025\/09\/image-3-1024x414.png\" alt=\"\" class=\"wp-image-5150\" srcset=\"https:\/\/www.pnfsoftware.com\/blog\/wp-content\/uploads\/2025\/09\/image-3-1024x414.png 1024w, https:\/\/www.pnfsoftware.com\/blog\/wp-content\/uploads\/2025\/09\/image-3-300x121.png 300w, https:\/\/www.pnfsoftware.com\/blog\/wp-content\/uploads\/2025\/09\/image-3-768x310.png 768w, https:\/\/www.pnfsoftware.com\/blog\/wp-content\/uploads\/2025\/09\/image-3-1536x621.png 1536w, https:\/\/www.pnfsoftware.com\/blog\/wp-content\/uploads\/2025\/09\/image-3-2048x828.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">An Azure AI Foundry models tab displaying the OpenAI compatible URL and model name<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Beware: The names in the auto-populated models list of the VIBRE Setting dialog box (retrieved with a <code>\/v1\/models query<\/code>) do not necessarily reflect the model names to use. Example, the list may show a <code>Kimi-K2.6-2026-04-20<\/code> model whereas the Foundry project page instructs to use the name <code>Kimi-K2.6<\/code>. You should use the Foundry project page name.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><a href=\"https:\/\/www.pnfsoftware.com\/blog\/wp-content\/uploads\/2025\/09\/image-2.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"567\" src=\"https:\/\/www.pnfsoftware.com\/blog\/wp-content\/uploads\/2025\/09\/image-2-1024x567.png\" alt=\"\" class=\"wp-image-5149\" style=\"aspect-ratio:1.8060611017954276;width:620px;height:auto\" srcset=\"https:\/\/www.pnfsoftware.com\/blog\/wp-content\/uploads\/2025\/09\/image-2-1024x567.png 1024w, https:\/\/www.pnfsoftware.com\/blog\/wp-content\/uploads\/2025\/09\/image-2-300x166.png 300w, https:\/\/www.pnfsoftware.com\/blog\/wp-content\/uploads\/2025\/09\/image-2-768x426.png 768w, https:\/\/www.pnfsoftware.com\/blog\/wp-content\/uploads\/2025\/09\/image-2-1536x851.png 1536w, https:\/\/www.pnfsoftware.com\/blog\/wp-content\/uploads\/2025\/09\/image-2.png 2007w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Using an OpenAI compatible end-point with Azure<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"JEBs_MCP_server\"><\/span>JEB&#8217;s MCP server<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The MCP server offers an array of tools to access JEB&#8217;s API, allowing the LLM to examine and work on your project.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As of JEB 5.41, the list of tools and their descriptions is available here: <a href=\"https:\/\/pnfsoftware.com\/other\/jeb_mcp_tools.JEB541.md\">https:\/\/pnfsoftware.com\/other\/jeb_mcp_tools.JEB541.md<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">MCP-aware agents such as Claude Code, Claude Desktop, OpenAI Codex, OpenCode, LM Studio, etc. can connect to the MCP server and instruct JEB to work on a project. You may start the MCP server explicitly through the file menu.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The MCP server may also be started by custom headless clients. Use the static methods offered by <code>com.pnfsoftware.jeb.client.mcp.JebMcpServerInstance<\/code> to start and stop the server.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Legacy_Assistant\"><\/span>Legacy Assistant<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The <a href=\"https:\/\/www.pnfsoftware.com\/blog\/jeb-assistant\/\">legacy assistant<\/a> that was introduced in JEB 5.2 to provide better names suggestions for types, methods and fields remains available by clicking the button on the top right-hand corner of a decompiled code fragment.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Conclusion\"><\/span>Conclusion<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">We encourage you to give VIBRE or JEB MCP a try: it often provides helpful analysis or pre-analysis information, and when guided properly, it can operate on a project much faster than any human could ever do. Personally, I instruct it to rename classes, methods, fields, and local variables\/parameters based on the analysis of the decompiled code, and the results are often very good with models that were trained on large code bases (such as Anthropic and OpenAI&#8217;s frontier models). Please provide your feedback through the usual means (<a href=\"mailto:support@pnfsoftware.com\">support@pnfsoftware.com<\/a>, <a href=\"https:\/\/www.x.com\/jebdec\">x.com\/jebdec<\/a>, <a href=\"https:\/\/www.pnfsoftware.com\/chat\">pnfsoftware.com\/chat<\/a>), VIBRE and JEB MCP are long-term features that are meant to be improved and expanded for the foreseeable future.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Thank you. Nicolas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">&#8211;<\/p>\n\n\n<div class='footnotes' id='footnotes-5017'><div class='footnotedivider'><\/div><ol><li id='fn-5017-1'> VIBRE is an acronym for VIBe REversing! <span class='footnotereverse'><a href='#fnref-5017-1'>&#8617;<\/a><\/span><\/li><\/ol><\/div>","protected":false},"excerpt":{"rendered":"<p>[This entry was updated on June 3 to reflect changes and additions all the way to JEB 5.41]JEB ships with VIBRE 1 , an AI assistant that can help users reverse-engineer their project files. What is VIBRE You may call VIBRE at any time by pressing the backtick key or via the Action menu. It &hellip; <a href=\"https:\/\/www.pnfsoftware.com\/blog\/vibe-reversing-with-vibre-ai-assistant\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Reversing with VIBRE AI Assistant and JEB MCP<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[30],"tags":[],"class_list":["post-5017","post","type-post","status-publish","format-standard","hentry","category-jeb5"],"_links":{"self":[{"href":"https:\/\/www.pnfsoftware.com\/blog\/wp-json\/wp\/v2\/posts\/5017","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.pnfsoftware.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.pnfsoftware.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.pnfsoftware.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.pnfsoftware.com\/blog\/wp-json\/wp\/v2\/comments?post=5017"}],"version-history":[{"count":24,"href":"https:\/\/www.pnfsoftware.com\/blog\/wp-json\/wp\/v2\/posts\/5017\/revisions"}],"predecessor-version":[{"id":5167,"href":"https:\/\/www.pnfsoftware.com\/blog\/wp-json\/wp\/v2\/posts\/5017\/revisions\/5167"}],"wp:attachment":[{"href":"https:\/\/www.pnfsoftware.com\/blog\/wp-json\/wp\/v2\/media?parent=5017"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.pnfsoftware.com\/blog\/wp-json\/wp\/v2\/categories?post=5017"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.pnfsoftware.com\/blog\/wp-json\/wp\/v2\/tags?post=5017"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}