需求场景:
之前弄了一个隐藏+加密保护文件夹的bat脚本,解密时需要密码,为了安全和方便使用把脚本通过bat to exe软件编译成了exe的程序文件。但是密码忘了之后就很尴尬了,无法通过查看exe获取到加密密码,那么问题来了,能不能把exe反编译还原到bat文件呢?一般情况下是可以的。
这里值得注意的是,其实我们用到的bat编译成exe工具,大部分都是一种自解压文件而已,类似于winrar利用自解压制作bat封装原理一样,不过exe的壳可能比较坚硬,比如大嘴这里使用的bat to exe工具,当然我们可以通过运行exe文件后执行的情况来判断是否符合这里的案例,即运行exe后,和直接执行bat文件时是一样的,都是在cmd的窗口下执行了批处理命令;
♥如何让已经编译的exe还原到bat文件
事实上,我们知道了类似于bat to exe工具的编译工具只是一种自解压,其执行的还是bat文件,那么问题来了,其在执行的时候是否有缓存文件如生成临时文件呢,找一下不就晓得了;
经过一番波折,真的找到了,正是放在了当前用户的宿主目录下的Local Setting\temp目录下。
比如我的用户是administrator,则文件放在c:\users\administrator\Local Setting\temp目录下面:
当然,想要找到这个bat文件,需要exe文件是运行的状态,如下我打开了这个exe文件:
然后我们在temp目录中找到与此相关的bat临时文件:
(由于temp目录中的临时文件很多,我们可以先放心的清空目录中的文件,再执行exe文件,方便查找)
这里我没有清空,直接找,首先我按照类型来排列,发现没有bat的文件,然后我按照修改日期排列,发现刚刚有个新的目录创建“74E.tmp”;
没错这是一个目录,打开后果然有一个bat文件750.bat,那么到底是不是呢,打开看一下就晓得了,果然是编译前的bat文件,大嘴从中找到了想要的密码哦。
当然找的时候需要耐心一点,希望你能找到哦,复制出来就可以慢慢研究咯。
♥扩展:Windows7 拒绝访问快捷目录Local settings的打开方法:
(好的今天就分享到这里,如果你有高见或好的分享,记得留言哦!)
第一