破解一下学校的微机练习软件

1305 字
4 分钟

破解一下学校的微机练习软件

发布于

前言

如题,这次我来破解一下学校的微机练习软件。众所周知,我的逆向技术帖主要面向macOS和Linux,Windows逆向接触比较少,这次也是第一次破解Windows软件。因此技术方面的问题还请论坛的大佬指点。

分析

说句没用的,学校的微机练习软件是用来练习微机中考的(我们这个省有)。这个软件是给中考微机出题的中标公司开发的,寒假学校让我们购买使用,30块钱。注册方式是购买注册码。在注册购买之前可以试用,每个题库只能做第一套试卷,如果点后面的会出现提示框,如图 仅能答第一套题 除此之外,如果想使用软件的其他功能,例如随机抽取试卷,也需要注册码,如图 不能随机抽卷但是这个软件注册过程比较复杂,需要先填写注册码,再到微信小程序中验证。 注册因此我不在注册过程中花时间分析破解,而是从弹窗弹出的地方入手,绕过判断是否注册。

逆向

这次我选择的反编译工具是x64dbg(实际上是x32dbg),爱盘里有。先打开工具,拖入程序分析。右键搜索>所有模块>字符串,查找所有字符串,搜索关键词“注册”,找到如下几个目标(红框): 搜索关键词咱们随便点开一个分析,双击跳转到“尚未注册,仅能答第一套题”的位置,再往上移动几行,键盘按G,生成流程图: 流程图 很明显可以看出此处是个判断流程,并且绿色为验证成功分支,红色为失败分支。通过调试,再次验证了我的猜测(调试过程略)。把鼠标放到判断指令jle上,键盘按G跳回汇编,按空格将jle改成jmp,回车。如图: 汇编我们将搜索关键词找到的剩下几个目标也一一打开,发现判断流程全部一模一样,同上方法都把jle改成jmp。再次按下F9运行,在未注册的情况下,所有功能正常使用,弹窗消失,成功破解。如图: 成功

成品生成

Ctrl+P补丁,选择修补文件,生成.exe文件,替换程序目录中的即可。