{"id":109,"date":"2019-07-20T11:16:29","date_gmt":"2019-07-20T11:16:29","guid":{"rendered":"https:\/\/themes.pixelwars.org\/ikonik\/demo-01\/?post_type=portfolio&#038;p=109"},"modified":"2024-06-16T22:48:34","modified_gmt":"2024-06-16T22:48:34","slug":"codesys-password-library","status":"publish","type":"portfolio","link":"https:\/\/viktor.xyz\/index.php\/portfolio\/codesys-password-library\/","title":{"rendered":"CoDeSyS password library finder"},"content":{"rendered":"\n<pre class=\"wp-block-preformatted\">The Codesys password library Decoder is a web-based application designed to read and decode hexadecimal values from a .lib file, specifically targeting strings related to \"Visualizations\" within the file. This project showcases my ability to handle file input\/output operations, binary data processing, and user interface design using HTML, CSS, and JavaScript.\n\nKey Features:\n\nFile Upload: Users can upload a .lib file directly through the web interface.\n\nSearch and Extraction: The application searches for the string \"Visualizations\" within the uploaded file, counts 13 positions after the last letter 's', and extracts subsequent HEX values until a 00 HEX value is encountered.\n\nHEX to Text Conversion: The extracted HEX values are decoded into readable text using a specific XOR key.\n\nUser-Friendly Interface: The results, including the extracted HEX values and decoded text, are displayed in a clean and readable format on the webpage.\n\nTechnical Details:\n\nHTML and CSS: Structured the webpage and styled it to ensure a clean and user-friendly interface.\n\nJavaScript: Implemented the core logic for reading the file, searching for the target string, extracting and decoding the HEX values, and displaying the results.\n\nFile Handling: Utilized JavaScript's FileReader API to read the content of the uploaded .lib file as an ArrayBuffer.\n\nData Processing: Processed binary data to locate the \"Visualizations\" string and extract relevant HEX values.\n\nInteractive Elements: Included a file input element to facilitate file uploads and a dynamic result display area.\n\nChallenges Overcome:\n\nBinary Data Processing: Handling and processing binary data within a web browser environment required careful consideration and manipulation of ArrayBuffers and typed arrays.\n\nReal-Time User Interaction: Ensuring that the file upload and processing were smooth and provided immediate feedback to the user.\n\nOutcome: This project demonstrates my ability to build functional, user-friendly web applications that handle complex data processing tasks. It highlights my skills in web development, including front-end design and JavaScript programming, as well as my ability to work with binary data and file I\/O operations.\n\nTechnologies Used:\n\nHTML\nCSS\nJavaScript<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/viktor.xyz\/codesys-password-library.html\">https:\/\/viktor.xyz\/codesys-password-library.html<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Codesys password library Decoder is a web-based application designed to read and decode hexadecimal values from a .lib file, specifically targeting strings related to &#8220;Visualizations&#8221; within the file. This project showcases my ability to handle file input\/output operations, binary data processing, and user interface design using HTML, CSS, and JavaScript. Key Features: File Upload:&#8230; <\/p>\n<p class=\"more\"><a class=\"more-link\" href=\"https:\/\/viktor.xyz\/index.php\/portfolio\/codesys-password-library\/\">Read More<\/a><\/p>\n","protected":false},"author":1,"featured_media":64898,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","portfolio-category":[18],"class_list":["post-109","portfolio","type-portfolio","status-publish","format-standard","has-post-thumbnail","hentry","portfolio-category-automation"],"_links":{"self":[{"href":"https:\/\/viktor.xyz\/index.php\/wp-json\/wp\/v2\/portfolio\/109","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/viktor.xyz\/index.php\/wp-json\/wp\/v2\/portfolio"}],"about":[{"href":"https:\/\/viktor.xyz\/index.php\/wp-json\/wp\/v2\/types\/portfolio"}],"author":[{"embeddable":true,"href":"https:\/\/viktor.xyz\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/viktor.xyz\/index.php\/wp-json\/wp\/v2\/comments?post=109"}],"version-history":[{"count":0,"href":"https:\/\/viktor.xyz\/index.php\/wp-json\/wp\/v2\/portfolio\/109\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/viktor.xyz\/index.php\/wp-json\/wp\/v2\/media\/64898"}],"wp:attachment":[{"href":"https:\/\/viktor.xyz\/index.php\/wp-json\/wp\/v2\/media?parent=109"}],"wp:term":[{"taxonomy":"portfolio-category","embeddable":true,"href":"https:\/\/viktor.xyz\/index.php\/wp-json\/wp\/v2\/portfolio-category?post=109"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}