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

导航菜单

爆破之路见水印

废话不多说,直奔主题。今天要破解的软件是我自己以前制作和加密的,完美支持XP SP3与Vista,照片存储为图像质量较好压缩比例较大的JPG格式的拍照软件。

先来拍一下,看看效果,照片加了水印(包括作者信息和拍照时间)。我的爆破方向也由水印确定。大家知道,要获得当前时间,会利用一些函数,我们可以对函数下断,这个程序就用了GetLocalTime这个函数。废话不多说,动手吧。

一、脱壳

这个软件的壳是UPX 0.9.6 - 1.02/1.05 - 1.24 ->Marus&Lazlo,这个壳很怪,我用ESP定律来脱,倒是能正常运行,可是下不了断,而用资源修改工具像Resorator修改后壳便消失了,而且还能下函数断点。我是初学,如果老鸟知道还请不吝赐教。修改资源后载入PEID,DELPHI编写的。

E9TJGBT@0O8P_HM7]J%]`75.jpg

二、对函数下断查看调用

将修改过的程序载入Ollyice,右键选择查找一当前模块中的名称(标签),找到KERNEL32.GetLocalTime一行,右键选择在每个参考上设置断点。程序设下了三个断点,现在按F9运行程序,单击F8,程序自动停在0040ADE4处,代码我就不贴出来了有需要的可以来找我要。

在0040DDC处(即这段类似函数功能的头部)有两处CALL调用,经过我的测试,第一个CALL没用处,右击此处,选择转到-CALL来自005086D7。

00586CE处进行比较,若未注册则继续,否则在00506D5处跳过,知道了原理,我们将00508D5处的JE改为JMP,保存一下,再运行程序,作者信息还在,但烦人的时间已经没了。

那么作者信息又在哪呢?在00506D5处上下翻翻,发现可以的地方。

00508744处有一远跳,既然这样,将jl改为JMP试一下,右键复制到可执行文件,保存修改,在运行看看,哈哈,烦人的水印全没了。

三、修改“未注册版本”

这个修改很简单,在第一步时可以顺便修改下MYLANG资源,修改后保存即可,我稍稍改了下,不过软件好用就成,追求些表面文章也没啥必要。

总结一下,本次破解主要是依靠GetLocalTime函数,多少也算个思路吧,至于注册模块我没有分析,但爆破不太容易。另外,通过E盾,我们可以知道软件是现在C盘生成一个名为sita.bmp的文件,然后加水印并转换为压缩比高的JPG文件。文章写到这里就结束了,危险漫步与你的黑客生涯同在,还请大家多多支持!

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