{"id":1172,"date":"2014-02-05T11:27:58","date_gmt":"2014-02-05T11:27:58","guid":{"rendered":"http:\/\/www.phillips321.co.uk\/?p=1172"},"modified":"2014-02-05T11:31:16","modified_gmt":"2014-02-05T11:31:16","slug":"base64-decoding-in-various-languages","status":"publish","type":"post","link":"https:\/\/www.phillips321.co.uk\/2014\/02\/05\/base64-decoding-in-various-languages\/","title":{"rendered":"base64 decoding in various languages"},"content":{"rendered":"<p>So we have found the base64 string &#8220;SGVsbG9Xb3JsZCE=&#8221; on a locked down workstation and we want to decode. Quite often we don&#8217;t have access to tools so here&#8217;s a list of ways to decode the string using various languages.<\/p>\n<p>Python<\/p>\n<div class=\"codecolorer-container python vibrant\" style=\"overflow:auto;white-space:nowrap;width:100%;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/><\/div><\/td><td><div class=\"python codecolorer\"><span class=\"sy0\">&gt;&gt;&gt;<\/span> <span class=\"kw1\">import<\/span> <span class=\"kw3\">base64<\/span><br \/>\n<span class=\"sy0\">&gt;&gt;&gt;<\/span> <span class=\"kw3\">base64<\/span>.<span class=\"me1\">b64decode<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;SGVsbG9Xb3JsZCE=&quot;<\/span><span class=\"br0\">&#41;<\/span><\/div><\/td><\/tr><\/tbody><\/table><\/div>\n<p>PowerShell<\/p>\n<div class=\"codecolorer-container powershell vibrant\" style=\"overflow:auto;white-space:nowrap;width:100%;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/><\/div><\/td><td><div class=\"powershell codecolorer\"><span class=\"kw2\">PS<\/span> <span class=\"sy0\">&gt;<\/span> <span class=\"br0\">&#91;<\/span>System.Text.Encoding<span class=\"br0\">&#93;<\/span>::UTF8.GetString<span class=\"br0\">&#40;<\/span><span class=\"br0\">&#91;<\/span>System.Convert<span class=\"br0\">&#93;<\/span>::FromBase64String<span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;SGVsbG9Xb3JsZCE=&quot;<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><br \/>\nblahblah<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n<p>Perl<\/p>\n<div class=\"codecolorer-container perl vibrant\" style=\"overflow:auto;white-space:nowrap;width:100%;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/><\/div><\/td><td><div class=\"perl codecolorer\"><span class=\"kw2\">use<\/span> MIME<span class=\"sy0\">::<\/span><span class=\"me2\">Base64<\/span><span class=\"sy0\">;<\/span><br \/>\n<a href=\"http:\/\/perldoc.perl.org\/functions\/print.html\"><span class=\"kw3\">print<\/span><\/a> decode_base64<span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;SGVsbG9Xb3JsZCE=&quot;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/div><\/td><\/tr><\/tbody><\/table><\/div>\n<p>BASH<\/p>\n<div class=\"codecolorer-container bash vibrant\" style=\"overflow:auto;white-space:nowrap;width:100%;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/><\/div><\/td><td><div class=\"bash codecolorer\"><span class=\"kw3\">echo<\/span> <span class=\"re2\">SGVsbG9Xb3JsZCE<\/span>= <span class=\"sy0\">|<\/span> base64 <span class=\"re5\">--decode<\/span><\/div><\/td><\/tr><\/tbody><\/table><\/div>\n<p>php<\/p>\n<div class=\"codecolorer-container php vibrant\" style=\"overflow:auto;white-space:nowrap;width:100%;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/><\/div><\/td><td><div class=\"php codecolorer\"><span class=\"kw1\">echo<\/span> <a href=\"http:\/\/www.php.net\/base64_decode\"><span class=\"kw3\">base64_decode<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;SGVsbG9Xb3JsZCE=&quot;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/div><\/td><\/tr><\/tbody><\/table><\/div>\n<p>C#<\/p>\n<div class=\"codecolorer-container csharp vibrant\" style=\"overflow:auto;white-space:nowrap;width:100%;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/><\/div><\/td><td><div class=\"csharp codecolorer\"><span class=\"kw4\">byte<\/span><span class=\"br0\">&#91;<\/span><span class=\"br0\">&#93;<\/span> data <span class=\"sy0\">=<\/span> Convert<span class=\"sy0\">.<\/span><span class=\"me1\">FromBase64String<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;SGVsbG9Xb3JsZCE=&quot;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><br \/>\n<span class=\"kw4\">string<\/span> decodedString <span class=\"sy0\">=<\/span> Encoding<span class=\"sy0\">.<\/span><span class=\"me1\">UTF8<\/span><span class=\"sy0\">.<\/span><span class=\"me1\">GetString<\/span><span class=\"br0\">&#40;<\/span>data<span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/div><\/td><\/tr><\/tbody><\/table><\/div>\n<p>VisualBasic<\/p>\n<div class=\"codecolorer-container vb vibrant\" style=\"overflow:auto;white-space:nowrap;width:100%;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/>3<br \/>4<br \/>5<br \/>6<br \/><\/div><\/td><td><div class=\"vb codecolorer\"><span class=\"kw4\">Dim<\/span> base64Encoded <span class=\"kw4\">As<\/span> <span class=\"kw1\">String<\/span> = <span class=\"st0\">&quot;SGVsbG9Xb3JsZCE=&quot;<\/span><br \/>\n<span class=\"kw4\">Dim<\/span> base64Decoded <span class=\"kw4\">as<\/span> <span class=\"kw1\">String<\/span><br \/>\n<span class=\"kw4\">Dim<\/span> data() <span class=\"kw4\">As<\/span> <span class=\"kw1\">Byte<\/span><br \/>\ndata = System.Convert.FromBase64String(base64Encoded)<br \/>\nbase64Decoded = System.Text.ASCIIEncoding.ASCII.GetString(data)<br \/>\nmsgbox(base64Decoded)<\/div><\/td><\/tr><\/tbody><\/table><\/div>\n<p>Java<\/p>\n<div class=\"codecolorer-container java vibrant\" style=\"overflow:auto;white-space:nowrap;width:100%;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/><\/div><\/td><td><div class=\"java codecolorer\"><span class=\"kw1\">import<\/span> <span class=\"co2\">java.util.Base64<\/span><span class=\"sy0\">;<\/span><br \/>\n<span class=\"kw4\">byte<\/span><span class=\"br0\">&#91;<\/span><span class=\"br0\">&#93;<\/span> decoded <span class=\"sy0\">=<\/span> Base64.<span class=\"me1\">getDecoder<\/span><span class=\"br0\">&#40;<\/span><span class=\"br0\">&#41;<\/span>.<span class=\"me1\">decode<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;SGVsbG9Xb3JsZCE=&quot;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">;<\/span><\/div><\/td><\/tr><\/tbody><\/table><\/div>\n<p>JavaScript<\/p>\n<div class=\"codecolorer-container javascript vibrant\" style=\"overflow:auto;white-space:nowrap;width:100%;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/><\/div><\/td><td><div class=\"javascript codecolorer\">atob<span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;SGVsbG9Xb3JsZCE=&quot;<\/span><span class=\"br0\">&#41;<\/span><\/div><\/td><\/tr><\/tbody><\/table><\/div>\n<p>Ruby<\/p>\n<div class=\"codecolorer-container ruby vibrant\" style=\"overflow:auto;white-space:nowrap;width:100%;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/>2<br \/><\/div><\/td><td><div class=\"ruby codecolorer\"><span class=\"kw3\">require<\/span> <span class=\"st0\">&quot;base64&quot;<\/span><br \/>\ndecoded_string = <span class=\"kw4\">Base64<\/span>.<span class=\"me1\">decode64<\/span><span class=\"br0\">&#40;<\/span><span class=\"st0\">'SGVsbG9Xb3JsZCE='<\/span><span class=\"br0\">&#41;<\/span><\/div><\/td><\/tr><\/tbody><\/table><\/div>\n<p>MySQL<\/p>\n<div class=\"codecolorer-container mysql vibrant\" style=\"overflow:auto;white-space:nowrap;width:100%;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/><\/div><\/td><td><div class=\"mysql codecolorer\"><a href=\"http:\/\/search.oracle.com\/search\/search?group=MySQL&amp;q=SELECT\"><span class=\"kw1\">SELECT<\/span><\/a> FROM_BASE64<span class=\"br0\">&#40;<\/span><span class=\"st0\">'SGVsbG9Xb3JsZCE='<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy2\">;<\/span><\/div><\/td><\/tr><\/tbody><\/table><\/div>\n","protected":false},"excerpt":{"rendered":"<p>So we have found the base64 string &#8220;SGVsbG9Xb3JsZCE=&#8221; on a locked down workstation and we want to decode. Quite often we don&#8217;t have access to tools so here&#8217;s a list of ways to decode the string using various languages. Python 12&gt;&gt;&gt; import base64 &gt;&gt;&gt; base64.b64decode&#40;&quot;SGVsbG9Xb3JsZCE=&quot;&#41; PowerShell 12PS &gt; &#91;System.Text.Encoding&#93;::UTF8.GetString&#40;&#91;System.Convert&#93;::FromBase64String&#40;&quot;SGVsbG9Xb3JsZCE=&quot;&#41;&#41; blahblah Perl 12use MIME::Base64; print decode_base64&#40;&quot;SGVsbG9Xb3JsZCE=&quot;&#41;; [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[414,221,416,345,418,413,420,150,165,250,417,415,111,364,166,419],"_links":{"self":[{"href":"https:\/\/www.phillips321.co.uk\/wp-json\/wp\/v2\/posts\/1172"}],"collection":[{"href":"https:\/\/www.phillips321.co.uk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.phillips321.co.uk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.phillips321.co.uk\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.phillips321.co.uk\/wp-json\/wp\/v2\/comments?post=1172"}],"version-history":[{"count":3,"href":"https:\/\/www.phillips321.co.uk\/wp-json\/wp\/v2\/posts\/1172\/revisions"}],"predecessor-version":[{"id":1175,"href":"https:\/\/www.phillips321.co.uk\/wp-json\/wp\/v2\/posts\/1172\/revisions\/1175"}],"wp:attachment":[{"href":"https:\/\/www.phillips321.co.uk\/wp-json\/wp\/v2\/media?parent=1172"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.phillips321.co.uk\/wp-json\/wp\/v2\/categories?post=1172"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.phillips321.co.uk\/wp-json\/wp\/v2\/tags?post=1172"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}