浙江财经大学
信息管理与工程学院

C#软件破解实战(二)-爆破

本文由 Ocrosoft 于 2016-04-29 14:39:16 发表

上一篇进行了注册机的编写,再提一句,注册码还有追码的方式,一般不用在能反编译的C#程序上,追码一般使用OD。

这一次的实战对象还是一个AOA评测软件:”AOA 10 评测软件个人版”,由浙师大制作(好像是,也有说是杭电的),这次破解个人版,服务器版和学生版不适用。

由于自带评分,软件比上一个复杂,所以软件的自我保护做的很好,注册方法是输入注册码,发送注册码到服务器,然后服务器返回一个注册号,最后验证注册号是否正确。

一开始的思路是爆破验证,发现会出问题,提示非法。所以换了一个思路:

软件提供了一个试用功能(直接关闭注册界面),这是一个突破口,具体看步骤。

1.Reflector打开EXE程序,如图,能看见三个特殊的模块:主窗口,注册窗口,注册模块。

1

2.打开FormReg模块,查看button3的点击事件,发现他是根据注册码来区分教师端,学生端,个人版的。

其中,学生端是限时的,注册后直接使用;个人版会写入注册表,然后还有重启验证,超级烦人,不改了。。。

1-1

3.查看FormMain的代码,发现有一个很关键的bool类型的变量:shiyongFlag(真是没话说了。。。),看起来好像是判断是不是试用的标记。考虑一下,试用应该是在FormReg被关掉(Dispose)之前或之时被改成表示试用的状态了(看代码,True表示试用)。

1-2

4.打开FormReg的Disposed()一看,果真是在结束的时候把shiyongFlag变成True,那么我们直接把shiyongFlag改成False,这样进去的时候就是非试用状态了,至于三种版本,进去会是哪个,看一下代码,会发现,是个人版。

1-3

4.1.决定了修改的内容,打开神器:Reflexil,下面看见他把1放入了栈,然后取出1赋值给shiyongFlag。那么我们把1改成0,shiyongFlag就是False了。

1-4

5.保存,运行一下试试:直接关闭注册窗口。OK,没有提示“这是试用版”什么的了。再检验一下功能。单选题可用,word等所有题目都能用。

1-5

6.到这里其实就可以结束了,因为已经可以用了。但—是!看到注册界面,不提示一下“注册成功”怎么开心?!而且里面的模拟考试不能用,这个很遗憾,所以怎么能这样就结束呢!

7.那么这次就到这里了…咳咳,放到下一篇好了…不过附件里的补丁已经搞定了上面讲的了。

附件:

https://pan.baidu.com/s/1i4O08zr 密码: bi2f

欢迎转载,请保留出处与链接。Ocrosoft » C#软件破解实战(二)-爆破

点赞 (1)or拍砖 (1)

评论 2

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #1

    大神,求将破解版的发给我,上面的链接失效了
    1424618072@qq.com

    waitmell2个月前 (03-17)回复
    • 链接已经改了,现在的新版能不能用不确定。

      Ocrosoft2个月前 (03-19)回复