MFC之暴力破解2

         大约一年半载以前,我写了篇《MFC之暴力破解》博文,当时主要的目的是纯技术上的兴趣,刚好拿了一个叫SIMCAP的软件来练手,在接下来的时间里,没想到有很多人问我有没有破解最新的版本,主要是没有时间弄这个哦。

  上个周,“等待花开MM”也来询问这件事,哎,看来对这个软件的免费版本需求还是有的,木有办法,就牺牲一个国庆节咯,把SIMCA-13.0 Demo版本给破解了。(感谢“等待花开MM”提供该软件的原始样本。)

=====================================================================

     废话不多说,下面正式进入主题:

     这个软件的13.0版本和上次11.5版本需要破解的地方仍然没有变,如下:

1. 免费试用时间只有1个月

2. 右键菜单“Save Plot As ...”被禁用

3. 右键菜单Save List As ...或者 Copy Ctrl+C 被禁用

4. 背景图片中含有”Demo”字样水印版权信息


===========1.安装=================

安装的时候按下面选项安装:


===========2.运行=================







=============3.爆破=================================

      这个版本功能虽然和上次一是样的,但是界面是有很大改进的,采用了和office2007一样的Ribbon界面布局,很显然图片菜单的视觉效果远比下拉文字菜单更受欢迎。

      另外就是它的软件注册认证方式已经完全不一样了,各种形式的注册号检查,这几天被折腾的满满的都是泪啊,检查了win7检查XP,检查了XP检查虚拟机,完了还要检查网络是否畅通,以便发email注册,注册号的类型还不能错乱,看看吧:

       ".$MODDE",".$SIMCAP+",".$SQM+",".$SQM",".$SQP+",".$SQP",

       ".$EZinfo",".$FS",".$MLINK",".$SIMCA",...

      这么多的产品类型,数都数不过来,一开始在win7下连Demo版都运行不了,后来才发现这个版本不认识中文路径的文件,保存一次崩溃一次,打开一次崩溃一次,我都快崩溃了,木有办法,又折腾了一天,在win7上装了个WinXP的虚拟机,安装后直接弹出对话框:


哎,当时那个心情啊,拔凉拔凉的,连虚拟机它都能检测出来,尼玛是安了心的不让哥逆向工程了,好吧,就只能从这个地方入手了,先不要关闭这个对话框,在虚拟机上打开ollydbg,然后附加这个进程,然后就是逐个语句的运行和下断点,具体的无聊过程就不说了,首先要找到检查日期的对话框代码,截图如下:



关于软件的注册时间和demo水印背景图片存放的文件路径为:

Win7:        C:\Users\All Users\Umetrics\SIMCA\13.0\TimeKey.txt

                 C:\Users\user\AppData\Roaming\Umetrics\SIMCA\13.0\dd.dll


WinXP:     C:\Documents and Settings\All Users\Application Data\Umetrics\SIMCA\13.0\TimeKey.txt
                 C:\Documents and Settings\user\Application Data\Umetrics\SIMCA\13.0\dd.dll

有兴趣的话可以去研究研究,下面是时间转换的代码:

//
//  test.cpp
//
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>

int main( void )
{
	struct tm newtime;
	__time64_t long_time;
	errno_t err;
	long_time = 0x56343BC6; //2015-10-31 11:55:50 AM

//	char time_encode[] = ",.%*%(.$*$"; //"1387853979" = 0x52B8F89B = 2013-12-24 10:59:39 AM
	char time_encode[] = ",))),/%,*,"; //"1444128171" = 0x5613A5AB = 2015-10-06 06:42:51 PM
	char time_decode[11] = {0};
	int len = sizeof(time_encode) / sizeof(char);

	for(int i = 0; i < len - 1; i++)
	{
		time_decode[i] = time_encode[i] ^ 0x1D; //秘钥0x1D ???
	}

	int num = ::atoi(time_decode);
	printf("time_decode = %s;\nnum = 0x%X\n", time_decode, num);
	
	long_time = num;
	err = _localtime64_s( &newtime, &long_time );
	if(err){printf("Invalid argument to _localtime64_s.");return 0;}

	strftime(str_time,80,"%A, %B %d, %Y\n%Y-%m-%d %I:%M:%S\n",&newtime);
	printf("%s\n",str_time);
	
	return 1;
}







        不要问我怎么找着那些地方的,也不要问我为什么要改成这样,那些回忆都是满满的负能量。

=========4. 重新运行====================

        照着上面的4幅图片修改4个对应的地方,千万要注意这4个地方是在哪个模块的领空,然后利用ollydbg的右键菜单,将修改后的文件保存好,再次提醒,保存完了后,再重新用ollydbg或Ultraedit打开检查一下,确保改正确了没有。有的童鞋做完题就交卷,从不带检查的。

        到此处为止,就算是爆破完毕了,把刚才保存的"simca.exe"和"SIMCAutlwin.dll"这两个文件,覆盖到你的安装目录下面,我的安装目录是C:\Program Files (x86)\Umetrics\SIMCA 13.0\Program,然后双击"simca.exe"运行,如果一切顺利的话,你讲会看到下面爽心悦目的画面:



========5.结束语=================

1. 网盘路径:http://pan.baidu.com/s/1E2IFs

2. 该美美的睡上一觉了睡觉

                                                  

                                                                                          ------------过客

                                                                                          ------------2015.10.07凌晨3点于深圳福田



  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值