【新人】【多图】破解某远古时期的文件夹加密软件
(编辑:jimmy 日期: 2025/3/1 浏览:3 次 )
关于破解文件夹的加密在此:【新人】破解被文件夹加密用较高强度加密后的文件夹
大家好啊我是一枚萌新。这是本萌新的第一次发帖,也大概是第一次成功逆向一个真正的软件。
记得说吾爱破解好像是个团结友爱的大家庭,
据说如果只吃瓜不做些啥的话似乎是要遭殃的。(不存在的
于是我多烂的帖子也要给发出来以示友好😊
一个故事
注:故事中的图片为节目效果(因为去找原来的文件比较麻烦),但是故事是真的(虽然真不真也没啥用)。
一回我在学校机房某机子的 C 盘下发现了这么个玩意,


我个人不是特别喜欢这类玩意,于是我就想把这里面的东西给扒出来。
随便一个软件的文件管理器,对着这里往下翻就是加密的文件了。这里用的是 AntiSpy。


感觉这玩意可能连这类软件都用不上就能扒出来。
于是我们就成功的发现了这位大意的(数据删除)私藏的文件hhhhh

当然这还满足不了我的性欲(大雾),于是我打算把这个软件也整一整。


这就是这个软件的样子了,看来还是个十来年前的软件,所以这位(数据删除)其实还是个怀旧党?
如果你去它官网上逛逛,你会发现这软件的最新版也已是好几年前的事了。
既然我是看到了这个版本我就对这个版本下手吧。让我帮这位(数据删除)破解一下软件。
破解软件
1.脱壳
第一步当然是查壳啦!

即然是这个壳那没啥好说了的吧。

假装无壳(划掉
2.破解
首先我们找到这个软件未注册的两个限制:


然后去注册的地方瞧瞧 |vO)

我们尝试着注册一下……

什么?难道说我的人品爆表了?赶紧重启下试试(手动滑稽

果然是坑我的……
接下来上 OllyDbg。
将已脱壳的程序载入 OD,先查找字符串!

然鹅似乎没有与注册相关的信息呐……
lame我们根据第一个的弹窗,下断 MessageBox。

然后我们尝试触发加密强度设置那的弹窗,命中断点

然后跟随调用的堆栈,来到了这个地方

在之后多次无意的测试中,会发现所有弹窗都会调用到这里。
所以可以认为这是一整个弹窗函数。

于是我们取消 MessageBox 的断点,转而对这个函数头下断。
当然这也可能是 Delphi 内置函数就是了……萌新不懂……
接下来我们跟随堆栈,找到调用弹窗的位置,

那个被选中的 call 就是我们刚才的那个对话框函数。
观察这段代码,发现有两个跳转可以跳过这个弹窗。

(我怀疑没人看的懂我画的箭头……)

于是我们在函数头下断,选择最高加密后命中,单步。

来到第一个跳转,跳转没有执行,先不管它。

来到下一个,它又灰了,它就要到达坏消息了!我们不能允许。


程序跑起来,没有弹窗强度也没有变回普通,此时已经可以使用最高加密了。

当然它还是会显示没注册,并且如果你不小心又点到强度设置它就又不给你用了QAQ
于是我们再换成普通或者较高试试,同样命中断点,同样第一个跳转没能执行,但是在第二个跳转出现了歧路。
(我偷懒用的还是上面那张图)
可以推断第二个跳转是判断选择了哪种加密强度的跳转,那么第一个很可能就是判断有没有注册的!
(还是之前的图……)
在第一个跳转前有一个 call,我们跟进去看看。

(注:图中仅为函数全貌的约 1/4)
天哪!好长的一段函数。这要分析会累死的🤮
但是不要方,我们先不分析这函数,先在函数头上下断。
然后我们去程序的随便几个地方点几下,有好几个地方会命中断点。



仔细观察这几段代码,会发现一些共同点。我们把最主要的这段给列出来:
[Asm] 纯文本查看 复制代码
call 00568108test al,alje short 00XXXXXX; or jnz
如果我们在这几个条件跳转那里做些手脚,会发现那些显示注册信息的地方都成了已注册的样子。例如这个:

我们再观察下代码。注意一下 test al,al 这条代码,与后面的条件转移指令结合就是根据 eax 的最后俩位组成的数是否为 0 而选择是否跳转。
所以我们只要让函数调用完后 al 的值始终不为 0 就可以使得所有未注册的地方变成已注册。
那么我们只要在函数的结尾令 al 等于非 0 值就可以了!
于是我们在函数的结尾找个合适的地方修改下代码。

注意那第一个 retn 是假的(姑且这么算把……),它上面有个 push 到了 005683FB,所以它会 retn 到那两个 jmp 的下面一条。
这条代码刚好是给 eax 赋值的,那么我们把这条代码给它稍微改一下2333

复制到可执行文件,保存后执行,可以看到奇迹发生了!

后话
到此破解基本上已经结束了,虽然急救中心那边还是会有点问题。
关于急救中心看看我之后会不会继续更咯,毕竟那玩意只能急救普通程度的加密……
那我还不如直接用 AntiSpy 把文件强扒出来呢!
这软件的破解似乎也很早以前就有过了(新版好像都有了),这里再拿出来大概就是本萌新练习练习了……
估计算是个比较适合新手练习的软件?
还有一些地方自己能力不足就研究不出来了,那就只能请大家帮忙解析一下了……
这是本萌新第一次破解真正的软件(虽然很老旧),也是第一次发帖,
难免会有一些错误的地方,也请见谅……

下一篇:Windows逆向学习笔记——破解Source Insight 4