探索黑客技术攻防,实战研究与安全创新

导航菜单

简简单单破解“文件夹加密王”

年要过完了,最近工作也比较轻松,也已经好久都没有碰黑客了。唉,感觉连自己的技术也变得越来越菜了,不由得去网上找了东西看看,结果看到了一个给文件夹加密的东西,叫“文件夹加密王”,我们把这个程序放在目标文件夹下,运行后就可以给该文件夹加密了,当然也可以选择给其它的文件夹加密。

我们先来试试,随便新建一个文本文档,内容就写个Monster吧,来看看加密后的效果,选择“加密当前文件夹”,输入密码后,点击“加密”,就会提示我们“加密成功”,此时就会发现该文件下原来的文件全部消失了,并且多出了两个文件,接下来我们就使用OD分析一下吧!

QQ截图20170215164713.png

我们直接来分析解密过程,打开OD后加载该程序,就会看到提示信息,这说明程序很可能被加了壳(一般来说是个很弱的压缩壳),我们点“否”后就可以看到如下的代码:


看样子好像是个Aspack壳,也不用查了,使用F8跟踪,当过了pushad这句的时候,我们看到在OD右侧的esp寄存器变成高亮了,然后执行“hr esp”命令给esp寄存器所指的值下一个硬件访问断点,接着按F9让程序在OD中运行,OD就会被中断在了以下位置处:


很明显这就是一个Aspack壳了,一直按F8跟踪,第一句的popad用来和前面的pushad配对,第二句就会跳到005723BA,再按一下F8就来到了最后的那个retn处,从这里就会返回到程序的OEP,看这里的代码基本上可以断定程序是使用VC6编写的,在这里我们点击右键并选择“Dump debugged process”,就会弹出一个窗口,对于Aspack壳就什么也不用改了,直接点“Dump”保存一下就可以脱壳完成了,连修复都可以免去了,但是因为我们过会儿还要使用这个文件,所以最好保存在刚才的那个目录下。

重新使用OD加载脱壳后的程序,按F9让它运行起来,输入一个错误的密码“aaaaaaaa”(我加密时设置的密码为“monster”),按“解密”后就会弹出一个对话框,提示说“密码错误”,既然这样的话,那我们就执行“BP MessageBoxA”命令给对话框下个断点,然后再来重复一下刚才的操作,当按下“解密”按钮时,OD就会被断在MessageBoxA函数处,再按Alt+F9让OD返回程序领空,就可以看到如下的代码:


在004C3764这个call里提示了密码错误,那我们再来看看输入正确密码时的效果,一直往上看,就会看到一个“push ebp”,在这句上按F2下断点,当我们输入正确的密码时,按下“解密”按钮就会停在这句上面了,然后再按F8一步步跟踪,当执行到004C3748 . E833E5FFFF callundumped.004C1C80时,就会弹出一个解密成功的窗口。

它就在刚才那个call的上面,而它附近又没有一个条件跳转语句,不过没关系,我们再来

一次,当遇到这一句时按F7跟进来看,然后再按F8,直到看到代码:

在004C1DDC执行到004C1DDC这个call的时候我们注意观察寄存器窗口,结果看到了我们输入的密码和一串加密的字符串,这个就是正确密码的MD5值了,应该说,如果我们想把别人的加密密码破解出来还是不大容易的,这就取决于我们能否破解出这个MD5值了。

不过我们可以看到004C1DE3这句是一个条件跳转语句,只要把jnz改成jmp就可以破解成功,这样不管我们输入的密码是否是错误的都会解密目标文件夹。在这句代码上双击鼠标进行汇编修改,修改完成后点鼠标右键选择“复制到可执行文件”一“所有修改”,然后在弹出的窗口中再点右键,选择“保存文件”,这样这个“加密王”就被简单的破解了。

本文内容所提及均为本地测试或经过目标授权同意,旨在提供教育和研究信息,内容已去除关键敏感信息和代码,以防止被恶意利用。文章内提及的漏洞均已修复,作者不鼓励或支持任何形式的非法破解行为。