{"id":6689,"date":"2019-08-23T22:05:01","date_gmt":"2019-08-23T22:05:01","guid":{"rendered":"http:\/\/www.hexacorn.com\/blog\/?p=6689"},"modified":"2019-08-23T22:05:03","modified_gmt":"2019-08-23T22:05:03","slug":"sitting-on-the-lolbins-4","status":"publish","type":"post","link":"https:\/\/www.hexacorn.com\/blog\/2019\/08\/23\/sitting-on-the-lolbins-4\/","title":{"rendered":"Sitting on the Lolbins, 4"},"content":{"rendered":"\n<p>I have always looked at my reverse engineering adventures as a way to become a better programmer. What I couldn&#8217;t understand from MSDN, or example code snippets I could almost certainly understand at the basic assembly level. <\/p>\n\n\n\n<p>Sometimes though, when I look at some code, I do scratch my head a bit. The case I am going to describe below is one where I am left with a slightly worried state of mind. Is my programming craft better after seeing all this?<\/p>\n\n\n\n<p>You decide.<\/p>\n\n\n\n<p>A few years ago ASUSTeK produced a very interesting executable called <em>Batch Caller Exe<\/em>. As the name suggests it does run batch files. If we put aside the obvious <em>but why<\/em>, we still have to deal with the <em>how<\/em>.<\/p>\n\n\n\n<p>The way it works is that you run it with one of the options described below:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p>file.exe \/Install test <\/p><\/blockquote>\n\n\n\n<p>OR<\/p>\n\n\n\n<blockquote class=\"wp-block-quote\"><p>file.exe \/Uninstall test<\/p><\/blockquote>\n\n\n\n<p>The interesting bit is that the <em>test<\/em> in that syntax is a prefix for a batch file name. And the expected file name is actuall called <em>&lt;prefix>install_all.bat<\/em>, or  <em>&lt;prefix>uninstall_all.bat<\/em>.<\/p>\n\n\n\n<p>Using test as an example, you need to create either <em>testinstall_all.bat<\/em> or <em>testuninstall_all.bat<\/em>. They will be executed as per the command line arguments.<\/p>\n\n\n\n<p>So, it of course gives us an option to disturb the process tree, maybe even bypass some filters, but&#8230; it feels odd, doesn&#8217;t it?<\/p>\n\n\n\n<p>Sample: 035E9CC2FFC4D60581CA975FF73CD92FC93C0CDFCE57D3F7368781E95B907FBE<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I have always looked at my reverse engineering adventures as a way to become a better programmer. What I couldn&#8217;t understand from MSDN, or example code snippets I could almost certainly understand at the basic assembly level. Sometimes though, when &hellip; <a href=\"https:\/\/www.hexacorn.com\/blog\/2019\/08\/23\/sitting-on-the-lolbins-4\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[13,56,64,59],"tags":[],"_links":{"self":[{"href":"https:\/\/www.hexacorn.com\/blog\/wp-json\/wp\/v2\/posts\/6689"}],"collection":[{"href":"https:\/\/www.hexacorn.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hexacorn.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hexacorn.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hexacorn.com\/blog\/wp-json\/wp\/v2\/comments?post=6689"}],"version-history":[{"count":3,"href":"https:\/\/www.hexacorn.com\/blog\/wp-json\/wp\/v2\/posts\/6689\/revisions"}],"predecessor-version":[{"id":6692,"href":"https:\/\/www.hexacorn.com\/blog\/wp-json\/wp\/v2\/posts\/6689\/revisions\/6692"}],"wp:attachment":[{"href":"https:\/\/www.hexacorn.com\/blog\/wp-json\/wp\/v2\/media?parent=6689"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hexacorn.com\/blog\/wp-json\/wp\/v2\/categories?post=6689"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hexacorn.com\/blog\/wp-json\/wp\/v2\/tags?post=6689"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}